Логические ошибки для тестировщиков, часть 1: «после» не значит «вследствие» |
10.07.2023 00:00 |
Автор: Кристин Джеквони (Kristin Jackvony) В последнее время я размышляла о мышлении; а конкретнее, о навыках критического мышления и о том, как они важны для всех, особенно тестировщиков. Если тестировщики не могут критически мыслить, они не способны быстро диагностировать проблемы ПО или найти хорошие решения для тест-задач. Поэтому в этом году я решила писать статьи про критическое мышление! Ежемесячно я буду писать про новую логическую ошибку. Логическая ошибка – это распространенная ошибка рассуждений, которую делает большинство из нас, думая над проблемой. Логические ошибки часто допускаются, когда люди отстаивают определенную точку зрения в споре, но также и при попытках докопаться до первопричины проблем. В каждой своей статье я опишу логическую ошибку месяца, дам типичный пример, а затем расскажу, где с ней можно столкнуться в тестировании. Затем я приглашу вас подумать, совершаете ли вы эту ошибку в своем тестировании. Начнем с ошибки «после не значит вследствие». Эта ошибка возникает, когда человек берет два отдельных события и решает, что одно вызвано другим, так как они коррелируют. Допустим, что исследователи острова Амити изучают причину большого количества атак акул этим летом. Они рассматривают другие данные по острову и обнаруживают, что продажи мороженого этим летом тоже выросли. Они приходят к выводу, что потребление мороженого, вероятно, вызывает увеличение количества акульих атак. Это, очевидно, просто смешно! Корреляция между двумя видами данных не означает, что одно вызвано другим (если хотите посмотреть на действительно смешные примеры корреляции данных, зайдите на сайт Тайлера Вигена, Spurious Correlations.) Рассмотрим пример из тестирования. Представьте, что существует социальная сеть «Милые фото котяток», в которой пользователь может создать учетную запись и делиться фотографиями котяток. Каждую пятницу команда сбора данных Милых Фото Котяток запускает серию отчетов, определяя использование платформы и наиболее популярные фото за неделю. Также каждую пятницу IT-команда обнаруживает, что использование CPU серверов подскочило до опасных значений – некоторые пользователи даже получают ошибку 500, пытаясь попасть на сайт. Очевидно, что такие выбросы CPU вызваны собирающими данные отчетами, правда же? Именно так думает IT-команда! Но команда сбора данных убеждена, что не вызывает проблем. Они указывают на данные, демонстрирующие, что отчеты очень мало нагружают систему. И наконец более тщательное расследование выявляет, что один из пользователей платформы делится TIFF-изображениями своих котяток. ПО плохо справляется с таким типом изображений, что вызывает ряд повторных попыток, а также повторы повторов, давая большую нагрузку на серверы. Из примера ярко видно, что корреляция не означает каузацию, и первая и наиболее очевидная причина проблемы – не всегда верная. Столкнувшись со странным багом, имеющим вроде бы очевидную причину, спросите себя – что еще он может означать? |