Successful implementation of automated testing five pillars (translation)

 

Summary:

What comes first is composed of test automation "proper implementation" will often focus on the tools you need, but that is only part of the equation. 巴斯迪杰斯 Tel details the other four things you need to consider how they are committed to the success of your automated testing, and related to them can not pay due attention to the risks of any one.

To expect rapid transmission quality team, the implementation of automated testing is an important part of the software development cycle. Test automation, however, can only be successful when properly implemented. Methods of test automation to address what constitutes "proper implementation" often focus on the task at what tools must be used, or the best (even if there is such a thing) or the most efficient use of specific tools for the task given.

It seems to me, though, it is only a tool used part of the overall equation of automated testing. Any successful implementation of automated testing is a unique five-part.

In this article, we take a look at each of these parts, how they are committed to the success of your test automation implementation, as well as the risks associated with them can not pay due attention to any one of.

1. Test Automation Tool

Although the role of acting as the only factor in the success of test automation is not implemented, the tool clearly made an impact on the overall results of your automation efforts. Select a tool in the test is not enough to match with your application or one of your team is not suitable for automation of skill sets, it will lead to less than optimal results.

Even more important than the choice of tools is, in any case, ask yourself in the end what is right where you want to cover in your automated testing, and then decide the result of a more efficient method of acquisition. An example of a need to limit the question is asked a specific function or business logic modules need to be confirmed and at what level.

You want to make sure your users can open your shop, search for a specific product, and then place the note and sort it? You probably will want to use end-user interface drive test to check this. If you are about to confirm the correctness of a logic to determine whether a user is allowed to buy a particular item (for example, due to the national standard or rural), then you might be able to hook you write at low levels tested test application, such as an application programming interface, or even simple code classification. This composition is a range of different methods and tested and as a result, requires a different tool.

In short, in order to determine the first time you take the time to know what your automated test needs to be verified before the results of how to meet the requirements. Remember to make your tool does not do what it was designed there is a significant risk.

2. Test Data

Another important factor in any serious test automation solutions for the management of test data. The broader the scope of the test, the more important, but also the requirements, test data management came.

When the unit tests you can simulate away all your test depend on the data, when you start working on integration or end to end testing, you will need to present your application in specific data in the test. And, to make things even more complicated, you will often be in the experimental stage while other systems of data in a particular country in order to communicate with your application interaction.

Some test method for processing data in these types of tests:

  • Create the required test data at the start of the test phase
  • In order to test before the start of the test data exist to query the system
  • Before starting the test execution initialize your application database in the testing phase

Each of these methods has its potential dangers:

  • Create a test at the beginning of the test data to increase test execution time, increasing the risk of failure before the test itself even started, and cause a lot of useless data to test if there is no appropriate data clean-up procedures.
  • When you test data exist to query the system before starting the test, you start the risk of accidental use of illegal test data, or do not appear with the appropriate priority in the system test data.
  • Before test execution to initialize the database allows you to manage and maintain the database snapshot finer - that is, even if you are the first to be allowed to perform a database recovery program.
  • Note that there is no suitable test data processing method for integrating and end test. In any case, choosing the wrong program, or simply failed to locate test data problems, may result in automated test solutions are becoming not reusable, can not be maintained, or non-measurable.
  • Bulk material is rapidly repeat the mistakes of the dinosaurs. Modern information technology systems composed of many interconnected components, services, and to deliver business value and work with application components. For testing purposes, however, this is usually not good news: have to manage and depend on the availability of independence, especially those who are outside of your control loop, for your integrated and end to end testing can cause a lot of indirect costs , frustration, and delay the test of time. Still, when you want to create and use automated testing as part of your testing process reliability and manageability test environment is the key.
  • Reduce the risk of a failure or absence of the test environment is to use simulation techniques such as piles, simulation, and service virtualization to replicate the behavior of independence in your test environment is critical and difficult to obtain. Do virtual reality simulation of the behavior of independence sufficient to complete the test you want to perform can greatly enhance your speed automated testing - and, therefore, your development results.
  • In addition, when the virtual environment is properly created (for example, through the leverage of container), rebuild a new instance of the same test environment, with the same test data and other properties is complete, it may indeed moved from a continuous automation test, when if you are going to adapt to the continuing transfer of this as a more flexible approach and a better response to market demand in turn a prerequisite.
  • Automated test execution as a result of the generated report should be any reliable test automation methods important part. Create a good test result report is often ignored, though it is a potential time - (and life -) saves the task in any testing automation project. Far beyond good report shows the number of test runs, through, and failed, although only it were better than nothing.
  • In order to perform a test report becomes really valuable, you need to test to be performed (note that for any good report clear and unambiguous naming your test format is based) is to visualize what is and what is not only the result ( pass or fail), and in case of failure of the test where some of the things that caused the error in detailing as precisely as possible.
  • This differs from the information provided by the only copy of any and every test reports bring into your overload - that unnecessarily delayed until the root causes of test failures. A good report shows some wrong things, in a test where the error occurred (on what steps), what is the error message (depending on your audience reporting, which is as simple as a stack trace, but in other cases you may need to provide the error information can be read non-art) and the state of the application at the time of failure (for example, a user interface using a drive test under the test shots).
  • Note that a good strategy report may contain more than one execution every time you create a report. If your test is to build a sustainable integrated part of the pipeline, you might want to create a low level of reporting you can build engine explained to decide whether to continue the build. But you may want to create a report in HTML format readability, according to the original purpose of the test is complete description, in case of failed test while human - readable information and screenshots. It all depends on the audience.

3. Test Environment

  • Bulk material is rapidly repeat the mistakes of the dinosaurs. Modern information technology systems composed of many interconnected components, services, and to deliver business value and work with application components. For testing purposes, however, this is usually not good news: have to manage and depend on the availability of independence, especially those who are outside of your control loop, for your integrated and end to end testing can cause a lot of indirect costs , frustration, and delay the test of time. Still, when you want to create and use automated testing as part of your testing process reliability and manageability test environment is the key.
  • Reduce the risk of a failure or absence of the test environment is to use simulation techniques such as piles, simulation, and service virtualization to replicate the behavior of independence in your test environment is critical and difficult to obtain. Do virtual reality simulation of the behavior of independence sufficient to complete the test you want to perform can greatly enhance your speed automated testing - and, therefore, your development results.
  • In addition, when the virtual environment is properly created (for example, through the leverage of container), rebuild a new instance of the same test environment, with the same test data and other properties is complete, it may indeed moved from a continuous automation test, when if you are going to adapt to the continuing transfer of this as a more flexible approach and a better response to market demand in turn a prerequisite.

4. Report

  • Automated test execution as a result of the generated report should be any reliable test automation methods important part. Create a good test result report is often ignored, though it is a potential time - (and life -) saves the task in any testing automation project. Far beyond good report shows the number of test runs, through, and failed, although only it were better than nothing.
  • In order to perform a test report becomes really valuable, you need to test to be performed (note that for any good report clear and unambiguous naming your test format is based) is to visualize what is and what is not only the result ( pass or fail), and in case of failure of the test where some of the things that caused the error in detailing as precisely as possible.
  • This differs from the information provided by the only copy of any and every test reports bring into your overload - that unnecessarily delayed until the root causes of test failures. A good report shows some wrong things, in a test where the error occurred (on what steps), what is the error message (depending on your audience reporting, which is as simple as a stack trace, but in other cases you may need to provide the error information can be read non-art) and the state of the application at the time of failure (for example, a user interface using a drive test under the test shots).
  • Note that a good strategy report may contain more than one execution every time you create a report. If your test is to build a sustainable integrated part of the pipeline, you might want to create a low level of reporting you can build engine explained to decide whether to continue the build. But you may want to create a report in HTML format readability, according to the original purpose of the test is complete description, in case of failed test while human - readable information and screenshots. It all depends on the audience.

5. Skills

Finally, and most importantly can not talk, the fans to create a strong and effective test automation solution is the person responsible for implementing it. No skilful automation consultants, architects, engineers, and developers concerned about all the other aspects of test automation mentioned in this article, you will probably end immediately at any place.

Your test automation team must ideally are skilled in testing, so they can answer why the test automation will first be a suitable solution, and what tests should be automated; and they have the skills in software development, meaning We know how to create and implement a test automation robust maintainable. This does not mean that your test automation every member has the skills required in each area, but as a whole, your team needs to have in order to deliver a healthy balance of both.

Put it all together

A good test automation solutions need to focus on more than just drive testing tools. To be truly successful automation, you need to think of ways to test the data on your strategy, how you manage your test environment, and you notice the way your audience about your automated test execution results. The most important thing is, in any case, it is about creating a know how to do all of the above-person team.

Guess you like

Origin www.cnblogs.com/fengye151/p/11519178.html