Software Testing Notes-The Evolution of Software Development Process

The concept of software: computer programs, files, documents and data related to the operation of computer systems

Evolution of software development process: traditional waterfall model→agile development model→DevOps model

waterfall model

Waterfall model process: requirements analysis → design → coding → implementation → software testing → completion → maintenance

Waterfall model features: linear

Advantages of the waterfall model: clear stages, emphasis on early planning and demand investigation, suitable for products with stable demand

Disadvantages of the waterfall model: increased development risks, late error detection

Agile development model

Agile development model: including XP, SCRUM

Extreme Programming-XP

Spiral programming, divided into multiple cycles

Programming methods: simple design, pair programming, test-driven development, refactoring

Group practices: collective ownership of code, coding standards, stable and fast pace, continuous integration, metaphors

Delivery and management: small releases, planned games, full teams, live customers


SCRUM

Product backlog, sprint planning meeting, sprint backlog → 2-4 weeks sprint, potential delivery of product increments

Agile model characteristics: incremental iteration, small steps and fast running

DevOps

DevOps: development, testing, operation and maintenance

DevOps life cycle: continuous development, continuous testing, continuous integration, continuous deployment, continuous monitoring

DevOps features: reduce change scope, strengthen release coordination, automation

Continuous integration, continuous delivery and DevOps

Continuous Integration (CI)

It is a software development practice. Integration may occur multiple times per day, and each integration is verified through automated builds. Based on the test results, it can be determined whether the new code and the original code can be correctly integrated together.

Continuous Delivery (CD)

It is a software engineering technique. The output of software products is completed in a short cycle to ensure that the software can be stably and continuously maintained in a state that can be released at any time. The goal is to make software construction, testing and release faster and more frequent. It can reduce the cost and time of software development and reduce risks.

The relationship between continuous delivery (CD) and DevOps

The scope of DevOps is wider, it is the cooperation between multiple teams involved in the software delivery process, and it automates the process of software delivery. Continuous delivery is a means of automating delivery that focuses on centralizing different processes and executing them faster and more frequently. DevOps can be a product of continuous delivery, and the results of continuous delivery are directly integrated into the DevOps model.

Guess you like

Origin blog.csdn.net/Yocczy/article/details/127580368