Software Testing Method

Source: Internet
Author: User

There are a wide variety of software testing methods, and the memory is confusing. If you classify software testing methods, they will be much clearer. I refer to some books and online materials to list common software testing methods so that everyone can have a general view of the software testing industry.

 

Classification from Test Design Method

 

Test name

Test content

Black box black box testing

The software system is treated as a "black box" and cannot understand or use the internal structure and knowledge of the system. Design and Test Based on the behavior of the software, rather than the internal structure.

White Box white box testing

Designers can view the internal structure of the software system and use the internal knowledge of the software to guide the selection of test data and methods.

Gray box. gray box test

Between black box and white box

 

Conclusion: The more you know about the system, the better. At present, most testers perform black box tests, and few do white box tests. White box testing has high requirements on Software testers and requires a lot of programming experience. To test the white box of the. NET program, you must be able to understand the. NET code. To test the Java program, you need to understand the Java code. If you can understand it, will you still perform the test?

 

Manual or automatic classification

 

Test name

Test content

Manual test manual test

The tester uses the mouse to perform a manual test (test GUI)

Automation Automated Testing

Test A Program (test an API)

 

For projects, manual testing and automated testing are equally important, and they are all ways to ensure the quality of software. At present, most of the project teams are combined with manual and automated tests. Because many tests cannot be automated and many complex business logic cannot be automated, automated tests cannot replace manual tests.

For the personal development of software testers, automated testing is a challenge and a direction for the development of testers. Testers need to learn a lot of development knowledge (there is no end to learning about development ). In the long run, automated testing will certainly become increasingly popular.

Manual testing is suitable for people who have just started their work. The biggest disadvantage of manual testing is its low technical content, monotonous and easy to waste.

 

In general, manual testing is better than testing business logic, while automated testing is better than testing the underlying architecture.

 

If the tested program is more testable, it is necessary to perform automated testing. Automation can be achieved as much as possible. The following situations can be automated.

1. Test the stored procedure. For example, use C # To test the Stored Procedure

2. Test web servies. For example, use the soupui tool or C # and Java to test web servies.

3. Systems with separated interfaces and business logic, such as MVC, MVP architecture, or WPF programs. You can use test scripts to test the APIs of these programs.

 

Classification from test Purpose

Function Testing

Testing ranges from small to large, from internal to external, from program developers (unit tests) to testers, to alpha/beta testing for general users

Test name

Test content

Unit Test

Verify the accuracy of the program with the lowest features/parameters, such as testing the correctness of a function (done by developers)

Functional test function test

Verify the functions of the module (done by the tester)

Integration Test

Verify the functions of several interdependent modules (implemented by testers)

Scenario test scenario test

Verify whether several modules can complete a user scenario (done by testers)

System Test

Test functions of the entire system (done by testers)

Alpha Testing

The software tester performs a Comprehensive Test of the software in a real user environment (the tester does)

Beta testing

Tests performed by real users in real user environments are also called public tests (performed by end users)

 

 

 

Non-functional testing

In addition to basic functions, a software also has many features, which are called "quality of service requirement" service quality requirements. Without software features, these features cannot be shown. Therefore, we need to perform these tests at the appropriate stage of software development-after the basic functions are completed.

 

Test name

Test content

Stress Test

Verification software can still return the correct results if it exceeds the load design and does not crash

Load Test

Test whether the software works normally under load conditions.

Performance Test

Test the software performance and whether the service quality is satisfactory.

Accessibility Test

Software-assisted function testing-test whether the software provides adequate assistance to users with disabilities

Localization/globalization

Localization/globalization Testing

Compatibility Test

Compatibility Test

Configuration Test

Configuration test-test whether the software works properly under various configurations

Usability test

Availability test-test whether the software is easy to use

Security Test

Software Security Testing

 

Performance Testing

Performance testing requires testers to be proficient in performance testing tools, such as qtp, LoadRunner, and jmeter. Visual Studio also provides many performance testing tools that require testers to understand and write scripts for low-level protocols.

Performance testing is very technical and promising. It is a career development direction for Software testers.

 

Security Testing

Security Testing has a wide range of content and is very difficult. I have only been exposed to XSS (Cross-Site Scripting) and SQL injection attacks.

Security Testing is very technical, and I think it is also a career development direction for Software testers.

 

 

Classification by test time and role

 

In the process of developing software, many tests play the role of Beacon Tower. They tell us whether the software development process is smooth.

 

Test name

Test content

Smoke test

Smoke-if the test fails, the next step cannot be performed.

Build verification test (BVT)

Verify that the build passes the basic test.

Acceptance Test

Acceptance Test: a test to fully assess a function/feature

 

The BVT test is a smoke test. It refers to the automated test script that runs automatically after the build is generated to check the basic functions of the build. If the BVT test fails, developers need to modify it immediately and generate a new build.

 

 

 

Categories by test policy.

 

Test name

Test content

Regression test regression test

Re-run previous test cases for a new version to see if the new version is degraded compared with the known version (regression)

Ad hoc test Exploratory Test

A random, exploratory test.

Santiy Test

For a rough test, you only need to execute some test cases.

 

Regression test regression test:

For software testers, repeated tests are required. Therefore, regression testing should be automated. Otherwise, testers must repeat tests over and over again,

1. If developers make minor changes, they need testers to perform regression tests. Ensure that existing functions are not damaged

2. The bug fix also requires regression testing to ensure that the new Code fixes the fix and that the existing functions are not damaged.

3. A complete regression test is required later in the project to ensure that all functions are good.

 

Ad hoc test exploratory test:

I usually like to perform random tests. Aside from test case, I just want to perform random tests on my own. If you test the GUI, ad hoc can find a large number of bugs.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.