Инна Смирнова Рексофт

advertisement
Инна Смирнова
Рексофт
Превосходный
анализ, но я думал,
вы копнете
поглубже...
Шерлок, здесь
мертвая
женщина!
1. На основе всех фактов и улик строится полная
картина преступления.
2. Отталкиваясь от полученной картины
преступления, разыскивается единственно
соответствующий ей обвиняемый
Cбор информации о баге:
 Отклонение от ожидаемого результата
 Анализ зависимостей
 Окружение
 Симптомы
 Серверные логи
 Firebug и другие инструменты
 Способы воспроизведения
 Продолжение варианта использования
"По одной капле воды человек, умеющий мыслить логически, сможет сделать
вывод о существовании Атлантического океана или Ниагарского водопада,
даже если он не видел ни того, ни другого. Всякая жизнь - огромная цепь
причин и следствий, и природу ее можно познать по одному звену."
 "В искусстве раскрытия преступлений первостепенное
значение имеет способность выделить из огромного
количества фактов существенные и отбросить случайные.
Иначе ваша энергия и внимание непременно распылятся
вместо того, чтобы сосредоточиться на главном."
 "Раскрыть это дело было трудно потому, что скопилось
слишком много улик. Важные улики погребены под кучей
второстепенных. Из всех имеющихся фактов надо было
отобрать те, которые имели отношение к преступлению, и
составить из них картину подлинных событий.". Как мы
можем это применить в тестировании.
 Генерируем гипотезы
 Сортируем их по степени вероятности
 Придумываем тест для подтверждения
гипотезы
 Придумываем тест для опровержения
гипотезы
 При необходимости, возвращаемся к шагу 1.
[A или B или C] + [В] => не A, не C
[ A или B или C ] + [не A, не C] => B
По запросу «Иванов Иван» система не выводит Иванова Ивана
1) поиск ищет Иванова не там
2) поиск регистрозависим
3) поиск перепутал фамилию и отчество.
При этом:
1) Поиск ищет Иванова не там – неверно, т.к. Сидорова он нашел
2) Поиск регистрозависим – неверно.
[если A, то C] + [если B, то C] + [A или B] => C
[если A, то B] + [если C, то D]+ [A или C] => B или D
[если A, то B] + [если A, то C] + [не B или не C] => не A
[если A, то B] + [если C, то D] + [не B или не D] => не A или
не C
 «Иногда искусство логически мыслить должно быть
использовано для тщательного анализа и отбора уже
известных фактов, а не для поиска новых»
 «Отбросить все, что не могло иметь места, и оставить
один-единственный факт, который и есть истина»
 «Гипотеза, которая объясняет все без исключения факты, это больше, чем просто предположение.»
 Максимальная информация о баге
 Логи, дампы, ….
 Похожие проблемы
 “Это ошибка - строить дедукцию до того, как
получены достаточные данные. Незаметно для
самого себя начинаешь их подгонять под свою
схему.”
! некоторые баги так и не воспроизводятся
! иногда лучше спросить у программиста
! если вопроизведение бага занимает более
получаса – лучше спросить у ПМ
Всё это не будет иметь
никакого смысла,
если не оформлено в
хороший багрепорт!
Суть метода – в установлении прочных ассоциативных
связей.
 Берем за основу известное нам до мельчайших деталей
помещение
 «Раскладываем» там воспоминания
“Мне представляется, что человеческий мозг похож на маленький
пустой чердак, который вы можете обставить, как хотите. Дурак
натащит туда всякой рухляди, какая попадется под руку, и полезные,
нужные вещи уже некуда будет всунуть, или в лучшем случае до них
среди всей этой завали и не докопаешься. А человек толковый
тщательно отбирает то, что он поместит в свой мозговой чердак”
- Совершенно верно, - ответил Холмс,
закуривая папиросу и вытягиваясь
в кресле. - Вы смотрите, но вы не
наблюдаете, а это большая разница.
Например, вы часто видели ступеньки,
ведущие из прихожей в эту комнату?
- Часто.
- Как часто?
- Ну, несколько сот раз!
- Отлично. Сколько же там ступенек?
- Сколько? Не обратил внимания.
- Вот-вот, не обратили внимания. А
между тем вы видели! В этом вся
суть. Ну, а я знаю, что ступенек семнадцать, потому что я и видел, и
наблюдал.
Инна Смирнова
Старший инженер по тестированию
Рексофт
Тел.: +7 473 233 07 01
e-mail: smirnova@reksoft.ru
Download