Learn what agile testing is in 5 minutes? The difficulty is obvious!

With the popularity of agile development models, more and more testing colleagues have begun agile testing. So what exactly is agile testing? What are the main differences between agile testing and traditional testing? What are the difficulties of agile testing? This article will explain these three issues. Note: This article only explains the core content related to agile testing concepts, and does not involve technical details and actual implementation cases.

agile development

Simply put, agile development is an iterative and step-by-step development method that takes the evolution of user needs as its core. First, prototype the software that users are most concerned about, deliver or put it online, quickly modify it in actual scenarios to make up for the shortcomings in the requirements, and release the version again. Through agile practice, refine the story and provide smaller iterations. This cycle continues until the user (customer) is satisfied. It is suitable for projects with unclear requirements, innovative or need to seize the market. The many Internet applications in our mobile phones are the most typical products bred under the agile development model! Agile development mainly has the following advantages:

  • More emphasis is placed on collaboration, between teams and between clients and teams;
  • High flexibility and quick response to changes in requirements;
  • Customers put forward modification opinions on the results of each iteration, and developers make adjustments and improvements, which greatly reduces the risk of project development in which one-time delivery acceptance is completely rejected by customers;
  • The delivery (launch) of a product requires multiple iterations

As for the specific practical methods of the agile development model, this article will not introduce it in detail. Related articles can be found on Baidu.

Agile testing

Agile testing is the testing process, methods and practices required in agile development methods. Agile testing means continuous testing and continuous feedback, which requires testers to play the role of "user representatives" to ensure that the product meets customer needs. Simply put, agile testing is continuous and timely feedback on software quality issues.

The focus of agile testing is different from traditional testing, mainly including the following points:

  • Reduce the proportion of work such as test planning and test case design

In the agile method, it is no longer required to write dozens of pages of test plans. Instead, in each iteration cycle, a one-page test plan is written to list the test points (including strategies, specific methods, focus scope, etc.) That's it. In agile testing, test cases are directly verified against use cases or user stories. The time saved is used to develop automated test scripts for original functions to serve regression testing. The automated test scripts will replace test cases. (We will focus on it in the difficult chapters of agile testing later)

  • Testers need to pay more attention to exploratory testing, combined interactivity testing and user scenario testing.
  • Increase communication and collaboration with product designers and developers

Due to the short iteration cycle in agile methods, testers start testing as early as possible, including timely review of requirements and development designs, and more importantly, can provide timely and continuous feedback on the quality of software products. Testers must participate in the entire discussion of requirements, product function design, etc., and must discuss face to face and fully.

  • Add the “Product work-through” link to the agile development process

Testers work with product managers and developers to review new features from beginning to end, so that problems can be discovered more intuitively and quickly.

  • Testers need to have strong coding skills

Points in agile testing that require testers to have coding capabilities include:

Basic requirements

Automated testing of original functions (regression testing)

Develop testing tools to improve testing efficiency

High demand

Participate in code review and appropriately assist developers in unit testing

Performance testing of core interfaces

Scan and test the code security of components used in the architecture and R&D students

Difficulties in agile testing

Regression testing is a difficult point that needs to be faced in agile testing. New features will be added in each iteration. A product may go through more than a dozen or even dozens of iterations. The scope of regression testing is constantly increasing. If the cycle of each iteration remains unchanged, then the acceptance testing time left for testers will be will become less and less. Therefore, regression testing relies heavily on automated testing. I suggest that you focus on interface automation, because Internet products developed through agile methods will often change, both in terms of functions and page UI. The investment and return on UI automation testing will be very, very great. low! Note: UI automated testing and interface automated testing will not be discussed here! Of course, there are also some ways to help us improve the efficiency of regression testing, such as:

  • By executing code diff to understand all the places where the code has changed, and then doing code correlation analysis, you can clearly know where to perform regression testing.
  • Regression testing only ensures that there are no problems with the main functional points, while ignoring some details.
  • In the process of continuous testing, testing is carried out as long as there is time, including developers and product designers participating in daily trials and testing.

The following are supporting learning materials. For those who are doing [software testing], it should be the most comprehensive and complete preparation warehouse. This warehouse has also accompanied me through the most difficult journey. I hope it can also help you!

Software testing interview applet

A software test question bank that has been used by millions of people! ! ! Who is who knows! ! ! The most comprehensive interview test mini program on the Internet, you can use your mobile phone to answer questions, take the subway, bus, and roll it up!

Covers the following interview question sections:

1. Basic theory of software testing, 2. web, app, interface function testing, 3. network, 4. database, 5. linux

6. Web, app, interface automation, 7. Performance testing, 8. Programming basics, 9. HR interview questions, 10. Open test questions, 11. Security testing, 12. Computer basics

Information acquisition method:

Guess you like

Origin blog.csdn.net/myh919/article/details/132675935