【英文】软件测试知识点

Preface

Software Testing Knowledge Points

Classification of Software Testing

Classification according to the testing stage

  • Unit Testing: Testing of a certain module or functionality in the application conducted by development engineers
  • Integration Testing: Testing of multiple modules and functionalities combined in the application conducted by development engineers
  • System Testing: Testing of the application conducted by testing engineers, combining different environments (such as different operating system environments)
  • Acceptance Testing: Testing conducted by users
    • Alpha Testing: Internal testing
    • Beta Testing: Public testing

Classification according to testing techniques

  • Black-Box Testing: Focuses only on external inputs and outputs and does not consider how the internal code is implemented
  • White-Box Testing: Focuses only on how the internal code is implemented and does not consider external inputs and outputs
  • Grey-Box Testing: Requires attention to both external inputs and outputs as well as how the internal code is implemented

Classification according to whether the test object is running

  • Dynamic Testing: Testing conducted while the program is running
  • Static Testing: Interface checking, document checking, and code inspection (no need to run the code)

Classification according to testing methods

  • Manual Testing: Testing conducted by operating the mouse and keyboard
  • Automated Testing: Testing conducted by implementing program automation through code

Classification according to testing content

  • Functional Testing: Testing whether the business functions meet the requirements
  • Interface Testing: Testing whether the interface matches the prototype
  • Security Testing: Testing whether the application system is secure
  • Compatibility Testing: Testing whether the application runs properly in different software environments
  • Usability Testing: Testing whether the application is easy to operate and understand
  • Performance Testing: Testing whether the application runs properly in a concurrent environment

Others

  • Smoke Testing: Testing the main core functions of the application before formal testing
  • Regression Testing: Performing regression testing after the problems encountered during development and modification testing are resolved
  • Exploratory Testing/Ad-Hoc Testing: Testing conducted freely based on project experience
  • Gray Box Testing: Releasing some new features first, based on user feedback, then releasing another set of new features
  • A/B Testing: Releasing new features to designated users first, based on user feedback, then releasing the features to other users

Software Life Cycle

  1. Problem Definition and Specification
  2. Requirement Analysis: Output Software Requirement Specification (SRS)
  3. Design
    • High-Level Design
    • Detailed Design
  4. Coding
  5. Testing
  6. Operation and Maintenance

Software Testing Workflow

  • Requirement Specification Document
  1. Requirement Analysis
  2. Requirement Review
  3. Test Planning: Test lead writes the test plan, including test content, person assignment, task assignment, test environment, test tools, and schedule
  4. Writing Test Cases
  5. Test Case Review
  6. Deploying Test Environment
  7. Smoke Testing, Formal Testing
  8. Submitting Bugs and Tracking
  9. Test Pass: After 2-4 rounds of testing, if the remaining number of bugs does not exceed a certain number, write a test report to indicate that it has passed the test
  10. Release and Deployment

Environment Classification

  • Development Environment
  • Testing Environment: There may not be only one
  • Pre-release Environment (UAT Testing Environment): Environment for conducting acceptance testing
  • Production Environment: Environment used by real users

Software Testing Process

  • Testing Requirements Analysis
    • Refer to the requirements specification document and list the test points
    • Requirement Review: Check for any missing or wrong tests
  • Test Planning
  • Test Case Design: Write a test case document that includes input, actions, and expected results
    • Test case number
    • Test project
    • Test title
    • Importance level
    • Preconditions
    • Test input
    • Operation steps
    • Expected results
    • Actual results
  • Execute Testing
  • Quality Evaluation

To be continued

References

Bilibili - Automated Testing by MaShang Technology