Left test

With the development of the software industry, new trends and operating model also will be developed, each "software model" aimed at bringing about greater efficiency in the "software development" of each stage.

One of the most widely used software development model is the "waterfall model", in which all activities in the software development life cycle (计划/需求收集->软件设计->编码(开发)->产品测试)executed sequentially. The main drawback of "waterfall model" is that not all perform testing activities at each stage. Therefore, only after an error is found in the "product development" to complete.

If the severity of the error is small, the developer can fix the problem and submit the changes for verification. If the severity of the "very high", the situation will be changed dramatically, and this fix may cause side effects. In this case, release products to customers will be delayed. In such a model, the test stage is located in the testing life cycle of the far right.

Giving power to the test

With the development of different software models, such as agile model, incremental model, the spiral model. People realize the importance of "software test". Keep the "one-off test" activities involve a number of risks, because of its project deadlines and costs have a lot of influence. This understanding creates the concept of "transfer of improvement", the upcoming test phase to the left, and by allowing the test team in power to project implementation activities vital to endow the test team. In the earlier test methods, the test phase at the end of the development cycle, and in the Shift-Leftprocess, involving the test phases of development.

In traditional software development methods, the test team as 孤岛like work, because their main job is to identify the error and error reporting by the development team to improve product quality. In the important stages of product planning and development, there is little testers participate. By Shift-Leftconcept, test teams can become more involved in every stage of product development. The test team can be this way in collaboration with other stakeholders, such as the development team, product planning teams, product development teams, marketing teams, etc., so that in the early stages of development to instill "test ideas." Because the test team have the opportunity to interact with members from different teams, so this will help deepen their understanding of writing effective test cases will help improve product quality.

Therefore, Shift-Leftthe concept not only helps to find errors in the early stages of product development; but it can also help test team in cooperation with other stakeholders to improve the competitiveness of the field, and made more realistic test cases.

The main benefit of testing left

When you left the test as part of the SDLC progresses, it will bring many benefits.

lower the cost

Shift-LeftLarry Smith, founder of the concept mentioned "bugs are cheap when caught young" . In a typical testing life cycle , the test is performed at the end of the product development cycle. As previously mentioned, the cost involved and the meaning of bug fixes will be doubled based on the discovery wrong time. According to Larry Smith's point of view, BUG must be found as soon as possible before the discovery.

Once the implementation of the "left" test, the test will be considered an integral part of every stage of product development. Thus, each building have carried out a test in order to find and fix errors early. Once the code amount of multi-coupling between the more minor errors accumulate, module more closely, solve simple problems may take more time, and can cause some side effects. Left test strategy can reduce the total cost of development, testing and repair.

improve quality

Shift-LeftThe method can ensure timely communication between the different stakeholders of the project. Developers can cooperation Talking about unit testing and integration testing development. Automation is Shift-Leftan important part of the test, with automated scripts, test team can perform multiple test day. With "BUG" provided in the form of product feedback, which helps improve code quality (as well as to improve the code coverage by developing test cases and test suites).

This can reduce the number of problems encountered in the production stage, which means that you can improve overall code quality through rigorous code quality checks to ensure that customer delivery "is more stable final product."

Left test implementation

The fundamental difference between "to the right" and "left to" test method is that the test team need to be involved in software development, "each critical stage." In a development environment from the unit tests to migrate to the test environment to a production environment before pushing the final code. However, implementation of this method than done easier said than done, because the team needs to test out of the "comfort zone", and each stakeholder needs to change ways of thinking, so that they can cooperate in order to successfully complete the project and testing teams.

Left Test Highlights

  • In the "left" test method, the test team to participate in the discussion of important projects, which makes them a better understanding of the project requirements. In this process, the test team will collect information on project planning and execution of a large number of details. This will motivate the team to do better in their daily activities, because the team will encounter important learning experience every day.
  • In addition to product / project planning and development teams, few members of the business is very understanding, because they never acquired the information. With the left testing, software testers can ensure that their work contributes to the goals of the team / organization's business play a crucial role.
  • In today's energies are focused on the "seen" the time schedule for delivery and implementation of shorter and shorter. This is why the introduction of automated testing in DevOps , so that you can speed up the testing process. By Shift-Lefttesting, the test team will work closely with the development team to propose automated test cases. By adopting this approach will improve the "synergy between teams", which for the realization of Behavior Driven Development (BDD) and test-driven development (TDD) is a very important aspect.
  • There is a common misconception that developers only need to develop code. In order to improve the quality of code, developers should establish a "development and testing" way of thinking, so that developers find and fix bugs themselves. Through the implementation Shift-Left, developers can develop and test methods to concentrate the same time to take on more responsibility.
  • Automated test scripts involved in the implementation of a variety of skills team members with a complete testing framework and programming languages ​​in technology. Once implemented, left the test, testers can become part of the regular routine meeting in product development, code review and other important events. As the testers can participate in every stage of "software ,, so they can make more test strategies, test plans and test cases.

Proper execution of Shift-Leftthe test can improve their skills in the field of (developers, testers, etc.), and to improve communication within the team, which for the success of any project is critical.

Left Test species

Left test can be carried out by four different ways:

  • Traditional testing left: The left traditional testing methods focuses more on the cell level testing and integration testing. This is done using API testing tool to achieve. It does not put more emphasis on acceptance testing and system level testing.
  • Left incremental test: Left incremental test is widely used in projects with high complexity. In order to reduce the complexity of the project tasks and deliverables into smaller parts. This approach allows testing tasks become easier, because you can also perform tests on smaller parts. These fragments are interdependent, each increment. The software is also delivered to the customer. After each delivery, development and testing will gradually move to the left.
  • Agility / DevOps the left: As the name suggests, such a test is left in many sprintexecuted. It is mainly used for development and testing, and not for operational testing. Agile / left DevOps test is becoming more common, and in accordance with requirements of the project schedule embodiments DevOps using this test method the left.
  • Model based on the left: the whole concept left early recognized test BUG. However, the type of the left in the previous method, the test will begin early in the development cycle. Therefore, once the software is ready, it will explore the issue in the requirements gathering / design phase may have been discovered. The main problem is gathering phase in the requirements, the design phase was introduced nearly 45% ~ 65% of the defect. Left in model-based testing, the test can begin early, so that you can report on errors before the beginning of the software development cycle.

All in all, left the test is more about each stage of the implementation of continuous testing .

  • Solemnly declare : The article first appeared in public No. "FunTester", prohibit third parties (except Tencent cloud) reproduce, publish.

Technology Featured articles

No code Selected Articles

Guess you like

Origin juejin.im/post/5e59d867e51d452717262e89