Agile Development & Quality Management (Agile development how to do QA, test)

Agile Development & Quality Management

First, the quality management

1.1 What is Quality Management

Baidu interpretation of the term as follows:

  • Quality management is to determine the quality policy, objectives and responsibilities, and by the quality system of quality planning, control, assurance and improvement activities to achieve it all.
  • In order to be able to at the level of the most economical and taking into account fully meet the market research, design, manufacturing and after-sales service under the conditions of customer requirements, the development of the quality of the various departments within the enterprise, maintain quality and improve the quality of activities constitute as one of a kind of effective systems.
  • Quality management is the "command and control organization in terms of quality of the coordination of activities."

1.2 Quality Management Revolution

  • The first revolution in quality management is to establish a dedicated QC department.
  • The second revolution is the establishment of a dedicated QA department.
  • The third revolution is transmitted to all the QA work in all departments (production, purchasing, logistics, marketing, etc.).
  • Fourth revolution is to eliminate dedicated quality department, or that this is the quality of management 4.0.

1.3 Quality Management 4.0 Quality department eradication

Traditional quality management QA has three core work (audit, tracking, summary) with four different classes (lawyers, police, doctors, teachers), but the quality of management changes 4.0 QA staff roles from the nanny changed coaches, from concern product quality to focus on process quality. This will produce a good cycle :

  • When the QA staff no longer directly involved in solving the problem of product quality, development department will take the initiative to assume such a role, logically speaking, developers should know better than the quality of personnel problem.
  • And when the lead developer begin to focus on optimizing processes (role of QA), quality QA department can upgrade to the role of QM that focus on quality management system framework design is reasonable, the need to integrate various systems.

The mission is to destroy the quality of the quality of personnel department, it seems to be a paradox, but the actual result is this .

When the quality control undertaken by production staff, business process optimization is the responsibility of the various functional departments, quality departments that respect come to an end, which requires quality people clearly recognize this.

Second, Agile Development & Quality Management

For agile development is not in this discussion, there is one additional share in the

First need to understand whether agile or waterfall development, quality R & D team is a concern, quality management are also to be carried out. Anyone who is not concerned about the quality of the team, is no way to long-term development.

Relationship 2.1 agile development and quality management

  • Agile development focus agile, rapid response to change, reducing the impact of the development of the Internet;
  • Quality management focus on quality, ensure product quality, and bring long-term benefits.

Both surface appears to be no relationship, but in fact between the two is a complementary relationship. Quality management provides the foundation for agile agile development, agile development to provide for the quality management of cultural transmission. How to understand?

  1. Agile development focus on rapid response, but long-term agility is the real agility!

If in order to achieve quick sprint forward bulkhead iteration, after a period of time you will find a lot of bottlenecks. For example: a new type of system architecture does not support the needs of the system needs reconstruction; for rapid response, on-line iteration, ignoring the development of unit testing, test ignores a lot of coverage, line problems. Quality management is to provide foundation for agile development, agile development to make long-term fast forward.
2. Quality management of the center of gravity is thought to destroy the quality department, quality will become issues of concern to all .

Agile development is the need for everyone to participate, everyone will be convened by agile development, to implement quality management idea is certainly not a better way

2.2 How do Agile Quality Management

The above-mentioned quality management 4.0 era has begun, need to be agile development and quality management combined with 4.0
points before finishing here when I think of 'test left,' "the quality of the upper limit, the lower limit of quality"

If agile development seen as a "car", quality management as "Road", the team is to do things "to drive to destination"

  1. Identify and comply with minimum mass
    to define the quality limit means that, no matter how bad things done as long as the quality of the lower limit, the product can be considered to be qualified.
    Agile development is combined with strict compliance on the basis of the lower limit of the quality of rapid response that improves the response efficiency and ensure acceptable quality. As long as the "road" presence, "car" can run up.
  2. Continue to challenge the upper mass limit
    challenges on the quality of the line is a better way to make the product better quality output
    combined with agile development together is to improve the quality limit as the "Stone Road" to "asphalt" and then into "high road "so that" car "can be replaced with" sports car "so quickly to become more agile.
  3. Quality management do not become a burden agile development
    to provide appropriate "way" to as specific "vehicles." The team's energy is limited, it is necessary to "drive" but also "road", when the "car" or "Alto" when there is no need for him to repair a "highway", if to focus entirely on the "road" on the contrary, there is no effort to "drive", after all, "the car to reach the destination" is the key
  4. Agile teams of all people to be involved in quality management
    "car" and "Road" have it all, but the "vehicle" open to the "destination" still early, be careful "pit road"!
    Agile development provides fast tool, but it is after all only a tool, the real goal is also to note the completion of the process.

2.3 agile development role in the quality of personnel allocation

Traditional quality management roles (QC, QA and QM)
img

According to the ultimate goal of quality management 4.0 "destroy the quality department," is no longer necessary quality of staff.

But to achieve this ultimate goal is the need for a lot of preliminary work, so QM, QA, QC personnel at this stage remains indispensable even say very important, they need toward "destroy himself" continued to struggle

  • QM post in the establishment of agile quality system, we need to really understand the quality of management, agile development, the definition of quality architecture. QM can be extended if necessary to an organization (including the boss, director, supervisor at all levels)

  • With upper mass limit is the same reason, QA personnel through the dissemination of quality culture, continuous improvement and other ways for the team to bring the quality of the line rising.

  • Also QC staff by functional testing, exploratory testing and other ways for the team to provide quality limit

In fact, the quality of personnel roles in agile development, compared to the Role of the figure are half a step forward. QA QC need to do some work, QA QM need to know basis, QM department to the full organization. The most basic QC tests will be eliminated, so that the agile development

  • If you own nail in the position of the traditional QC, basically dead.
  • If you stare at yourself QA, you can upgrade the system in their own way of thinking, so you have a clearer understanding of quality.
  • If you set yourself on QM, you will be the organizer of the quality system

Third, agile development & QA

3.1 Agile Development & QA

Agile development requires team responsible for the quality of software products, rather than a particular person with QA title. Agile QA team can be all personnel involved in agile development, and not necessarily a specific full-time testers. But when no team personnel responsible for the initiative, still need someone to take the lead into this role, the test person in charge is the most suitable candidate.

So QA staff what can be done in agile development?

Collaborative determine the quality limit

  1. Agile processes helps determine
    agile development does not mean that there is no process, just a small part of a lot of benefits goes face to face communication, reduce the amount of unnecessary waste of time. QA needs to be done is to participate in the development of the entire Agile processes, identify necessary links were retained, the quality assurance process
  2. Helps determine various aspects of the standard output
    (1) agile development may cause the product to get rid of staff MRD document, but PRD documents are indispensable for the output or PRD have a certain standard to ensure product quality links flowing into the research and development aspects
    (2) agile development advocates TDD, BDD and other development model, the purpose is because developers better understand their code to improve the quality mention measured by allowing developers to self-test form, in order to achieve the appropriate reduction in integration testing time. Through the unit test coverage, through the development of the standard rate, to ensure the development of links inflow of quality testing links
    (3) testers as the ultimate guardian of the product, the quality is the last line of defense before the user-oriented, but also have stringent quasi meet the standard of qualified products.
    (4) operation and maintenance personnel as a deployer, you need to perform shelves, the database system cutover packages and so on matters directly deploy server-oriented issues also need to be deployed on standard lines are fewer mistakes caused

Quality assurance limit

  1. For some standards still need to monitor compliance with, after all, people always like lazy, without supervision period is no way to make everyone conscious compliance. So the quality QA team to supervise compliance with the lower limit, so that everyone can gradually develop the habit
  2. When necessary QA needs to act as Scrum Master role, participating in all aspects of Agile processes to guide the team on the right course to achieve quality improvement action

It found that the risk presented key recommendations

  1. QA involved throughout the development process, to understand and grasp the whole system can be said to be the most comprehensive team inside. Also easier to detect all aspects of potential risks exist, and continue to raise concern
  2. Involved throughout the development process for the product, development, testing, operation and maintenance aspects of the plan, the quality of personnel stood unique perspective to make some critical comments

Dissemination of quality culture that encourages quality limit challenge

  1. QA involved throughout the development process, not necessarily need to communicate with every aspect of personnel exchange, QA need to constantly in these exchanges spread quality culture
  2. QA needs at the same time spread a culture of quality, but also encourage team members challenge the quality of the line.

Statistics, continuous improvement

  1. Statistics, this is the QA must master a skill. To actively seek statistical object analyzed by different statistical data, found the agile development, product and so on
  2. Continuous improvement, will participate in the development process, the issue of statistics found, the organization for continuous improvement, and improve the overall quality

3.2 Agile QA, what qualities you need

  1. Very quiet? Do not do a quick QA
    If you are quietly before looking to concentrate on software defect mode, then enter the agile team you may experience a long time not suited. Because agile QA can not passively wait for the software to complete your hands find to do the test, regardless of whether the defect can not be found waiting for developers to repair spontaneously. You need to start from the source software intervention, full participation throughout the life cycle of software.
  2. Bad attitude? As early as possible to give up
    not know if you have experienced such a scene, in severe cases some bit small restaurants, you need to stand near the end of a meal guests such as the edge of space, and some people can ignore the next after the end of the meal anxiously waiting crowd has occupied the seat intently chat. While this behavior is not very good but it is understandable, the flip side, this person's psychology is very powerful, because very few people can refuse to consider others and its own way, and this "ability" Agile QA is very useful.
    If you always worry about what others think, and you will glance right and left, after thinking it directly affects your judgment and decisions.
  3. Not interested in PM, business, code, architecture? Agile QA is not for you
    agile QA needs of the entire system and familiar enough with the business, so as to help business analysts and team found the missing part or unreasonable business from the perspective of QA.
    Also, if you can have some coding ability, to do agile QA it is also very helpful. Of course, industry specializing in surgery, does not require that each QA will write code, but the code has to be some interest, willing to listen to developers explain their logic and realize and understand their thinking by asking questions.
  4. Priority does not manage to work? QA is difficult to do agile
    Agile QA is the biggest challenge, all the time working on a lot of things at the same time, agile QA full participation in the development process needs to communicate with many people, always pay attention to risk, and so on. Manage their own tasks, prioritization is essential qualities

Fourth, agile development & test

The relationship between agile development and testing, have to mention agility test,
agility test of reading comprehension recommend that you make sure you know what is Agile Testing

4.1 Agile Testing & test

What agile testing testers need to do?
Analysis of user needs, agents PO (Product Owner)
in agile development PO great responsibility, but there will be busy PO, missing time, agile testers when necessary, to act as a proxy PO help the person in charge of supplementary products, refined demand and improve the user stories.
Testers object-oriented product, want to really ensure the quality of products is the most important for understanding the needs.

Not only is the writing test cases, test requirements (definition of quality)
agile testing not only need to write test cases, you also need to test whether a complete understanding of product demand, according to the testing requirements into product requirements, based on product demand points into test point.
For the testing requirements management, research and development stood angle conversion testing needs, but also help to clarify business requirements, enables developers, testers for the other needs to have a deeper understanding.
At the same time test conversion needs, but also for the quality definition. In the testing requirements into the process must be added to the test requirements, the demand for quality is not that the definition of Well

To maintain quality perspective, to participate in the assessment process
agile development process there will be some essential aspects of the review, such as needs assessment, design review, and so on. Just as agile testers to participate in these areas, but to maintain the perspective of the quality of development issues, such as whether or not the demand loop, if imperfect outline design, whether demand is not clear, whether the design of unpredictable and so on.

Working closely with customers and developers
according to the nature of work, as the second place team needs most people know, testers need regular or frequent communication and cooperation with the customer (business); and the demand for secondary converters, you also need to follow the development of who work closely.
Released demo (UAT acceptance) and other sectors, the establishment of a let testers communication channel cooperation with customers (business), to take advantage of channels of communication, direct communication allows you to demand a better understanding of
the assessment test requirements, development process needs These problems need to testers and developers to closely cooperate to make the demand to discuss the problem becomes quick and easy positioning

Providing rapid feedback
agile development advocates rapid communication and feedback for the testers is the same. Rapid feedback system problems, in order to make a deal with Fig ah fast.
For example importance smoke test, verify that the system can perform fast, to avoid testing can not be a waste of time; according to more detailed test requirements, develop a quick check to verify that there are omissions, supplemented as soon as possible; problems encountered in testing, rapid feedback solve; test progress fast feedback to alert maintenance personnel ready to intervene early and so on

With test strategy to test specification
front for agile development role in the quality of personnel positioning, test personnel to ensure the quality of the lower limit . What approach allows testers to ensure the quality of the lower limit, the quality of personnel is an important factor, but you can not guarantee the quality of all testers can quickly upgrade, this time standardized testing process is the most basic protection.
Test strategy is a big issue, recommended reading Liuchen Mei teacher's "practice of architects road test", test strategy for more in-depth explanation I have for this book also conducted a reading Share

Testers and analysts role fusion
agility tests need testers testers and analysts integration, stood the test of reasonable point of view of demand, testability analysis system stood the test angle.
Analysts accustomed to dissecting the problem, and testers will bring "critical" vision for the issues, the integration of the two is not that the problem autopsy found inherent "flaws" Well

Master exploratory testing (appropriate exploratory testing)
first need to understand exploratory testing, exploratory testing simple to understand after the function test is completed, according to the logic of the system continue to explore the Boundary, logic, boundary deployment environment, the boundaries of the system and so on , to find more problems.
Suitable exploratory testing, exploratory testing is not no regular blind test, it requires the same regularity conditions Liuchen Mei teacher's "practice of Test Architect Road" also mentioned this.
Do not fall into exploratory testing, your underlying basic functions are not yet complete test went exploring, it would not make any sense

Automated regression testing
agile development is to improve the efficiency, and the same for the testers need to improve efficiency, will return to the old version of the old demand of high-volume automation, and soon save a lot of time can be used for new features, new requirements exploratory testing yet? But remember that agile development of automated test the same emphasis is on efficiency.
For UI Automation, it is recommended with the front page elements with the id standardization, to develop a common specification id can help automate maintenance UI, PO mode is indeed a good choice
with respect to the UI, the interface might be more appropriate to automation, the same pattern can learn PO management UI, reduce maintenance costs

BDD (off topic)
Many companies will introduce TDD development model, to write unit tests to write code; if in case of TDD do, you can continue to enter the BDD, white box for the needs of the business may be more likely to find problems than the black box after all, the problem is more likely to directly call the internal function than calling the whole system discovered.

Reference 1 https://www.sohu.com/a/128624542_177747
Reference 2 https://wenku.baidu.com/view/b9080553ed630b1c58eeb564.html
Reference 3 https://www.cnblogs.com/mikeyond/archive/2011/ 06/30 / 2094274.html
reference 4 https://segmentfault.com/a/1190000019268535
reference 5 https://www.jianshu.com/p/d5496e5247c7

Published 77 original articles · won praise 19 · views 20000 +

Guess you like

Origin blog.csdn.net/baidu_36943075/article/details/100546829