Перевод твит-ленты Майкла Болтона тезисно описывающей, что такое "проверки", и почему тестирование не может быть автоматизированно.
Update: чуть позже появилась его статья.
Disclaimer: не в первый раз замечаю, что литературный слог Болтона тяжело поддается переводу в лоб. Любит он экзотические формулировки. Поэтому что получилось, то получилось :)
1. Вы не делаете проверок. Вы тестируете, и одна из ваших тактик - это дать компьютеру задание сделать проверки.
2. Если вас просят что то проверить, вы точно облажаетесь, потому что человеческая природа не даст вам действовать алгоритмически.
3. Как тестировщик-человек, не робот, вас нельзя запрограммировать что-то сделать (гипноз?). Вы будете именно тестировать, это неизбежно.
4. Человеческая изменчивость (вариативность) - это то, почему вы находите ошибки, даже когда повторяете те же шаги, что и успешно завершенный скрипт, который не нашел никаких проблем.
5. Между тем, те, кто программирует (пишет) проверки, сами не делают проверок, потому они не следуют строго прописанным алгоритмам.
6. Алгоритмы не имеют мнения, мудрости и нацеленности (интенциональности) для того, чтобы генерировать проверки. Вам нужны люди - эти чертовы умельцы делают это хорошо.
7. Проверки - это часть тестирования, которая полностью может быть выполнена алгоритмически. Поэтому "писать проверки" - это не "делать проверки".
8. Компиляция - это часть программирования, которая полностью может быть выполнена алгоритмически. Разрабатывать программы - это не "компилировать".
9. Тестировать весь продукт делая только проверки - это все равно, что разрабатывать продукт просто компилируя код.
Еще на эту тему: статья Баха "Тестирование и проверки" и более свежая статья Testing vs Checking – Why is this still so contentious?
Update: чуть позже появилась его статья.
Disclaimer: не в первый раз замечаю, что литературный слог Болтона тяжело поддается переводу в лоб. Любит он экзотические формулировки. Поэтому что получилось, то получилось :)
Тест или Проверка? :) |
2. Если вас просят что то проверить, вы точно облажаетесь, потому что человеческая природа не даст вам действовать алгоритмически.
3. Как тестировщик-человек, не робот, вас нельзя запрограммировать что-то сделать (гипноз?). Вы будете именно тестировать, это неизбежно.
4. Человеческая изменчивость (вариативность) - это то, почему вы находите ошибки, даже когда повторяете те же шаги, что и успешно завершенный скрипт, который не нашел никаких проблем.
5. Между тем, те, кто программирует (пишет) проверки, сами не делают проверок, потому они не следуют строго прописанным алгоритмам.
6. Алгоритмы не имеют мнения, мудрости и нацеленности (интенциональности) для того, чтобы генерировать проверки. Вам нужны люди - эти чертовы умельцы делают это хорошо.
7. Проверки - это часть тестирования, которая полностью может быть выполнена алгоритмически. Поэтому "писать проверки" - это не "делать проверки".
8. Компиляция - это часть программирования, которая полностью может быть выполнена алгоритмически. Разрабатывать программы - это не "компилировать".
9. Тестировать весь продукт делая только проверки - это все равно, что разрабатывать продукт просто компилируя код.
Еще на эту тему: статья Баха "Тестирование и проверки" и более свежая статья Testing vs Checking – Why is this still so contentious?
Комментарии
Отправить комментарий