How mobile apps are automated and exploratory testing



The most important basis in the test design is the test structure of the test pyramid. If you start testing and find bugs close to release, the cost of fixing bugs can be high and the progress of the project can be very uncertain. Therefore, as far as the development stage is concerned, if the tests are layered and tested in different development stages, these problems can be alleviated to a great extent.

The advantages of test stratification are as follows:

1. The cost of testing The development cost of

unit testing is much lower than that of user interface testing. If a defect is found in user interface testing, the cost of fixing the defect is also much higher than the cost of passing unit testing and component testing.
The cost here is not simply the resources and time required by developers to fix the defect, but also the resources and time required by testers to perform regression testing after the defect is fixed, as well as other project costs such as project delays.

2. Test Efficiency

Unit tests can verify very small functions or methods very quickly, with short run times and more timely feedback.

3. Difficulty locating defects After a

unit test fails, the tester can easily know that the specific function or method being tested is incorrect; and if it is a user interface defect, the tester needs to spend more time to investigate and determine the occurrence of the defect. The function module of the problem, and finally further find the functions and methods that need to be repaired.

4. Reflect real business requirements.

Unit testing cannot understand the interaction between system modules from a global perspective, nor can it help users achieve business purposes through a combination of methods; and because the user interface testing describes user usage scenarios from the user's point of view , so it is easier to articulate user behavior and business needs.

5. Closer to the

business UI tests describe the tests at a higher level, so they are closer to the business; unit tests describe the tests at a more specific level, so they are closer to the implementation.

From the perspective of the test pyramid hierarchy, tests at different levels are necessary, and we also need to design tests according to the levels and characteristics of different tests.

In addition, the test pyramid used in the actual test design has more and more detailed layers. Higher-level tests have a higher level of abstraction than lower-level tests, tests take longer to run, and interact with more systems and modules. The feedback cycle is longer and the cost of approaching a defect is higher.

The basic cycle steps of test-driven development TDD for unit and component testing are: 1.
Test failure;
2. Test pass;
3. Refactoring;

When testing and component testing, testers only need to understand and review which scenarios developers cover in unit and component testing, and do not need to complete their implementation.

At the highest level of the testing pyramid is the "exploratory testing" of the app.

1. Exploratory testing is proposed for script testing, but the two are not tit for tat, but complement each other. Exploratory testing, scripted testing and automated testing can be transformed into each other and complement each other.

2. Exploratory testing requires testers to set test goals first, like user journeys, and then plan for a period of time, use heuristic test strategy models, and take different test paths through testers’ creative thinking. Test methods to achieve test objectives.

3. In the execution of exploratory testing, in order to improve the efficiency of exploratory testing and reproduce the problems found, odometry-based test management can be used. Exploratory testing can also be done using the SBTM technique in App testing.

4. For App testing , testers need to test process operations involving multiple pages, such as page jumping and data flow and display between different pages, which cannot be covered in low-level testing.

5. When conducting exploratory testing of apps, choosing to run on real devices can improve the authenticity of the test and deepen the understanding of user usage scenarios, thereby continuously promoting the development and deepening of exploratory testing.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326244256&siteId=291194637