Test Automation Approach in the Agile World Sammy

  • Slides: 23
Download presentation
Test Automation Approach in the Agile World Sammy Kolluru

Test Automation Approach in the Agile World Sammy Kolluru

Why Test Automation? We want to be more efficient tester We want to build

Why Test Automation? We want to be more efficient tester We want to build better software We want to deliver faster @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Becoming better & faster How do you find most defects in a product? Test

Becoming better & faster How do you find most defects in a product? Test How do you make the tests faster and cheaper? Which tools are useful? @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Automation and the manifesto The increasing necessity of test automation in agile projects results

Automation and the manifesto The increasing necessity of test automation in agile projects results directly from the agile manifesto: (. . . ) "Response to changes Over following a plan" (. . . ) (read: "rapid response to changes"!) @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Regression tests: "The greatest challenge in SCRUM" The effort for regression tests grows significantly

Regression tests: "The greatest challenge in SCRUM" The effort for regression tests grows significantly with every iteration in Scrum. Strategies for this are risk-based testing and test automation. Factors for an automation decision are: § Frequency of test execution § Automation capability § Maintenance effort @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Which tests to automate? Myths: "Automated tests find more defects. " “All tests can

Which tests to automate? Myths: "Automated tests find more defects. " “All tests can be automated” "Automated tests make manual testers obsolete. " Criteria for which tests should be automated: § Frequent test execution ( regression tests!) § Impossible or difficult to execute manually (load tests) § Fast test execution (sprints are short!) @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Which tests to automate? Typical regression tests: Functional RT: Smoke tests Main (happy) path

Which tests to automate? Typical regression tests: Functional RT: Smoke tests Main (happy) path High risk assessment Nonfunctional RT: Load/Stress tests Performance tests Stability/ Reliability tests @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Agile testing quadrants and test methods business-facing Session-based testing Functional tests Equivalence classes Story

Agile testing quadrants and test methods business-facing Session-based testing Functional tests Equivalence classes Story tests Boundary values State transistion Examples Status-based test Prototypes Decision tables Simulation Behavior-driven testing Structure-based test Unit tests Interface test Gray box testingtests Component Workflow test Integration tests manual Check the acceptance criteria Exploratory test Scenario tests Defect expectation method Usability tests Heuristic evaluation Acceptance tests Usability lab Pilot run Load profiles Performance Threat scenarios & load tests Failover Endurance test Security tests Stress test "ility" tests Operational testing automated @Sammy. Kolluru | Test Automation Approach technology-facing tools Critiquing the product • The suitable or necessary test methods should be added to the Do. D. Automated & manual Supporting the team • Systematic tests find defects in a reproducible and reliable manner.

What tools are suitable for what? business-facing Session-based testing BDT frameworks (e. g. Functional

What tools are suitable for what? business-facing Session-based testing BDT frameworks (e. g. Functional tests Equivalence classes Cucumber) Story tests (e. g. Limit frameworks values KBT Classification tree Robot Framework, Examples Selenium) Condition-based test Prototypes MBT frameworks Decision tables (e. g. tedeso) Simulation Behavior-driven testing Structure-based test Unit test frameworks Unit tests. Test. NG) Interface (e. g. Junit, test BDT (e. g. Component Gray frameworks box testingtests Rspec) Workflow tests Integration manual Check the acceptance criteria Exploratory test Scenario tests Defect expectation KBT frameworks (e. g. method Usability tests FITnesse, Test. Bench) Heuristic evaluation Acceptance tests Usability lab Pilot run Load profiles Performance & L&P tools (e. g. Jmeter, Threat scenarios Load. Runner) load tests Failover Security test Endurance Security tests frameworks (e. g. Stress test Burp. Suite) "ility" tests Operational testing automated @Sammy. Kolluru | Test Automation Approach technology-facing tools Critiquing the product • The suitable tools and rules for their use should be added to the Do. T. Automated & manual Supporting the team • Depending on test methods different tools are available.

Automation of system tests Data-driven tests Keyworddriven tests Script programming Capture & replay @SAMMYKOLLURU

Automation of system tests Data-driven tests Keyworddriven tests Script programming Capture & replay @SAMMYKOLLURU | TEST AUTOMATION APPROACH Frameworkbased automation

Difference in Maturity- Detail Capture/replay Data-driven Keywords Model-based @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Difference in Maturity- Detail Capture/replay Data-driven Keywords Model-based @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Efficient & robust automation. . . Characteristics of immature automations: § High maintenance effort

Efficient & robust automation. . . Characteristics of immature automations: § High maintenance effort after changes to the SUT § Long duration for creating new automated tests Best practices can prevent this: § Keywords & Data-driven testing § Control over the test environment § Object detection based on unique identifiers @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Nonstop test at the task level User Story READY & divided into tasks Impl.

Nonstop test at the task level User Story READY & divided into tasks Impl. unit test f. other task DONE or Impl. unit test (Test First) Rev. syst. test Coding until unit tests OK Autom. of system tests Bug fix & unit tests Spec. of system tests Rev. of unit tests Autom. of system tests or Execution of system tests Explorat. tests or Developer Tester Coordinated test strategy! System tests for other task @SAMMYKOLLURU | TEST AUTOMATION APPROACH Rev. unit t. f. other task Retest

Automation of all levels Beginning Planung & Planning & control Steuerung test plan, test

Automation of all levels Beginning Planung & Planning & control Steuerung test plan, test schedules Analysis & design test specifications, traces for requirements Implementation & execution test specifications, test scripts, test environment, test logs, incident reports Evaluating exit criteria & reporting test (summary) report Test Closure Activities versioning/archive, CIP measures End Figures for a typical system test (“TMAP Next”, chapt. 11. 2) @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Use of tools at all levels Beginning Test Planung & Planning & control Management

Use of tools at all levels Beginning Test Planung & Planning & control Management Steuerung System Analysis & design MBT tools Test Sequencer Implementation & execution Test Roboter Evaluating exit criteria Defect Management & System reporting Test Closure Activities Version Management System End @SAMMYKOLLURU | TEST AUTOMATION APPROACH test plan, test schedules test specifications, traces for requirements test specifications, test scripts, test environment, test logs, incident reports test (summary) report versioning/archive, CIP measures

Positive effects of the use of tools § Automation § § Acceleration and homogenization

Positive effects of the use of tools § Automation § § Acceleration and homogenization of work steps Relief and motivation of employees § Functionality § Facilitate activities that cannot be executed manually § Reminder § § Clear, complete documentation Archiving and reproducibility § Communication § § § Uniqueness Completeness Dispersion @SAMMYKOLLURU | TEST AUTOMATION APPROACH

How do you obtain suitable tools? The project-oriented way Impediment Mainten. (by the Scrum

How do you obtain suitable tools? The project-oriented way Impediment Mainten. (by the Scrum Master? ) Proposal for solution with a tool Integration in the team charter Criteria for use Experiment and decision @SAMMYKOLLURU | TEST AUTOMATION APPROACH

General criteria Scalability § Number of users, number and size of artefacts Portability §

General criteria Scalability § Number of users, number and size of artefacts Portability § Support of several platforms and locations Operability § User interface, user guidance and documentation Maintainability § Support for changes in artefacts and tool updates Support § Hotline, support materials, training materials, forums, update frequency Integratability § Compatibility with technical platform, interfaces, adaptability, API @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Criteria for (test) management tools Is it actually necessary to have one or might

Criteria for (test) management tools Is it actually necessary to have one or might the agile PM tool be used? Backlog • Traceability between releases, epics, stories and tests • Effort estimate Task board • Status and owner of tests Artefacts • Managing test cases and results • (integration with) version management Burndown • Visualization of the test progress @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Criteria for defect management tools Backlog § Traceability between stories, tests and defects Task

Criteria for defect management tools Backlog § Traceability between stories, tests and defects Task board § Status and stakeholder of defects Artefacts § "Rich" defects: attachments, stack traces Analyses § Error progression and distribution Role model § Scrum and/or tester roles § Notification model @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Criteria for test automation tools Points of control and observation • GUI, API, database

Criteria for test automation tools Points of control and observation • GUI, API, database • Dealing with proprietary interfaces Programming • Capture & Replay • Programming language (proprietary, Java, . NET) • Libraries Process • Distributed tests, scheduler • Unattended testing, integration in Continuous Build, recovery concept Logging • Log files, Screen recording/capturing @SAMMYKOLLURU | TEST AUTOMATION APPROACH

Milestones for a successful introduction of tools Agreement § In the Team § For

Milestones for a successful introduction of tools Agreement § In the Team § For Scrum of Scrums: Agreement between the teams § For interfaces: with the affected parties (e. g. Product Owner) Uniformity § Control of tool use in the team charter § Identical installation on all computers within the team § For Scrum of Scrums: Re-use of utilization in the teams Use § Regular monitoring of the usefulness in retrospectives § Planning of practice and training measures § Professional problem handling by the Scrum Master (fallback mechanisms, backups, support channels, collecting know-how) @SAMMYKOLLURU | TEST AUTOMATION APPROACH

THANK YOU for attending today’s session @SAMMYKOLLURU | TEST AUTOMATION APPROACH

THANK YOU for attending today’s session @SAMMYKOLLURU | TEST AUTOMATION APPROACH