Testing Theory Knowledge 8: Agile Development Testing, Extreme Programming Testing

1. Testing under agile development model

The core concepts of agile development:

  • Individuals and interactions over processes and tools.

  • Working software takes precedence over thorough documentation.

  • Customer collaboration takes precedence over contract negotiations.

  • Responding to change over following a plan.

2. Characteristics of agile development

Agile development advocates an iterative and incremental development model and emphasizes the important role of testing in it. This is a development process that is centered around users and customer needs, and is always ready to "meet changes" during this process.

The characteristics of agile development are as follows:

  1. Agile Modeling: Not a modeling method, but a set of principles and conventions for modeling and documenting software systems to support other agile methods such as Extreme Programming and Scrum.

  2. Agile Unified Process: A streamlined version of the Unified Software Process (RUP) tailored for Agile.

  3. Dynamic system development method: Based on rapid software development methods, relying on continuous customer participation, using iterative and incremental development models, the goal is that software can be delivered on time and within budget.

  4. Core Unified Process (EssUP): Targeted, select only those practices in the unified software process that are suitable for the current project (such as use case-driven and team programming). Regardless of whether they are needed or not, RUP usually uses all practices.

  5. Extreme Programming: Another iterative and incremental development model that places a strong emphasis on and relies on unit testing and acceptance testing, and is perhaps the most well-known agile method.

  6. Function-driven development (FDD): Use the best practices in the industry, driven by the functional requirements provided by customers, frequently release small versions, use domain object modeling, and form functional teams.

  7. Open unified process: This agile method implements a standard unified process, and software groups that adopt this method can quickly develop their products.

  8. Scrum: An iterative and incremental project management method that supports multiple agile development models.

  9. Progress tracking: applicable to all agile methods, used to measure the speed and progress of agile development.

3. Agile testing

Agile testing relies on automated testing, which is similar to a form of collaborative testing. It requires everyone to participate in the design, implementation and execution of the test plan. The testing cycle of agile testing is the entire software development cycle.

4. Extreme Programming Test

Extreme Programming is a lightweight, agile development process. Although you may not hear much about it now, you still need to understand it to some extent.

Focus on extreme programming:

  1. Implement simple designs.

  2. Communication and collaboration between developers and customers.

  3. Continuously test the code base.

  4. Refactor to accommodate specification changes.

  5. Seek feedback from users.

Guess you like

Origin blog.csdn.net/zuodingquan666/article/details/135178922