In contrast, programming, testing does not produce surplus value, ie testing does not directly affect the pricing. You’ll spend 1000 or 1.000.000, it will not affect the value of the program to the user at the time of purchase. The awareness level of quality comes to the user later, with experience of using the program. As a consequence of this fact, many managers refuse or curtail the maximum cost of such "no profile" activity, as tested. But there is a boundary beyond which the costs of testing will be meaningless. In this situation it is better to use the principle of "all or nothing." Partial solutions are always economically justified, and entails inefficient spending budget.
These and other questions I will try to highlight in his article.
Craze last time – the passing of certification for compliance with various international standards. In obtaining certification, many companies see their competitive advantage. On one hand, customers can evaluate whether a company’s development processes, on the other side – the application of time-tested and the errors of other techniques can actually improve productivity, quality and, ultimately, customer satisfaction and the users of manufactured products.
But what about those who do not need international certificates? Is there some optimal price / quality ratio in software testing? How to create a monitoring service quality "from scratch"? Questions, questions, questions …
Like any other process, testing has its own life cycle. Must first create a process as such. Only if you have one can say that you control the quality of their product. Without further ado, let’s call this stage of the installation process.
To determine whether you have a testing process to fully propose to perform a quick test – a test Grinkevich. A total of six questions.
If at some of the questions you answered "no", then there must disappoint you. You do not have the testing process. All costs of the testers and spending on test activity may not be effective. Each "no" means that you either do not control the process or do not control the lab environment, or do not control the work of testers, or both. But the conclusion from all this one – you do not control the process and, consequently, the level of the quality of your product.
If you answered yes to all the above questions, congratulations! Your investment, at least, justified and not wasted. Do you have a basic process that can be upgraded or "nurtured" to any level of international standard CMMI.
In the next stage of development services can do the optimization process. When broken down into components of the tester, among them only one operation directly affects the quality of the product – check the program for any defects. All other operations – supporting and only serve the objectives of security and support. However, it is minor operations eat up the lion’s "share-time tester. The conclusion is obvious – Automating the maximum number of operations that can be automated (but should not be confused with the automation of functional and functional testing).
When it comes to driving, the management process is clear and obvious. The term "governance" implies that you have when you want, you can move, stop, overtake or change lanes. And you are at any given time can determine exactly what is happening with your car. Sensors Machine inform you about the speed of the machine, and road signs – The Associated Press. Any failure to comply with traffic regulations may result in an accident or encounter with the police. In other words, if you do not follow the rules and / or fail to comply with the process, then the risk of adverse effects increases. Than willful infringement, the risk is higher.
The same analogy can be applied to testing programs. In order to manage the process you need the performance of the process and criteria (indicators of border states). If you do not have sensors, indicators, then you can not determine the current state of the process. If you do not have the criteria, you can not measure trends in performance, and therefore can not determine the risks.
It is in identifying and minimizing risks is the key role of testing. Obviously, the test program is 100% impossible. This has been proved mathematically. Consequently, carrying out testing must operate limited resources (human, financial, time). To do this effectively, you need to build sound plans to schedule the optimum performance and achieve as close as possible to these indicators in the process of creating the program.
It seems everything is obvious. But in contrast to the development, test management is much more difficult. Developed by "producing" the code and its work can be judged by the final result. The tester did not produce anything. How to determine its performance? How to determine the impact? How to determine the quality of his work? The answer to all these questions can only give a clear standardized testing process, as well as measurements of its benchmarks.
However, here lies a lot of pitfalls. On the one hand, there is a temptation to reduce everything to simple measurements of performance. For example, the number of defects found. People who have found the one and steeper. Hence his bonus. The reality is much more complicated. The record for finding the defects can be caught inexperienced developer who for two days from college.
In order to have a complete picture of what is happening and have a leverage process management requires a set of gauges, which together are able to describe various aspects of product quality. Making changes in process and tracking the results of the indicators can not only control the process, but also to manage them.