Theoretical Basis of software testing

Source: Internet
Author: User
Requirements for general recruitment of software testing engineers:

  • More than one year software testing experience
  • Familiar with software engineering, software testing process and standards, and configuration management technology and tools
  • Ability to prepare test plans, design test cases, compile bug reports and Test summary reports, use test tools, and develop test scripts.
  • Proficient in windows, UNIX, or Linux operating systems
  • Familiar with more than one of C, C ++, Java, VB, Delphi, and C #
  • Proficient in SQL Server or Oracle databases
  • Understand business fields (ERP, OA, e-commerce, tax system, telecom billing system ......) Priority
  • Master at least one testing tool, such as testdirector, qtp, LoadRunner, and robot.
  • Enterprising, cooperative, express, communication, responsibility, patience, and seriousness

Basic Category of software testing-black box testing

It is also called function testing, data-driven testing, or functional testing based on the requirement specification.

Check whether the functions of the program comply with the functional description based on the specification of the program without considering the logical structure and internal characteristics of the program.

· White box testing

Also known as structure testing, logic-driven testing, or testing based on internal components of program code.

Check the internal code design structure and method call from the perspective of the internal structure of the program code.

· Gray-box testing

Between black box and white box.

· Static testing

Read the program code and documentation, and compare it with the customer requirements in the requirement specification to find out the unreasonable design in the program code and the incorrect documentation.

Static testing can use some code lookup tools, such as qa c ++ and C ++ test.

· Dynamic Testing

Execute the program code of the tested object, enter the pre-designed test case, and check whether there is any difference between the results obtained by running the program code and the expected results in the test case, determine whether the actual results are consistent with the expected results to test the correctness, reliability and effectiveness of the program.

Dynamic Testing consists of four parts: design test cases, execute test cases, analyze and compare the output results, and output test reports.

There are three main methods for dynamic testing: black box testing, white box testing, and gray box testing.

· Manual testing

The tester designs and executes the test cases, compares the actual results with the expected results, records the test results, and finally outputs the test activities in the test report.

· Automated Testing

Automated testing tools such as HP's quicktest professional, LoadRunner, Microsoft's was, IBM's rational, etc.

You should select or choose not to use the test tool based on the actual situation. You must never deliberately use the tool to use it.

Software testing process 1. Requirement Testing

Check the requirement specification, summary design documents, detailed design documents, database design documents, and other documents, check whether the requirements specification contains inaccurate descriptions, vague requirements, incorrect Requirements Use Cases, and ambiguous languages.

Consider the following requirements for testing: 1. Integrity 2. correctness 3. Consistency 4. Feasibility 5. No ambiguity 6. robustness 7. Necessity 8. testability 9. modifyability

2. Unit Test

It is also called a module test. It mainly uses a combination of static testing and dynamic testing. First, use static code lookup to check that the program code does not comply with programming specifications, and there are errors or omissions. At the same time, use the code review method and then use the unit test tool, for example, JUnit and other tools are used to test the logical structure and function call in the program code. Unit tests generally detect approximately 80% of Software defects. Generally, the development engineer is responsible for unit testing.

3. Integration Testing

Also known as assembly testing, it is to assemble each module in the software product to check whether there is a problem with its interface and the overall function and performance after assembly.

In general, non-incremental integration methods, incremental integration methods (bottom-up integration, top-down integration, and combination-mode integration) and other policies can be used for integration testing. The black box testing is used as the main method, the white box test is supplemented by the test method.

In the integration test phase, the main solution is to check whether the Code of each software component meets the development specifications, whether the interface is faulty, whether the overall function is incorrect, whether the interface conforms to the design specifications, and whether the performance meets user requirements.

4. System Testing

Deploy the software that passes the integration test to a complicated computer user environment for testing. In this phase, installation and uninstallation testing, compatibility testing, function validation testing, and security testing are mainly carried out. The black box testing method is used in the system testing phase to check the functions and performance of the tested software.

5. Performance Testing

Test the service processing speed, processing capability, and consumption ratio of hardware system resources.

6. User Testing 7. regression testing

Regression testing is to re-test the previously fixed bug after a while and check whether the bug will reappear. The main purpose is to check whether the previous test cases can be passed again and whether there are other cases that need to be supplemented.

Software Project Operation Process

Market research, feasibility study, product initiation, demand research, design and development, system testing, product release, product maintenance, and product upgrade.

Test workflow 1. Test preparation stage

  • Test plan preparation
  • Test team Creation
  • Requirement Test start
  • Test Requirement extraction (determine the task points to be tested)
  • Test Case writing
2. Test phase

This module is mainly used to build a test environment, introduce documents, and perform tests.

3. Test output phase

Many artifacts need to be output, such as test plan, test plan, test case, test engineer daily report, function test report, and performance test report.

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.