How to implement automated testing when requirements change frequently

1. Generally speaking, the following three main conditions can be used to carry out automated testing:

1. Demand changes infrequently

The frequency with which automated test scripts change determines the maintenance cost of automated tests. If the requirements change too frequently, testers need to constantly update the automated test cases according to the changing requirements to adapt to new functions. The maintenance of the script itself is a process of developing code, which requires expansion, modification, debugging, and sometimes adjustments to the framework. If the maintenance cost is higher than the test cost saved by using it, then the automated test loses its value and meaning.

2. The project cycle is long

Since the determination of automated testing requirements requires a certain amount of time for framework design, script development and debugging, and this process itself is a software development process, if the project cycle is relatively tight and there is not enough time to support such a process, then Don't do automated testing.

3. Automation scripts can be reused

The reuse of automated test scripts should be considered from three aspects:
1. Whether there is a big difference between the tested items (such as the difference between the C/S system architecture and the B/S system architecture)
2. The selected Whether the test technology and tools adapt to this difference
3. Whether the testers have the ability to design and develop an automated test framework that adapts to this difference

2. The main problems to be solved by automated testing:

Regression testing requires a lot of manpower/working hours;

Realize testing tasks that cannot be achieved by manual testing;

Deepen the understanding of the business, which will help to find problems in the next iteration;

3. Testers who want to implement automated testing need to have the following abilities:

Familiarity with the system under test, familiarity with the system under test is the minimum requirement for any tester;

At least familiar with the programming language Java or Python, it is better to have a certain coding ability, and the code logic should be clear;

You can learn an automated testing framework based on the code you have mastered, such as Selenium/Appium/Robot Framework/TestNG, etc.;

4. At what stage are automation use cases typically completed?

Generally, the manual test that lags behind the function can supplement the automated use case after the execution of the manual use case is completed or the function is launched.
Automation is not to follow new requirements, but to measure the impact of changing things on things that remain unchanged. You must not do automation work for the sake of automation.

Five. Automated testing classification?

UI automation testing. The value is the smallest, but it is the closest to the real scene of the user, and it is easy to find bugs, but it has the highest implementation cost, and the script success rate is too easily affected by the external environment. Proper UI automation testing is necessary, but it is not necessary to invest too much;

Interface automated testing. The value is centered, and it is more appropriate to cover most of the major interfaces. Testers need to be familiar with the logical relationship of the interface, otherwise the interface test code is easy to miss bugs;

unit test. The value is the largest, but the requirements for testers are relatively high, and it is generally completed by developers.

Generally speaking, UI automation testing can cover a small number of main processes, and interface automation testing can consider covering 100% of the process;

6. In the case of frequent changes in requirements, if you want to implement automated testing:

The compromise method is to conduct automated tests on relatively stable modules and functions in the system first, and perform manual tests on places with large changes. As testers, we should be clear: which requirements have changed, and what impact these changes will have on the testing work. Including whether it will affect the test cases, and if so, which use cases will be affected. When a major change occurs, it is also necessary to clarify whether it has affected the test plan? Clarify how much these changes will affect the progress of the testing work. When you find that most of your use cases are affected and need to be modified, you should report the situation to your superiors as soon as possible. The best way to determine which requirements have changed is through configuration management for requirements tracking. The company's test task allocation is generally divided according to the module. We only need to maintain the requirements tracking of the test line by ourselves. After establishing our own requirements tracking matrix, we can quickly locate the changed parts and manage them through configuration, so we can change your use cases and even plans in time. When it is found that there are many parts affected by the change, the superior should be notified in time to let them understand the situation and make a decision.

Finally, I would like to thank everyone who has read my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, you can take it away if you need it:


              [The following is the most complete software test engineer learning knowledge architecture system diagram in 2023 that I compiled]


1. From entry to mastery of Python programming

2. Interface automation project actual combat

3. Actual Combat of Web Automation Project


4. Actual Combat of App Automation Project

5. Resume of first-tier manufacturers


6. Test and develop DevOps system

7. Commonly used automated testing tools


Eight, JMeter performance test

9. Summary (little surprise at the end)

life is long so add oil. Every effort will not be let down, as long as you persevere, there will be rewards in the end. Cherish your time and pursue your dreams. Don't forget the original intention, forge ahead. Your future is in your hands!

Life is short, time is precious, we cannot predict what will happen in the future, but we can grasp the present moment. Cherish every day and work hard to make yourself stronger and better. Firm belief, persistent pursuit, success will eventually belong to you!

Only by constantly challenging yourself can you constantly surpass yourself. Persist in pursuing your dreams and move forward bravely, and you will find that the process of struggle is so beautiful and worthwhile. Believe in yourself, you can do it! 

 

Guess you like

Origin blog.csdn.net/nhb687096/article/details/132187404