The classification of software testing methods

Source: Internet
Author: User

Software testing methods a wide range of memory confusion, therefore, I look at the data, refer to some books, the common software testing methods listed, easy to understand the software testing methods.

Classification from Test design methods

Test name Test content
Black box test The software system is treated as a "black box", and the internal structure and knowledge of the system cannot be understood or used. Design tests from the behavior of the software, not the internal structure.
White box test The designer can see 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 Test Between the black box and the white box

Summary: In practical work, the more you know about the system, the better. Most testers now do black-box testing, and few do white-box testing. Because white-box testing is very demanding for software testers, it requires a lot of programming experience.

Whether the test is sorted manually or automatically

Test name

Test content

Manual Test Manual Testing

Testers use mouse to manually test (test GUI)

Automation Automated Testing

Program test program (Test API)

For projects, manual testing and automated testing are equally important and are a means of ensuring software quality. Most of the current project teams are combined with manual testing and automated testing. Because many tests cannot be automated, and many complex business logic is difficult to automate, automated testing cannot replace manual testing.

For Software Testers personal development, doing automated testing is a challenge, but also a direction for testers to develop, requiring testers to learn a lot of development knowledge. In the long run, automated testing is certainly getting more and more popular.

In general, manual testing wins the test of business logic, while automated testing wins the test of the underlying architecture.

If the tested program is more testable, it is necessary to make automated tests. Can do automation as far as possible to make automation, the following situations can be automated

1. Test the stored procedure. For example, to test stored procedures in C #

2. Test the Web servies. For example: Use the Soupui tool, or C#,java to test the Web servies.

3. Interfaces and business logic separate systems, such as MVC,MVP architecture, or WPF programs. You can use test scripts to test the APIs of these programs.

Classification from the purpose of the test

Functional Testing

Testing ranges from small to large, from inside to outside, from program developers (unit tests) to testers, to general user Alpha/beta testing

Test name Test content

Unit Test Units Testing

Verify the accuracy of the program on the lowest function/parameter, such as testing the correctness of a function (developers do)

Functional Test Function testing

Verify the functionality of the module (testers do)

Integration Test Integration Testing

Verify the functionality of several interdependent modules (testers do)

Scenario Test Scenario Testing

Verify that several modules are able to complete a user scenario (testers do)

System Test Systems Testing

Tests for the entire system function (testers do)

Alpha Test

Software Testers perform thorough testing of the software in real user environments (testers do)

Beta test

Real user testing in a real user environment, also called beta (end user)

Non-functional testing

In addition to the basic functions of a software, there are many features outside the functionality, these are called "quality of Service requirement" quality of services requirements. Without the functionality of the software, none of these features can be shown, so we need to do these tests at the appropriate stage of software development-when basic capabilities are complete.

Test name Test content

Stress Test pressure Testing

Verify that the software is able to return the correct result without crashing the load design

Load test

Test whether the software works properly under load

Performance Test Performance Testing

Test the effectiveness of the software, whether to provide satisfactory service quality

Accessibility test

Software accessibility Testing-does the test software provide adequate accessibility to disabled users

Localization/globalization

Localization/Globalization Testing

Compatibility Test

Compatibility test

Configuration Test

Configuration test-Test software works in a variety of configurations

Usability Test

Usability testing – Testing the software for ease of use

Security Test

Software security Testing

Performance testing

Performance testing requires testers to be proficient in performance testing tools such as QTP, LoadRunner, Jmeter. Visual Studio also provides a number of tools for performance testing. Requires testers to understand and script low-level protocols

Performance testing is very technical content, very promising, is a professional development direction of software testers.

Security testing

Security tests are extensive, such as XSS (cross-site scripting attacks) and SQL injection attacks.

Classification by time and function of test

In the process of developing software, many tests play the role of "Beacon", they tell us whether the process of software development is unblocked.

Test name Test content

Smoke Test

"Smoke" – if the test does not pass, you cannot proceed to the next step

Build Verification Test (BVT)

Verify that the build passed the basic test.

Acceptance Test

Acceptance testing, testing for a comprehensive assessment of a function/feature

The BVT test is a smoke test, which refers to the automated testing scripts that run automatically after build is built to check the basic functionality of this build. If the BVT test fails, the developer needs to modify it immediately and regenerate the Buil

Classification according to test and measurement strategy.

Test name Test content

Regression Test Regression testing

For a new version, rerun the previous test case to see if the new version is degraded compared to the known version (regression)

Exploratory testing of Ad hoc test

Random, exploratory testing.

Santiy Test

Rough testing, just perform some of the test cases

Regression Test regression tests:

For software testers It is repetitive testing, so regression testing is best automated, otherwise testers will repeat the test over and over,

1. Developers make minor changes that require testers to do regression testing. Ensure that existing functionality is not compromised

2. Bug fix also requires regression testing to ensure that the new code fixes the fix and that the existing functionality is not compromised

3. Late in the project, a complete regression test is required to ensure that all functions are good

Exploratory testing of Ad hoc test:

Do a random test and throw away the test case. yourself according to your own ideas, casually point. If the test gui,ad hoc can find a large number of bugs.

The classification of software testing methods

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.