AUTOMATED TEST SYSTEM DEVELOPMENT FROM SCRATCH: THE MAIN PROBLEMS - - PowerPoint PPT Presentation

automated test system development from scratch the main
SMART_READER_LITE
LIVE PREVIEW

AUTOMATED TEST SYSTEM DEVELOPMENT FROM SCRATCH: THE MAIN PROBLEMS - - PowerPoint PPT Presentation

AUTOMATED TEST SYSTEM DEVELOPMENT FROM SCRATCH: THE MAIN PROBLEMS AND THEIR SOLUTIONS Lilia Sapurina ABOUT ME 2 years in huge company with delivered QA processes: automated UI testing, CI 4 month in small company without any automated QA


slide-1
SLIDE 1

AUTOMATED TEST SYSTEM DEVELOPMENT FROM SCRATCH: THE MAIN PROBLEMS AND THEIR SOLUTIONS

Lilia Sapurina

slide-2
SLIDE 2

2 years in huge company with delivered QA processes: automated UI testing, CI 4 month in small company without any automated QA processes: development CI processes, automatisation

ABOUT ME

slide-3
SLIDE 3

Company with processes Company without processes

WHO IS AN AUTOMATION ENGINEER?

slide-4
SLIDE 4

Syntax analysis Documentation Unit tests Rest API autotests UI autotests Autotest code Reports

MAIN STEPS

slide-5
SLIDE 5

SYNTAX ANALYSIS

slide-6
SLIDE 6

Eliminates small typos Creates universal code Simplifies documentation Simplifies testing

SYNTAX ANALYSIS: ADVANTAGES

slide-7
SLIDE 7

Not enough time to analyse the rules A large number of invalid code Not enough time to fix

SYNTAX ANALYSIS: PROBLEMS

slide-8
SLIDE 8

Selection of basic rules Rules for reconciliation - non-critical errors Validated new code

SYNTAX ANALYSIS: SOLUTION

slide-9
SLIDE 9

SonarQube - too complex Tools in the native language (e.x. Javascript - ESLint, php - PHPLint) Plugins/Special settings for IDE

SYNTAX ANALYSIS: TOOLS

slide-10
SLIDE 10

DOCUMENTATION

slide-11
SLIDE 11

Improve team communication Full use of existing functionality Getting rid of duplicates Simplify refactoring Simplify testing (REST API, unit tests, UI Autotests)

DOCUMENTATION: ADVANTAGES

slide-12
SLIDE 12

Not enough time to produce detailed comments in new methods A large number of non- documented code

DOCUMENTATION: PROBLEMS

slide-13
SLIDE 13

Prioritisation: REST API methods, methods for unit-tests, helpers Add rules to syntax analysis configuration file

DOCUMENTATION: SOLUTION

slide-14
SLIDE 14

Tools in the native language (JSDoc, JavaDoc, PHPDocumentor, EDoc) APIDoc

DOCUMENTATION: TOOLS

slide-15
SLIDE 15

APIDOC Swagger Description In code In Swagger Editor Usage REST API, Autotest (Rest, UI), helpers REST API, Autotest (REST) Language Simple comments Special layout

WHY APIDOC?

slide-16
SLIDE 16

DOCUMENTATION: EXAMPLE

slide-17
SLIDE 17

UNIT TESTS

slide-18
SLIDE 18

Quick bug fix Can be used like documentation Simplified refactoring

UNIT TESTS: ADVANTAGES

slide-19
SLIDE 19

Not enough time to develop tests for old functionality New frameworks A large number of unit tests interfere with the development of the project

UNIT TESTS: PROBLEMS

slide-20
SLIDE 20

Partial implementation: minimal test coverage Remote testing infrastructure development Instructions and examples development Tasks for new applicants

UNIT TESTS: SOLUTION

slide-21
SLIDE 21

AngularJs: Jasmine + PhantomJS PHP: PHPUnit Erlang: EUnit

UNIT TESTS: TOOLS

slide-22
SLIDE 22

AUTOTEST: REST API

slide-23
SLIDE 23

Continuous monitoring of the system functioning Quick bug fix Detecting bug causes Vulnerability scanner

AUTOTEST (REST API): ADVANTAGES

slide-24
SLIDE 24

Wrong test structure Incomprehensible reports Misunderstanding with developers

AUTOTEST (REST API): PROBLEMS

slide-25
SLIDE 25

FIND DEFECT REASON: ALGORITHM

Report Documentation Tester

slide-26
SLIDE 26

Instrumental analysis Parametrisation Resemblance of programming languages

AUTOTEST (REST API): SOLUTION

slide-27
SLIDE 27

Java + Junit Allure ApiDoc

AUTOTEST (REST API): TOOLS

slide-28
SLIDE 28

ADDITIONAL LOGS

slide-29
SLIDE 29

AUTOTEST: UI

slide-30
SLIDE 30

Continuous monitoring of the system functioning Unpredictable bugs search Smoke tests

AUTOTEST (UI): ADVANTAGES

slide-31
SLIDE 31

Constant design changes Functionality changes Testing duration

AUTOTEST (UI): PROBLEMS

slide-32
SLIDE 32

Basic functionality allocation Basic scenarios for sprint Constant run of the simplest and fastest tests Analysis of reports by the testing team

AUTOTEST (UI): SOLUTION

slide-33
SLIDE 33

Protractor + Jasmine Allure ApiDoc Testrail

AUTOTEST (UI): TOOLS

slide-34
SLIDE 34

AUTOTEST CODE

slide-35
SLIDE 35

Syntax analysis Documentation Spelling

Autotest code should provide a good example for developers

AUTOTEST CODE: CHECKS

slide-36
SLIDE 36

REPORTS

slide-37
SLIDE 37

Improve communication between developers and testers Quick bug fix Statistical data

REPORTS: ADVANTAGES

slide-38
SLIDE 38

Variety of tools Uninformative notifications Overextended error analysis

REPORTS: PROBLEMS

slide-39
SLIDE 39

Similar tools Brief review Isolate reports and continuous integration system Variety of reports

REPORTS: SOLUTION

slide-40
SLIDE 40
slide-41
SLIDE 41

FIRST RESULTS (4 MONTHS)

Backend (php) Frontend (AngularJS) Messenger (Erlang) Syntax Analysis 80 % 100 %

  • Unit Tests

40 % 30 % 10 % Autotest 60 API methods (30% coverage) 20 use cases 10 basic smoke test 3-4 tests per week 100% coverage (use cases)

Jenkins builds + Pull Request System + Notifications + Reports + Load Tests

slide-42
SLIDE 42

THANK YOU

slide-43
SLIDE 43

http://2016.secr.ru/program/submitted- presentations/developing-an-automated-front- end-testing-system-with-protractor-framework https://github.com/liliasapurina/testrail-reporter

USEFUL LINKS