-
Итак, часть 5, обзор технологий тестирования.
-
Это Брайан Керниган, автор, один из героев лаборатории Белл, кто был автором
-
книги Кернигана и Риччи по С, которую возможно читало большинство из вас.
-
И если вы читали его книгу пару раз, вы сталкивались с этим.
-
Отладка вдвойне сложнее, чем написание кода.
-
Поэтому... действительно вдвойне сложнее, правда? Поэтому если вы пишете чистейший код
-
сразу, вам не придется отлаживать его, потому что это будет вдвойне сложнее.
-
Все правильно, это - Дейкстра. И вы должны заполнить пробелы.
-
Тестирование никогда не показывает отсутствие ошибок, только их присутствие. Правильно?
-
Эта фраза была популярна долгое время, и вы наверняка держите ее в памяти.
-
Это статья, которая вышла полтора года назад, и которая гласит: Почему вещи дорогие?
-
И вы можете видеть здесь их исследование, которое пришло к выводу, что ошибки не были заложены в дизайне проекта,
-
это просто паршивое тестирование функционала. Плохие процессы тестирования - это причины множества багов в коде.
-
И они говорят о том, что полностью автоматическое тестирование - редкость.
-
Это было полтора года назад. Действительно редкость. 12% софтверных компаний
-
имеют полностью автоматические системы. 10% делают все тестирование вручную, правильно?
-
Итак вы пишете тест, вы смотрите на выдачу, вы пишете тест, вы смотрите на выдачу.
-
Вы видете ошибки? Окей. Не могу поверить, что это так. Это неправда!
-
Вы знаете, до Agile вы бы имели отдельную команду обеспечения качества,
-
Вы бы имели все фаз процесса и отдельные группы людей. Итак, моя работа -
-
как члека команды обеспечения качества - повысить качество вашего кода,
-
либо гарантировать, что качество кода достаточное. А если мы используем Agile, то это все - часть того, что мы делаем.
-
Мы тестируем постоянно, каждую неделю мы добавляем новый код.
-
Вы ответственны за тестирование вашего же кода, никто другой.
-
И инструменты для этого очень хорошо автоматизированы. Как это все непохоже на то, что вы делали раньше.
-
Итак, как гласит Agile Manifest,
-
argument here in the [inaudible] the
actual manifesto is that if with a good
-
process we'll get soft quality rather than
there's a specific group that's supposed
-
to insure it that they're gonna beat you
up if you don't have it. So. Bdd and TDD
-
was I said earlier. The phrase behavior
driven design was inspired by some people
-
getting confused about test driven
development. Here we're testing acceptance
-
tests, integration tests, and trying to
capture the behavior. Tdd is gonna be step
-
definitions and actually write unit tests
and function tests, before you write the
-
code. So that's the. So the good news is,
you're always gonna have the test up to
-
date because you're writing the code or
even before it. So here's how they work
-
together. Cucumbers describe the
[inaudible]. You, you start off writing
-
the stories you want. They fail. Then it
invokes the implementations, the
-
[inaudible] test. If it fails, you then,
you implement the methods that are
-
missing. And then when it passes the
[inaudible] test, you keep iterating
-
internally until you pass the [inaudible].
And then once you've implemented the
-
feature properly, it, it will pass the
cucumber green step and you go back and
-
keep going through the development.