Of course, all developers know that you need to use tests. Of course, some of the developers even have these tests. But different applications need different tests! What applications are the most difficult in terms of testing? We meet under the cut and discuss in the comments.
About what tests are and how applications should be tested, articles and books are written, software products are released. Nevertheless, I assume that most programs are still made without tests, due to the not very high development culture. Some departments of automation are not IT companies, small factories and others undoubtedly worthy of production are increasingly resorting to using programs in their activities and often even have full-time programmers. But the development culture in such teams is usually not high.
At the same time, when developing some software products, it is simply impossible to do without tests. If the development of a database for a pharmacy of 5 employees can still be pulled without tests, then, for example, even purchase tests are often used in compilers! For example, they
sell the “SuperTest C / C ++ compiler test and validation suite”, which consists of 2 million tests in 18,800 test files. And when developing compilers (for example) Intel C ++ or Microsoft Visual C ++, the development and support of different test suites are separate serious projects, with budgets comparable to the development itself. But the compiler theme is close to me, so I know something about it.
I also know the topic of developing high-tech software, where, unfortunately, not everything is so smooth with tests. Of course, they are and are used (of different levels), but the problem is that the test cannot be performed for several hours, and high-tech software sometimes requires such an approach. In addition, there are a number of other problems when testing such applications - on Habré there were two wonderful articles on this topic ( 1
), I will not copy them.
Finally, I have an opinion on the situation with tests in other areas of development. For example, in igrostroy (Starcraft2 - the best in quality, but in the whole industry the situation is sad). Or in banking software, where, unfortunately, developers, in principle, can never use their programs and therefore cannot adequately judge them. But I would like in the comments to hear the opinions of programmers about the following questions:
- How common and used tests (of all kinds) in their subject area.
- What are the problems with these tests, which prevents the full use.
The results of the discussion in the comments I will try to publish in one of the following notes.