= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

========= their learning process summary, if there are mistakes please point out in time! Thank you very much! = = = = = = = = = = = =

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Testing process (different)

1. Testers participate in requirement review, interactive review and visual review; Understand requirements and conduct requirements analysis

2. Test principal prepares test plans, assigns test tasks and evaluates test cycles

3. The tester sorted out the difficult points of interaction or requirements, confirmed the interaction details of abnormal scenarios or special situations, and preferably drew data flow diagrams and flow charts of new functions

4. Testers write test points, convert test cases, review test points or test cases

5, before the development of test (test), the development of their own walk check, product visual acceptance, if necessary, the test can be involved in the smoke test

6. Defect management, bug discovery and bug submission in test delivery (test submission) stage

7, the blogger side is divided into A1, A2, A3… In the stage, generally A1 passes new function test case & main process regression, A2 verifies bug& cross test & extended test, A3 verifies bug& Extended test

8. Pre-delivery (grey hair) environmental verification

9. Online environmental verification

10. Version reprint

Black box test related

Black box testing is designed to detect the following types of errors

1. Are there any incorrect or missing functions?

2. On the interface, can input be correctly accepted? Can the output be correct?

3. Is there any data structure error or external information (such as data files) access error?

4. Can the performance meet the requirements?

5. Are there initialization or termination errors?

Black box test advantages

1. Relatively simple, do not need to understand the internal code and implementation of the program, because it has nothing to do with the internal implementation;

2. From the perspective of users, it is easy to know which functions users will use and which problems they will encounter;

3. Based on the software development documents, we can also know what functions the software implements in the documents;

4. It is convenient to do automatic software testing.

Disadvantages of black box testing

1. It is impossible to cover all codes and the coverage is low;

2. Some paths cannot be tested, and hidden errors in the program cannot be tested.

3. Low reusability of automated tests.

Black box test method

Equivalence classes, boundary values, causal diagrams, decision tables, state transfer, orthogonal experiments, scenario method, false inference

Automated test correlation

Advantages of automated testing

1. Regression test is more convenient. Since the action and use cases of regression test are fully designed, and the test results are predictable, automatic regression test can improve test efficiency and shorten regression test time

2. Run more and more tedious tests

3. Tests that are difficult to test manually can be performed, and tests with a large number of users can be simulated through automated tests

4, the test has consistency and repeatability, each test results and the consistency of the execution of the content can be guaranteed, to achieve the repeatable effect of the test

5. Test reusability, realizing the use of the same use case in different test processes

6. The reliability of test execution is executed according to the script, and there is a clear path to follow for subsequent positioning and reappearance

7, high resource utilization rate, low labor cost

8, basic, logical operations, performance testing, stress testing, regression testing, automated testing is a big advantage

Disadvantages of automated testing

Manual testing finds more defects than automated testing

2. High dependence on testing

3. Only suitable for regression testing

4. Manual test writing takes less time than test script writing

Manual testing can rely on people’s imagination to test, and the tool is dead

6. Automated testing may restrict software development, and script maintenance may be limited, thus restricting software development

Conclusion: Automated testing is a supplement to manual testing, automated testing can not completely replace manual testing, because the correctness of a lot of data, whether the interface is beautiful, business logic to meet the degree are inseparable from the test personnel’s manual judgment

Common test points for APP

1. Install and uninstall apK. You can install and uninstall apK on the tool

2. Compatibility test system version, Android version, size

3. Abnormal test whether the client can handle the network disconnection, power failure, and server abnormality

4. Online Upgrade Test The online upgrade can be used normally after the upgrade

5, ease of use test operation is simple, in line with user habits

6. Interactive test of incoming calls, incoming messages, low battery test, and whether pulling out the charging cable will affect the APP

7, function test to check whether the function meets the requirements, involving UI layer, interface, data, server, code logic and so on.

The Monkey: command line tool is used to pressure the application under development and send pseudo random user event streams (key input, touch screen input, gesture input) to the system for pressure test

9, whether the security test is easy to be cracked by the outside world, whether there is the risk of malicious code injection

10. Performance test Application test, ROM test, CPU, GPU, flow rate, power consumption and response time of the device when the client is running

11, automated testing: Robotium, Appium

12. Test different network scenarios, such as wifi, 3G, 4G, Telecom, mobile, Unicom and weak network scenarios, through Fiddler

13, interruption test (phone access, SMS, low power indicator external events)

Differences between APP testing and Web testing

  web app
The performance test Response time… Plus: flow, power, CPU, GPU, memory…
Compatibility test Different browsers and browser versions Plus: phone size, resolution, OS version, Android version
Cross-event testing   When operating a certain software, external events such as phone calls, text messages, low battery warning, etc
Operation type test   Landscape test, gesture test

Difference between smoke testing and regression testing

Smoke test: the new version verification test, mainly to confirm the new version if there is a fatal bugs, features can run normally, will not affect the next round of testing, do not ask how much coverage is wide, but to ensure that the main function of the object points to get the test, to ensure that all be modified and modified related functions are available, if through the system test

Regression test: a test performed during software maintenance after software modification. A test is performed again after the modification of old code to ensure that the modification does not introduce new errors or cause errors in other code

The difference between static and dynamic testing

Static testing: Testing software by reviewing documentation and reading code without running the program under test itself

Dynamic testing: By running the program under test, checking for differences between the results and the expected results, usually using white and black box testing to design test cases from different angles to find errors in the code

Off key: do not run, document, code

Run, result difference, black box, white box

The difference between α, β and λ tests

Alpha testing: tests performed by a user in a development environment or by an internal user in a simulated operational environment. The purpose is to evaluate FURPS (functionality, usability, reliability, performance, and support) of software products

Beta testing: tests performed by multiple users of the software in an actual use environment of one or more users. Developers are usually not on site, and Beta testing cannot be done by programmers or testers. (Documentation, customer training, product support, supportability)

λ test: is the third stage, at this time the product is quite mature, only in a few places to do further optimization treatment can be released on the market

The difference between Load testing, stress testing and Performance Evaluation Test

Performance test: to obtain the performance index data of the system under certain specific conditions (including specific load conditions)

Load test: It simulates the system load under the load conditions borne by the actual software system, and observes the response time and data throughput of the system and the resources occupied by the system (such as CPU and memory) under different loads through continuous loading (gradually increasing the number of simulated users) or other loading methods to test the behavior and characteristics of the system. To find possible performance bottlenecks, memory leaks, and real-time synchronization problems. Load testing is more of a method or technique

Pressure test: test under strong load (large amount of data, a large number of concurrent users, etc.) to check the operation behavior of the application system under peak use conditions, so as to effectively find a hidden function of the system and whether the system has good fault tolerance and recovery ability. The pressure test can be divided into the long time stability pressure test under high load and the destructive pressure test under extreme load that leads to system collapse

What are requirements document tests?

Test whether there are logical inconsistencies in the requirements and whether the requirements are technically achievable

Key words: test requirement, logical contradiction, technical realization

What are design document tests?

Test whether the design meets all requirements and whether the design is reasonable

Key words: test design, meet the demand, is reasonable