Summary of software test methods

Source: Internet
Author: User

The variety of software testing methods, memory confusion, if the software testing methods to classify, it will be much clearer. I refer to some books and online information, the common software testing methods listed, so that you have a general view of the software testing industry.

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. Grey 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. White box testing for. NET programs you need to be able to read. NET code. To do a Java program test, you need to read Java code. If you can read it, do you still have a test?

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 of the development of testers, the need for testers to learn a lot of development knowledge (development of knowledge is really learning AH). In the long run, automated testing is certainly getting more and more popular.

Manual testing is more suitable for people who just work soon, the biggest disadvantage of manual testing is the low technical content, monotonous, easy to be useless.

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 servicerequirement" 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

The security test content is very wide, very difficult ah. I've only been exposed to XSS (cross-site scripting attacks) and SQL injection attacks.

Safety testing is very technical, I think it is a professional development of software Testers

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 will need to modify it immediately to regenerate the build

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.

Sanity 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:

Usually I like to do random tests, 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.

Summary of software test 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.