We are approaching the launch of our new course: “Automator in testing” . Today, here is the last open lesson, then an open door and a fight.
At the last two such events more than once asked a question about the connection of Agile and automation. Here, I found in the bins not bad and not very big material, which we share with you. ')
Go.
Software testing, following the principles of agile development, is called Agile Testing. Agile is an iterative development methodology in which the requirements are developed in the course of cooperation between the client and self-organizing teams and flexible coordination with the needs of the client. Traditional Testing (Cascade Model) vs.Agile Testing
Traditional Testing
It follows a downward approach: the completion of one phase leads to the beginning of the next, which makes it difficult to implement changes.
The project manager is the manager.
Customer engagement is required at the initial stages of matching the requirements.
Agile Testing
Each team member is responsible in accordance with their role and work.
A fairly flexible approach that allows you to make changes at almost any stage.
Customer requirements are required throughout development.
Best Practices in Agile Testing
Automation unit testing.
Development through testing.
Automation of regression testing.
Research Testing.
How Agile is related to Testing
Testing promotes the project.
Testing is NOT a phase.
All are engaged in testing.
Reduce feedback latency — start testing as soon as possible and more often.
Testing reflects expectations.
Keep your code clean and fix bugs quickly.
Get rid of excess documentation.
Testing is part of the “Readiness Criteria” (“DoD”, Definition of Done).
From “Testing After Development” to “Development Through Testing”.
The formation of Agile Tester-Automator
Provide continuous feedback.
Deliver value to the customer.
Provide face-to-face communications.
Do not complicate.
Implement improvements.
React to changes.
Engage in self-organization.
Focus on people.
What is wrong with Manual Testing?
Manual testing of all areas and negative scenarios - requires a lot of time and money.
Sites with multiple localizations are difficult to test manually.
Manual testing can be boring, and therefore can be a source of errors.
Automation improves quality and boosts team morale.
Automation does not require human intervention. Their launch does not require observation (for example, at night).
Automation accelerates test execution.
Automation increases test coverage.
What test cases should be automated?
Test cases for automation can be selected by the Return On Investment (ROI) criterion.
High-risk test cases - business-critical test cases
Repetitive test cases
Test cases that are too difficult and inconvenient to perform manually
Test cases that require a lot of time.
What test cases should not be automated?
Test cases that have been developed recently and have not yet been manually verified.
Test cases, the requirements for which are constantly changing.
Test cases on an ad-hoc basis.
Benefits of automated testing
Save time.
Speed.
Stability.
Support test suite.
Reusability.
Increased coverage.
Reduced cost.
Career in test automation
Difficulties:
Automation becomes a critical part of the business due to constant changes in software development.
Test automation requires experience in software development as well as knowledge of the basics of testing.
Advantages:
Fast career growth.
Software development for software testing.
Balanced career: gain knowledge in testing and in development.
Good luck and success in testing :)
THE END
We are waiting, as always, for questions, wishes, comments here or at an open lesson , which will be dedicated to a similar topic (well, or at the Open House ).