Ми інтегруємо тестовий процес у наш SCRUM процес. Моя нова роль - написати тести прийняття наших веб-додатків, щоб згодом їх автоматизувати. Я багато читав про те, як слід писати тестові справи, але жоден не дав мені практичних порад щодо написання тестових випадків для складних веб-додатків, і натомість вони кидали суперечливі принципи, які мені важко застосувати:
Тестові приклади повинні бути короткими: візьміть приклад CMS. Короткі тестові приклади легко підтримувати та визначати входи та виходи. Але що робити, якщо я хочу протестувати довгу серію операцій (наприклад, додавання документа, відправлення повідомлення іншому користувачеві, відповідь іншого користувача, документ змінює стан, користувач отримує повідомлення). Мені здається, тестові випадки повинні представляти цілісні сценарії. Але я бачу, як це створить надмірно складні тестові документи.
Тести повинні визначати входи та результати:: Що робити, якщо у мене довга форма з багатьма взаємодіючими полями з різною поведінкою. Я пишу один тест на все, або по одному для кожного?
Тестові випадки повинні бути незалежними: але як я можу застосувати це, якщо тестування операції завантаження вимагає, щоб операція підключення була успішною? І як це стосується написання тестових випадків? Чи слід писати тест для кожної операції, але кожен тест декларує свої залежності, або я повинен переписати весь сценарій для кожного тесту?
Тестові приклади повинні бути легко задокументовані: Цей принцип є специфічним для Agile проектів. То чи маєте ви поради, як реалізувати цей принцип?
Хоча я вважав, що написання тестових випадків прийому буде простим, я був переповнений кожним рішенням, яке я повинен був прийняти (FYI: Я розробник, а не професійний тестер). Отже, моє головне питання: які кроки чи поради для написання тестових справ про прийняття для складних програм. Дякую.
Редагувати : Щоб уточнити моє запитання: я усвідомлюю, що тестування на прийняття повинно починатись із вимоги і розглядати всю заявку як чорну скриньку. Моє запитання стосується практичних кроків щодо написання тестового документа, виявлення тестових випадків, вирішення залежностей між тестами ... для складних веб-додатків