The summary of software Engineering--tenth chapter

Source: Internet
Author: User

The main content of this chapter is software testing

Validation and Confirmation

Bugs in Software

1. The software does not meet the function specified in the product specification; 2. The software has appeared the error that the product specification indicated does not appear; 3. The software function is beyond the scope specified in the product specification; 4. The software does not meet the product specification, although it does not indicate the goal to be achieved alone; 5. Software Testers find the software difficult to understand, difficult to use, slow to run, or dissatisfied with the end user.

validation and confirmation

Validation and confirmation are two mutually independent but mutually reinforcing activities, and Boehm's relationship with the two is described as follows: Verify: Are we manufacturing the product correctly? Confirm: Are we making the right product? Eaglesone and Ridley integrated the two concepts and proposed: Are we keeping the product correct?

activities for V & v

Validate and verify that specific tasks are developed and managed in each phase, and that their activities span the entire lifecycle of the software. IEEE STD 1012-1998 gives a verification and validation process.

Fundamentals of Software Testing

What is software testing

Glen Myers has made the following observations about software testing: 1. The process of executing a program during testing, which is designed to detect errors; 2. A good test case is likely to be a mistake that has not been noticed so far; 3. A successful test case is a test that finds errors that have not been detected so far.

Basic principles of software testing

1. "Early and ongoing software testing" should be used as the motto of software developers; 2. Programmers should avoid checking their own programs; 3. When designing the test case, it should include the reasonable input conditions and unreasonable input conditions; 4. The test case should consist of the test input data and the expected output of the corresponding result; 5. Fully pay attention to the cluster phenomenon in the test; 6. Strictly implement the test plan and eliminate the randomness of the test; 7. Every test result should be checked thoroughly; 8. Keep Some of the test process documentation in order to provide easy maintenance.

The relationship of software testing software development at various stages

Software development from the acquisition of requirements, analysis and design to the implementation of coding, is a top-down, progressive refinement of the process. And the software testing process is from the bottom up, from the local to the whole, the process of gradual integration. At different stages of development, there are different types of defects and errors that require different testing techniques and methods to identify these defects.

Test Document

1. Test plan; 2. 3. Test specification; Test case; 4. Defect reports. The importance of the test document is shown in the following areas: 1. Verify the correctness of the requirements; 2. 3. Inspection and testing resources; Identify the risk of the task; 4. Generate test cases; 5. 6. Evaluation of test results; Re-test; 7. Determine the validity of the test.

Software Testing information flow

The following 3 types of information are required for software testing: 1. software configuration; 2. Test configuration; 3. Test tools.

Software Testing Staff

Human testers need to have the following abilities: 1. 2. Communication skills; Empathy ability; 3. 4. Technical capacity; Self-confidence; 5. 6. Diplomatic capacity; A sense of humor; 7. A strong memory; 8. Patience; 9. 10. The spirit of suspicion; 11. Self-supervision; Insight.

Software Testing Strategy

Unit Test

1. Module interface test; 2. Local data structure test; 3. 4. Important implementation of the road test; Error handling test; 5. Boundary condition test; 6. Unit test method.

Integration Testing

1. Top-down integration; 2. Integrated from bottom up.

confirm Test

After the comprehensive test, the software has been completely assembled, the interface error is also excluded, then you can start the final validation test software. Confirm the test to check whether the software can work according to the contract requirements, and to meet the requirements of the software specification confirmation standards.

System Testing

Before the system test, the software engineer should complete the following tasks: 1. Design error-handling pathway for input information of test software system; 2. Design test cases, simulate error data and software interface errors, record test results, provide experience and help for system testing; 3. Participate in system test planning and design to ensure the rationality of software testing. The system tests include the following tests: 1. recovery test; 2. Safety test; 3. Strength test; 4. Performance testing.

Software Commissioning

1. Simple debugging method; 2. 3. The inductive method of commissioning; 4. Deduction and commissioning; Backtracking debugging.

Software Testing Methods

Static testing and dynamic testing

Static test refers to the test program is not running on the machine, but the use of manual detection and computer-aided static analysis of the means of testing the program, the main methods include: 1. Manual test; 2. Computer-assisted static testing.

Dynamic testing refers to the discovery of errors by running a program, and the general sense of testing refers to dynamic testing.

black box test and white box test

Black-Box testing is also known as functional testing or data-driven testing, which is tested to see if each feature is functioning properly, given the functionality that a known product should have.

White box testing is also known as structural testing or logic-driven testing, it knows the internal work process, can be tested to monitor whether the internal action of the product in accordance with the specifications of the normal operation, according to the procedures within the structure of the test procedures, inspection procedures in each path can be as scheduled to work correctly, regardless of his function.

black Box test method

1. Equivalence class division; 2. 3. Boundary value analysis; State test; 4. Failure condition test; 5. Error-guessing method.

White Box test method

1. Logical coverage; 2. Path test.

Static test of the program

1. Find the problem; 2. 3. Compliance with the rules; Review preparation; 4. Prepare the report.

Object-Oriented Software testing

Object-oriented test type

1. Model testing; 2. class test; 3. Interactive testing; 4. System (subsystem) test; 5. 6. Acceptance test; Publish the test.

Object-oriented test cases

1. Date test; 2. Linear table problems.

GUI test Case

1. First set of test cases: used to test the 3 states in the state diagram respectively internal conversion; 2. Second set of test cases: used to test the 3 states in the state diagram of the respective internal conversion; 3. The third set of test cases: used to test the correctness of the addition formula,

Software testing Tools

Junit

Basic use is very simple, the basic steps are as follows: 1. Created, from JUnit. Framework. TestCase the test unit;2 required for the derived unit test. Write a test method that provides a test method similar to the following function signature: public void Testxxxxx (); 3. Compile, after writing the test case, compile the written test class, 4. Run, start the JUnit Test runner and run the test case.

LoadRunner

LoadRunner is an industry standard-level load testing tool that predicts system behavior and performance. LoadRunner is able to test the entire enterprise architecture by simulating how tens of thousands of users implement concurrent load and real-time performance detection to identify and find problems. By using LoadRunner, businesses can minimize test time, optimize performance, and accelerate the release cycle of application systems.

The summary of software Engineering--tenth chapter

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.