Исследование багов: учимся у Шерлока Холмса!

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

Upload: sqalab

Post on 08-Jul-2015

3.566 views

Category:

Education


7 download

DESCRIPTION

Доклад Инны Смирновой на SQA Days-15. 18-19 апреля, 2014, Москва. www.sqadays.com

TRANSCRIPT

Page 1: Исследование багов: учимся у Шерлока Холмса!

Инна Смирнова

Рексофт

Page 2: Исследование багов: учимся у Шерлока Холмса!
Page 3: Исследование багов: учимся у Шерлока Холмса!
Page 4: Исследование багов: учимся у Шерлока Холмса!

Шерлок, здесь мертвая

женщина!

Превосходный анализ, но я думал,

вы копнете поглубже...

Page 5: Исследование багов: учимся у Шерлока Холмса!

1. На основе всех фактов и улик строится полная картина преступления.

2. Отталкиваясь от полученной картины преступления, разыскивается единственно соответствующий ей обвиняемый

Page 6: Исследование багов: учимся у Шерлока Холмса!

Cбор информации о баге: Отклонение от ожидаемого результата

Анализ зависимостей

Окружение

Симптомы

Серверные логи

Firebug и другие инструменты

Способы воспроизведения

Продолжение варианта использования

"По одной капле воды человек, умеющий мыслить логически, сможет сделать вывод о существовании Атлантического океана или Ниагарского водопада,

даже если он не видел ни того, ни другого. Всякая жизнь - огромная цепь причин и следствий, и природу ее можно познать по одному звену."

Page 7: Исследование багов: учимся у Шерлока Холмса!

"В искусстве раскрытия преступлений первостепенное значение имеет способность выделить из огромного количества фактов существенные и отбросить случайные. Иначе ваша энергия и внимание непременно распылятся вместо того, чтобы сосредоточиться на главном."

"Раскрыть это дело было трудно потому, что скопилось слишком много улик. Важные улики погребены под кучей второстепенных. Из всех имеющихся фактов надо было отобрать те, которые имели отношение к преступлению, и составить из них картину подлинных событий.". Как мы можем это применить в тестировании.

Page 8: Исследование багов: учимся у Шерлока Холмса!
Page 9: Исследование багов: учимся у Шерлока Холмса!

Генерируем гипотезы

Сортируем их по степени вероятности

Придумываем тест для подтверждения гипотезы

Придумываем тест для опровержения гипотезы

При необходимости, возвращаемся к шагу 1.

Page 10: Исследование багов: учимся у Шерлока Холмса!

[A или B или C] + [В] => не A, не C

[ A или B или C ] + [не A, не C] => B

По запросу «Иванов Иван» система не выводит Иванова Ивана1) поиск ищет Иванова не там2) поиск регистрозависим3) поиск перепутал фамилию и отчество.

При этом:1) Поиск ищет Иванова не там – неверно, т.к. Сидорова он нашел

2) Поиск регистрозависим – неверно.

Page 11: Исследование багов: учимся у Шерлока Холмса!

[если 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

Page 12: Исследование багов: учимся у Шерлока Холмса!
Page 13: Исследование багов: учимся у Шерлока Холмса!

«Иногда искусство логически мыслить должно быть использовано для тщательного анализа и отбора уже

известных фактов, а не для поиска новых»

«Отбросить все, что не могло иметь места, и оставить

один-единственный факт, который и есть истина»

«Гипотеза, которая объясняет все без исключения факты, -

это больше, чем просто предположение.»

Page 14: Исследование багов: учимся у Шерлока Холмса!

Максимальная информация о баге

Логи, дампы, ….

Похожие проблемы

“Это ошибка - строить дедукцию до того, как получены достаточные данные. Незаметно для самого себя начинаешь их подгонять под свою

схему.”

Page 15: Исследование багов: учимся у Шерлока Холмса!

! некоторые баги так и не воспроизводятся

! иногда лучше спросить у программиста

! если вопроизведение бага занимает более получаса – лучше спросить у ПМ

Page 16: Исследование багов: учимся у Шерлока Холмса!

Всё это не будет иметь никакого смысла,

если не оформлено в хороший багрепорт!

Page 17: Исследование багов: учимся у Шерлока Холмса!
Page 18: Исследование багов: учимся у Шерлока Холмса!

Суть метода – в установлении прочных ассоциативных связей.

Берем за основу известное нам до мельчайших деталей помещение

«Раскладываем» там воспоминания

“Мне представляется, что человеческий мозг похож на маленький пустой чердак, который вы можете обставить, как хотите. Дурак

натащит туда всякой рухляди, какая попадется под руку, и полезные, нужные вещи уже некуда будет всунуть, или в лучшем случае до них

среди всей этой завали и не докопаешься. А человек толковый тщательно отбирает то, что он поместит в свой мозговой чердак”

Page 19: Исследование багов: учимся у Шерлока Холмса!
Page 20: Исследование багов: учимся у Шерлока Холмса!

- Совершенно верно, - ответил Холмс, закуривая папиросу и вытягиваясь

в кресле. - Вы смотрите, но вы не наблюдаете, а это большая разница.

Например, вы часто видели ступеньки, ведущие из прихожей в эту комнату?

- Часто.

- Как часто?

- Ну, несколько сот раз!

- Отлично. Сколько же там ступенек?

- Сколько? Не обратил внимания.

- Вот-вот, не обратили внимания. А между тем вы видели! В этом вся

суть. Ну, а я знаю, что ступенек -семнадцать, потому что я и видел, и

наблюдал.

Page 21: Исследование багов: учимся у Шерлока Холмса!
Page 22: Исследование багов: учимся у Шерлока Холмса!

Инна Смирнова

Старший инженер по тестированию

Рексофт

Тел.: +7 473 233 07 01

e-mail: [email protected]