laitimes

Software Testing Learning Notes丨Introduction to Test Development System

author:Tested 666
This article is transferred from the tester community, the original link: Jck28-Lucio-Introduction to the test development system - study notes - tester community

1. Introduction to the test system L1

1. Basic concepts of software testing

1.1. Concept

  • The "test object" is tested by hand or with tools
  • Verify that there is no discrepancy between the actual and expected results

1.2. The role of software testing:

  • Through testing, defects in the software can be found and fixed, thereby increasing the user's confidence in using the product
  • Testing can reduce the risk of problems with the development of products of the same type

2. Software development process

  • In order to make the work of software development systematic and controllable;
  • All activities need to be managed with a suitable software development model and development process.

2.1. Waterfall model

  • The activities of software development are carried out in a strictly linear manner.
  • The current activity accepts the results of the work of the previous activity.
  • The results of the work of the current activity need to be verified.

Requirement analysis—> design—> coding—> implementation—> software testing—> completion—> maintenance

: Make a plan;

: Demand analysis;

: Software design;

: program coding;

: Software testing;

: Operation and maintenance;

2.2. Agile development model

  • It is suitable for scenarios where requirements change frequently and rapid development is required.
    • XP
    • SCRUM

2.2.1, XP - Extreme Programming

Software Testing Learning Notes丨Introduction to Test Development System

2.2.2、 SCRUM

Software Testing Learning Notes丨Introduction to Test Development System

2.3、 DevOps

2.3.1、 DevOps 生命周期

  • Continuous development
  • Continuous testing
  • Continuous integration
  • Continuous deployment
  • Continuous monitoring
Software Testing Learning Notes丨Introduction to Test Development System

2.3.2、CI/CD

  • 持续集成(Continuous Integration,缩写为 CI):
    • A software development practice.
    • Integrations can occur multiple times a day for team development members.
    • Each integration is validated by automated builds, including compilation, release, automated testing.
    • Based on the test results, determine if the new code and the old code are properly integrated.
  • 持续交付(Continuous Delivery,缩写为 CD)
    • It is a software engineering approach.
    • Let the production process of software products be completed in a short cycle.
    • Ensure that the software can be stably and continuously maintained in a state that is ready for release.
    • Target:
      • Build, test, and release software faster and more frequently.
      • Reduce the cost and time of software development and reduce risk.

3. Test process system

3.1. Principles of software testing

  • Tests revealed the presence of defects
  • Exhaustive testing is not possible
  • Testing is intervened as early as possible
  • Defect clustering (2/8 rule) – defects are clustered in 20% of modules
  • The Pesticide Paradox—Test cases cannot be used more than once
  • Test activities depend on what is being tested
  • There is no fallacy that there is a mistake

3.2. Software test objects

  • Requirements analysis stage: requirements documents, interface documents
  • Coding Implementation Phase: Source code
  • System function usage: software program

3.3. Software testing model

3.3.1. V model

Requirements Analysis—> Outline Design—> Detailed Design—> Coding—> Unit Testing—> Integration Testing—> System Testing—> Acceptance Testing

3.3.2, W model

Software Testing Learning Notes丨Introduction to Test Development System

3.3.2, H model

Software Testing Learning Notes丨Introduction to Test Development System

3.4. System test process

Requirements analysis - > test plan - > test design - > use case review - > test execution - > - bug relationship - > release and maintenance

3.5. Bug management process

Software Testing Learning Notes丨Introduction to Test Development System

3.6. Test left shift

  • Shift left is a move to the development phase prior to testing
  • Test teams are involved early in the software development cycle
  • Test your code
  • From finding bugs to preventing bugs
  • Code review
  • Code audits
  • Unit tests
  • Automated smoke testing
  • R&D self-test

3.7. Test right shift

  • Shift right is to move back after publishing
  • Online monitoring will be carried out after the product is launched
  • Closed-loop online problem feedback-check-solve-update process
  • More convenient log viewing and backhaul services
  • Abundant and effective logs are convenient for problem location
  • Abundant monitoring metrics (such as service anomaly indicators)
  • Business monitoring (e.g., SMS sending, etc.)
  • Daily monitoring of key metrics (server metrics)
  • Production Data Monitoring (Alerts)

Free video tutorial sharing for software testing and development - Official Account - Tester Community

Software Testing Learning Notes丨Introduction to Test Development System

Read on