Page 20 - 4787
P. 20

написанні  лише  того  коду,  який  необхідний  для  проходження  тесту.  У

               літературі також пропонують, принцип « підроби, поки не зробиш » ( fake it till

               you  make  it).  Тести  потрібно  писати  для  функціональності,  яку  тестують.

               Вважають,  що  це  має  дві  переваги.  Це  допомагає  переконатися,  що  додаток

               придатний для тестування, оскільки програмістові доведеться з самого початку

               обдумати те, як додаток буде тестуватися. Це також сприяє тому, що тестами

               буде покрита уся функціональність. Коли функціональність пишеться до тестів,

               то  розробники  і  організації  можуть  переходити  до  реалізації  наступної

               функціональності,  не  протестувавши  існуючу.  Ідея  перевірити,  що  знову

               написаний тест не проходить, допомагає переконатися, що тест реально щось

               перевіряє.  Тільки  після  цієї  перевірки  слід  приступити  до  реалізації  нової

               функціональності. Цей прийом, відомий як ,, червоний/зелений/рефленторинг“,

               називають «мантрою розробки через тестування». Під червоним тут мають на

               увазі ті, що не пройшли тестування,  а під зеленим – ті, що пройшли.

                       Відпрацьована практика розробки через тестування привели до створення

               техніки  «розробка  через  приймальне  тестування»  (Acceptance  Test-driven

               development,       ATDD),      в    якому      критерії,     що      описані     замовником,

               автоматизуються в приймальні тести, які потім використовують у звичайному

               процесі  розробки  через  модульне  тестування  (unit  test-driven  development,

               UTDD).      Цей  процес  дозволяє  гарантувати,  що  додаток  задовольняє

               сформульовані  вимоги.  При  розробці  через  приймальне  тестування,  команда

               програмістів  сконцентрована  на  чіткому  завданні:  задовільнити  приймальні

               тести, які відображають відповідні вимоги користувача.

                       Приймальні  (функціональні)  тести  (customer  tests,  acceptance  tests) –

               тести,  що  перевіряють  функціональність  додатку  на  відповідність  вимогам

               замовника. Приймальні тести проходять на боці замовника. Це допомагає йому

               переконатися в тому, що він отримає всю необхідну функціональність.

                       Переваги  розробки  через  тестування.  Дослідження  показало,  що

               використання  розробки  через  тестування  передбачає  написання  значної

               кількості тестів, в свою чергу, програмісти, які пишуть більше тестів, схильні




                                                                                                             19
   15   16   17   18   19   20   21   22   23   24   25