Don't you know how to learn software testing? After reading this article, you will understand!

In the process of software testing, the most important thing is to master the software testing methods, and master the software testing methods, which is conducive to the substantial improvement of testing skills.

Software testing method

== Software testing method refers to the method of testing software. With the continuous development of software testing technology, testing methods are becoming more and more diversified and more targeted; choosing the right software testing method can make us more effective. ==

1. According to whether to walk through the code, it is divided into white box testing, gray box testing, and black box testing;

2. Divided into manual testing, automated testing and performance testing:

Manual testing: UI testing, smoke testing, random testing, localization testing, installation testing, uninstall testing;
automated testing:
performance testing: sound testing, exhaustion testing, load testing, forced testing, stress testing, recovery testing;

3. According to whether to run the program, it is divided into static test and dynamic test;

4. According to the test phase, it can be divided into: unit test, integration test, system test, regression test, acceptance test, alpha test_Alpha test, beta test, English is Beta testing. Also known as Beta test, user acceptance test (UAT);

5. Other test methods: end-to-end test, acceptance test, security test, compatibility test, usability test, comparison test, boundary test, force test, assembly and installation test, hidden data test, equivalence partition test, decision table test, In-depth testing, design-based, document testing, domain testing, interface testing, reverse testing, non-functional testing, limit testing, etc.

Definition of some of these test methods

End-to-end testing

End to end testing, English is End to End Testing.

End-to-end testing is similar to system testing. The test-level "grand" end point involves all tests that simulate situations when the entire application system environment is used in a real world.

For example, dialogue with the database, using network communication, or dialogue with external hardware, application systems or appropriate systems. End-to-end architecture testing includes functional testing and performance testing of all access points.

End-to-end architecture testing is essentially a "gray box" testing, a testing method that combines the advantages of white box testing and black box testing.

Sanity test

== Sanity testing, English is Sanity testing. ==

Sanity test refers to an initial test work to determine whether a new software version test is sufficient to perform the next big test capability.
For example, if a new version of the software conflicts with the system every 5 minutes, causing the system to fall into a quagmire, it means that the software is not "sound" enough and does not have the conditions for further testing.

Failure test

Failure testing, English is Failure Testing.

Failure testing refers to the "retest" after the software or environment is repaired or corrected. It may be difficult to determine how many retests are required. Especially near the end of the development cycle. Automated testing tools are especially useful for this type of testing.

Load test

Load testing, English is Load testing.
Load testing is to test the performance of an application under heavy load. For example, when testing a Web site under a large amount of load, when the system's response will degrade or fail, to find design errors or verify the load capacity of the system. In this kind of test, the test subject will be made to undertake different workloads to evaluate and evaluate the performance behavior of the test subject under different workload conditions and the ability to continue normal operation.

The goal of load testing is to determine and ensure that the system can still operate normally even when the maximum expected workload is exceeded. In addition, load testing also evaluates performance characteristics, such as response time, transaction processing rate, and other time-related aspects.

Forced test

Forced testing, English is Force Testing.

Forced testing is a term commonly used in alternate load and performance testing. It is also used to describe the test of the system function test of the object under the unusual overload, such as a certain action or input a large amount of repetition, a large amount of data input, a large number of complex queries to a database system, etc.

pressure test

Stress testing, English is Stress Testing. Similar to load testing.

Stress testing is a basic quality assurance behavior, and it is part of every important software testing job. The basic idea of ​​stress testing is very simple: instead of running manual or automatic tests under normal conditions, but running tests under conditions with a small number of computers or lack of system resources. The resources that are usually subjected to stress testing include internal memory, CPU availability, disk space, and network bandwidth. Concurrency is generally used for stress testing.

Recovery test

== Recovery testing, English is Recovery testing. ==

Recovery test is to test whether a system can recover well from the following disasters, such as system crash, hardware damage or other catastrophic problems. Recovery testing refers to detecting whether the system can be recovered correctly by artificially causing software (or hardware) to fail, usually focusing on the time required for recovery and the degree of recovery.

==The recovery test mainly checks the fault tolerance of the system. ==When a system error occurs, can the error be corrected and the system restarted within a specified time interval? The recovery test must first use various methods to force the system to fail, and then verify whether the system can recover as soon as possible. For automatic recovery, it is necessary to verify the correctness of mechanisms such as reinitialization, checkpointing mechanisms, data recovery, and restart; for recovery systems with manual intervention, it is also necessary to estimate the average recovery time , To determine whether it is within the acceptable range.

Usability testing

Usability testing, English is Practical Usability Testing.

Usability testing is a test of "user-friendliness". Obviously this is subjective and will depend on the target end user or customer. User interviews, surveys, recordings of user conversations, and other technologies are available. Programmers and testers are generally not suitable for usability testers.

Comparison test

Comparative testing, English is Compare Testing.

Comparative testing refers to the comparative testing of products with competitive partners, such as software weaknesses, strengths or strengths. To learn from each other's strengths to enhance the competitiveness of products.

Brute force test

Mightiness Testing, English is Mightiness Testing.

Brute force testing usually verifies whether the software's performance can still work normally under various extreme environmental and system conditions. In other words, it is to verify that the performance of the software can withstand various extreme environments and system conditions. For example, under the condition of the lowest hard drive space or system memory capacity, the verification program will not crash or freeze even after repeatedly executing and saving a huge file 1000 times.

Assembly and installation

The assembly/installation/configuration test is to verify that the software program runs correctly as expected on the hardware of different manufacturers, the new and old versions of the platforms supported by different languages, and the software installed in different ways. For example, install the English version of Microsoft Office 2003 on the Korean version of Windows Me, and then verify that all functions are operating normally.

Hide data

Hidden data testing is a very necessary and important part of the software acceptance and validation phase. The quality of the program is not only verified by the visual data of the user interface, but must include all the data of the traversal system.

Suppose an application requires two pieces of information from the user-username and password to create an account. The user enters these two pieces of data and saves them. Finally, a confirmation window will display the user name and password to the user through the data found in the database. In order to verify that all data is saved correctly, a QA tester will simply check the user name and password in this confirmation window. What if they succeeded? Assuming that the database records the third piece of information-the creation date, it may not appear in the confirmation window, but only in the archive. If the creation date is kept incorrect, and the QA tester only verifies the data on the screen, then the problem cannot be discovered. The creation date may be a bug. Because a user account saves an incorrect date in the database, this problem cannot be noticed because it is hidden by the user interface. This is just a simple example, but it has evolved a point: the importance of hiding data testing.

Decision table

The English of the decision table is decision table, which refers to a table used to display conditions and a collection of actions caused by conditions.

Definition: The decision table is a tool for analyzing and expressing the execution of different operations under multiple logic conditions.

The advantage of the decision table: It can list all complicated problems according to various possible situations, concise and avoid omissions. Therefore, a complete set of test cases can be designed using the decision table.

In some data processing problems, the implementation of certain operations depends on the combination of multiple logical conditions, that is, different operations are performed for the combined values ​​of different logical conditions. Decision table is very suitable for dealing with this kind of problem

Depth test

Depth test in English refers to the implementation of all the details of a feature of a product, but not all features.

The effect is only shown when the comparison function returns true. The "#depth test" must be enabled to perform the test. It needs to be closed when not in use.

Based on design

Design-based testing in English is design-based testing, which is a method of deriving test cases based on software architecture or detailed design.

A test method based on the design model (Model Based TestIng System, MATIS). This method uses the user interface automatic generation method to organize the class attribute definitions in the design model and the control attributes in the implementation to build a logical comparison of the description interface Table, the auxiliary test script engine executes the automatic test script. With the help of the extended class definition in the design model, the MATIS method can automatically generate test cases and test data.

Domain test

== The English for domain testing is domain testing, and the definition refers to equivalence partition testing; ==

Generally divided into single-domain testing and multi-domain testing. Single-domain testing includes equipment testing and service testing. Equipment testing includes testing a system’s softswitch equipment, relay media gateway equipment, signaling gateway equipment, access media gateway and IAD and other equipment.

There are two different types of equivalence classes: valid equivalence classes and invalid equivalence classes. These two equivalence classes should be considered at the same time when designing, because the software must not only receive reasonable data, but also withstand unexpected tests.

A valid equivalence class: refers to the set of input data that is reasonable and meaningful for the specification of the program. The effective equivalence class can be used to verify whether the program achieves the functions and performance specified in the specification.

2. Invalid equivalence class: it is exactly the opposite of the definition of effective equivalence class.

Reverse test

== Reverse testing/reverse testing/negative testing in English is Negative Testing, and the test is aimed at making the system unable to work. ==

Comparison of negative test and positive test:

Negative testing (Negative testing) is relative to positive testing (Positive testing).
They are also two very important divisions in test design. To put it simply, a positive test is to test whether the system has completed the work it should complete; and a negative test is to test whether the system does not perform operations that it should not have completed. To be more vivid, the positive test is like a respectful elementary school student. I will do what the teacher tells me to do; while the negative test is like a naughty kid. You tell me to do this, but I don’t do it, and I’m against you. . Developers also hate fixing such bugs the most.

Non-functional

Non-functional requirements testing in English is non-functional requirements testing, which is requirement testing that is not related to functions, such as performance testing, usability testing, etc.

Why are non-functional requirements important?

It is of course important to meet functional requirements in the process of designing your solutions. However, if you do not consider non-functional requirements, your solution will be difficult to achieve practical results.

Non-functional requirements characteristics: 1. Do not divorce from the actual environment; 2. Reliability; 3. Usability; 4. Effectiveness; 5. Maintainability; 6. Portability.

Limit test

Introduction: Limit test is essentially a set of test strategies and procedures designed to satisfy the idea and process of limit testing. It is not limited to the use of specific testing techniques and methods.

Process
1. Unit testing

2. Acceptance test

It is necessary to memorize the meaning of each test method, and use it flexibly, so that the test skills will be able to improve.

You need to receive the interview materials, the complete set of software testing materials, click the link to join the group chat [Python automated testing exchange group] to receive!

Guess you like

Origin blog.csdn.net/CM_LHXC/article/details/108755429