risksofignoring-gsenin - r&e
TRANSCRIPT
Risks of ignoring best practices of software testing
Grigory Senin, Luxoft Training Center
What is the role of Testing Best practices?
Are they absolute requirements? If not then what do they mean? Should we care or concern if not
following them?
In the article it is suggested to regard the best practices as mitigation of risks in testing, and ignoring of
the practices as allowing for these risks in test projects which implies the need to manage the risks.
Many testing organizations do not believe in, are sceptic about, or neglect the practices. To justify this,
they claim it is too expensive and not worthy to follow. Is that bad or not so bad?
Definitely, these practices are not absolute. What’s the problem then?
Remember, regulations are often “written in blood”. Perhaps, not literally but they base on experience
and events that did cost a lot. So every good testing practice was written when something went wrong
during testing.
In other terms, each time a risk has materialized (bad event happened) a practice mitigating this risk is
going to emerge.
Project environments vary. That is why a generalized practice may be not relevant in such and such
context. Or, suppose we are neglecting a specific practice presently: it seems too expensive for us to
implement. At the same time we suffer from some serious project ‘pains’ again and again. If we could
discover the close relationship between the neglected practice and the pains, we perhaps reconsidered
our attitude. To avoid the pains may cost less than to continue to suffer.
Example.
Good practice: “Conduct inspections/reviews of requirements and other artifacts”.
A risk of neglecting: “Too many defects are detected late in the development cycle”
Consider incorporating reviews in your process. Consider effects of late defects. Evaluate the cost of
both. Compare. It would be more balanced, more reasonable than to stay in ignorance. At the very least
you will be informed and alerted for change (praemonitus, praemunitus)
In general, to verify how relevant some practice is we reveal the unhappy event caused by neglecting
the practice. Then we check for whether the damage is crucial in our specific case. It may happen to be
insignificant – so the informed decision would be that the practice can be ignored at no or minor risk.
This article shows several examples of the approach in the field of testing, treating best practices in
terms of risks.
Риски нарушения лучших практик тестирования
Григорий Сенин, Учебный центр, Люксофт
В чём смысл так называемых «лучших практик», в данном случае применительно к тестированию
ПО?
Являются ли они жёсткими требованиями? А если нет, то как к ним относиться? Если мы их
нарушаем, должно ли это нас беспокоить?
В сообщении предлагается интерпретировать лучшие практики, как защиту от определённых
рисков тестирования, а нарушения практик – рассматривать как появление этих рисков в проектах,
что приводит к необходимости ими управлять.
Многие организации, связанные с тестированием, к тем или иным практикам относятся
скептически, слабо «верят» в них или открыто пренебрегают ими. Для оправдания они заявляют,
что следование практикам обойдётся слишком дорого, и они не могут себе этого позволить.
Может быть, в этом нет ничего плохого?
Разумеется, никакая практика не является священной заповедью. В чём же проблема?
В авиации говорят: «Всякое правило написано кровью». Не так буквально, но это относится и к
другим областям. «Правила тестирования» отражают наш печальный опыт, напоминают о
событиях, которые нам, тестировщикам когда-то дорого обошлись, и служат тому, чтобы избегать
нежелательных событий впредь.
Говоря в других терминах, материализация риска («плохое» событие) ведёт к созданию практики,
нивелирующей этот риск.
Обстоятельства, в которых протекают проекты, варьируются. Рекомендации и практики поэтому
не являются абсолютно обязательными. Любая общая рекомендация в контексте конкретного
проекта может потерять свою силу. Обратно, организации кажется обременительным, затратным
применять некие «золотые правила», и она пренебрегает ими. В то же время организация
постоянно страдает от определённых проблем. Если бы ей вдруг открылась прямая связь между
пренебрегаемыми правилами и испытываемыми проблемами, организация могла бы
пересмотреть своё «поведение». Избежать проблем, пусть с затратами, может оказаться дешевле,
чем продолжать страдать.
Пример хорошей практики: «Проводите рецензирование проектных требования и других
артефактов».
Риск пренебрежения: «Слишком много дефектов обнаруживается в конце цикла разработки».
Рассмотрите возможность внедрить процедуру рецензирования в процесс разработки.
Проанализируйте последствия «поздних дефектов». Оцените стоимость того и другого. Сравните.
Знать, чего стоит нам внедрение практики и чего стоит пренебрежение ею, разумнее, чем
оставаться в неведении. Как минимум, вы будете готовы к изменениям, даже если они будут
отложены на будущее.
Итак, оценивая уместность той или иной практики, мы находим риск, «вредное» последствие её
несоблюдения, и оцениваем ущерб, возможный в нашем конкретном случае. Он может оказаться
незначительным, и мы примем информированное решение о том, что практике можно не
следовать без особого риска.
В сообщении рассматриваются примеры описанного подхода: лучшие практики тестирования
истолковываются на языке рисков.