Больше выборок |
21.11.2022 00:00 |
Автор: Маарет Пюхяярве (Maaret Pyhäjärvi) Тестирование – проблема выборки. И именно в выборках мы делаем очень существенные ошибки. Ошибка в выборке компьютера разработчика ведет к печально знаменитым фразам вроде "на моей машине все работает" и "мы не релизим твою машину". Одна-единственная ошибка выборки приводит к тому, что мы осознаем, что оно работало, когда мы на это смотрели, даже если очевидно, что оно не работает, когда на него смотрит кто-то еще. И мы возвращаемся к своим заметкам о выборке и том, какую конкретно комбинацию мы использовали, дабы разобраться, была ли проблема в партии, которую мы выбрали, или просто этот единственный вариант был не очень хорошим тест-решением. На этой неделе я занималась выборкой. У меня был новый отчет подготовки к полету, включая временной снимок погодных условий. Если компьютер смог это сделать один раз, он должен иметь возможность это повторить. Но у меня были другие планы, как это тестировать. Я написала небольшой сценарий, который авторизовывался и сохранял отчет каждые 10 секунд, нацеливаясь на 10000 версий этого отчета. Частью моей мотивации для этого было нежелание смотреть на пользовательский интерфейс, но еще более важной причиной была нехватка времени на концентрацию – я работала в паре со стажером над ее первым проектом тест-автоматизации. Легко задним умом сказать, что увеличение выборки было годным шагом исследовательского тестирования. Я выяснила, что регулярная выборка на уровне пользовательского интерфейса ведет себя как жизнеобеспечивающий механизм для токенов, которые затем не утрачивают силу, как ожидалось. Я выяснила, что для ежеминутных отчетов выборка каждые десять секунд может сильно варьировать, и могу исследовать проблему времени поглубже. Я выяснила, что если дать приложению достаточно возможностей продемонстрировать изменения, то если эти изменения не происходят – что-то сломано, а мне могло не повезти: я могла просто не заметить этого на меньшей выборке. Я выяснила, что выборка позволяет мне выбирать время и паттерны для смерти системы за работой. Я выяснила, что мертвые системы дают неверные отчеты, хотя я ожидаю, что они не будут производить отчетов в принципе. Единственный тест с большой выборкой дал мне куда больше, чем я от него ожидала. Он позволил тестированию произойти без моего вмешательства, пока я не нашла время вернуться к нему. Он не был автоматизирован, я просматривала логи результатов, правила свои скрипты для следующего дня, чтобы увидеть новые паттерны, и получше выбирала значения, которые хотела оставить для регрессионных забот. Это исследовательское тестирование. Не ручное. Не автоматизированное. Оба. Мудро выбирайте информацию, которую ищете, сейчас и впредь. Обучение важно. |