Ресурси для розробки тестових програм у веб-додатках? [зачинено]


15

Я хотів би спробувати застосувати деякі TDD у наших веб-додатках, щоб зменшити регресії та покращити якість випуску, але я не переконаний у тому, наскільки добре автоматизоване тестування може виконати щось таке ж пухнасте, як веб-додатки.

Я читав і пробував тестування TDD та одиниць, але приклади - «міцні» та досить прості функції, такі як конвертори валют тощо.

Чи є ресурси, які можуть допомогти в системах управління тестуванням вмісту та публікацій? Як щодо одиничного тестування кошика / магазину (фізичні та Інтернет-продукти)? AJAX?

Гуглінг для "Веб-тестування розвитку" просто отримує мені старі статті декількох років тому або висвітлюють ті самі приклади функції, що нагадує калькулятор, або дискусії про те, чому TDD кращий за все (без будь-яких прикладів).


1
доступні інструменти залежатимуть від мови. якою мовою ви користуєтесь?
Альб

Я усвідомлюю це - але я шукав більше для дискусійних статей та нарисів, а не конкретних інструментів. Я знаю, які інструменти доступні, але хотів би дізнатися, як найкраще використовувати їх для прикладних програм.
HorusKol

Відповіді:


2

Велика відмова від відповідальності: я не створював жодних веб-додатків і не перевіряв жодних веб-додатків. Далі - лише примхи інформації, яку я поглинув у своїх випадкових прогулянках в межах інформаційної сфери.

Створіть веб-додаток таким чином, щоб мати можливість перевірити ділові правила поодиноко. Якщо ви виявите, що ви перевіряєте бізнес-правила через інтерфейс користувача, то, можливо, настав час подумати про перепроектування.

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

Зазначені вище правила взяті з бесіди Боба Мартіна на RailsConf 2010 . Розмова не про TDD, а розділ, де він згадує про тестування, короткий і десь посередині.

Є такі інструменти, як JsUnit , JSSpec , YUI Test для тестування JavaScript і Selenium та Watir для тестування інтерфейсу користувача.

У книжковій полиці Pragmatic є кілька книг, що висвітлюють тестування веб-додатків. Список книг, позначених Тестуванням, знаходиться на веб- сайті http://www.pragprog.com/categories/design . Книги для тестування веб-програм «Прагматичні книжкові полиці» в основному зосереджені навколо Ruby і Rails, але повинні бути загальноприйнятними.


Одним з головних проблем веб-дизайну є тестування CSS - нове правило CSS може мати непередбачувані наслідки, але лише на сторінці з певним вмістом ... Чи можете ви це перевірити?
HorusKol

Гарне питання. Я б припустив, що це є частиною вашого тестування на інтерфейс користувача. Ви розробляєте свої тести, щоб включати різний вміст сторінки, який ви очікуєте (та декілька, яких ви не очікуєте) і правильно записувати свої прийняття. Потім, впроваджуючи нові правила CSS, тестування інтерфейсу користувача повинно виділити будь-які регресії. Можливо, цей процес забирає занадто багато часу, і вам може бути краще, якщо хтось зробить тестування якості на сайті та повідомить про проблеми.
Ентоні Крамп

3

Test-Driven JavaScript Development - це дійсно приємна книга від Крістіана Йохансена, розробника Sinon.js та Buster.js , яка охоплює такі теми, як (взяті з веб-сайту):

  • Розуміння тестування блоку та TDD
  • Вибір правильної рамки тестування блоку
  • Створення API більш чистих, модульованих та надійних JavaScript
  • Постійно вдосконалюючи код за допомогою рефакторингу
  • П'ять практичних сеансів TDD: Ajax, DOM маніпуляція, Node.js та багато іншого
  • Тестова екскурсія в JavaScript для розробників, не знайомих з мовою

Наразі ми використовуємо Sinon.js з Mocha, але готові перейти на Buster.js, оскільки його функції справді акуратні!


1

У проекті, над яким нещодавно працював, провідний розробник вирішив використовувати Unity, щоб глузування та TDD спростили у великому веб-додатку - я вважаю, що використання Unity часто супроводжується TDD - веб-додатком.

Дослідження тестування блоку CMS, ймовірно, призведе до тупику, тому що просто не є розумною справою знущання. Я не бачу, що можна перевірити, не переслідуючи http-трафік на сторінки - і в цей момент тест має мало значення.

Я вважаю, що корисне правило у веб-додатках - це якщо він може використовувати макет для зменшення складності, то, ймовірно, він може бути перевірений одиницею.

Таким чином, у веб-додатку ви можете знущатися над вашою базою даних для тестування різних частин вашого рівня доступу до даних; Ви можете знущатися над введенням користувача, щоб перевірити перегляд або інтерфейс користувача тощо.


0

Я написав книгу про TDD для веб-розробки з Python + Django. він охоплює TDD, як з тестами в кінці / з функціоналом (селен), так і з "одиницевими" тестами нижчого рівня. Я також висвітлюю сучасні методи розробки, як інтегрувати git у свій робочий процес, як розгортатись на сервері та автоматизувати та перевіряти, безперервна інтеграція, глузування та ізоляція тестування та багато іншого:

http://www.obeythetestinggoat.com/

(або http://shop.oreilly.com/product/0636920051091.do )


Посилання розірвано
Keldon Alleyne
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.