Добрый день!
Занимаюсь автоматизацией тестирования для насыщенного GUI Windows-приложения
Начала оформлять документацию и столкнулась с такой проблемой:
Известно, что по-хорошему, тест-кейсы должны быть независимы друг от друга и не ссылаться на другие тест-кейсы
Но, если взять, к примеру, такую связку для моего приложения: Добавление сущности - Переименование сущности - Удаление сущности.
У меня они вынесены в три отдельных тест-кейса. В каждом - достаточное количество шагов, и попытка сделать их независимыми друг от друга (например в тест-кейсе "Добавление сущности" удалять ее в конце, а в "Переименование сущности" - добавлять заново) приводит к значительному увеличению времени.
Подскажите, стоит ли жертвовать временем или хорошим тоном?)
И еще вопрос по поводы ссылок на другие тест-кейсы
Допустим есть один определенный тест-кейс. И есть другой, который состоит из первого + дополнительный шаг (то есть автотест идет по первому сценарию + дополнительная функция). Как тут не сослаться?
Заранее благодарна за ответы! Я новичок в тестировании, любые изыскания и советы будут важны)

Формирование тест-кейсов
Автор NIgh-Cat, 31 окт 2011 13:38
Сообщений в теме: 4
#1
Отправлено 31 октября 2011 - 13:38
#2
Отправлено 31 октября 2011 - 14:43
1. Повторяющиеся действия выносить в отдельные методы, которые сами по себе тестами не являются. И уже их использовать в тестах.
2. Насчет того, чем жертвовать, я так и не понял, что Вы хотите сделать.
2. Насчет того, чем жертвовать, я так и не понял, что Вы хотите сделать.
#3
Отправлено 31 октября 2011 - 14:52
1. Повторяющиеся действия выносить в отдельные методы, которые сами по себе тестами не являются. И уже их использовать в тестах.
2. Насчет того, чем жертвовать, я так и не понял, что Вы хотите сделать.
Если абстрагироваться от автотестирования, и обратится только к построению тестовой логики:
У меня три тест-кейса которые идут друг за другом. Они зависимы друг от друга, и чтобы убрать эту зависимость нужно сделать дополнительные избыточные шаги, которые увеличат время выполнения тестов и утяжелят сами тест-кейсы.
Стоит ли вообще убирать эту зависимость, если время выполнения при том увеличится?
Например. Я добавляю сущность, проверяю что она добавлена, удаляю ее. Следующий кейс - переименование сущности, то есть ее опять надо добавить (предыдущий кейс), переименовать, сделать проверку, удалить
#4
Отправлено 01 ноября 2011 - 06:43
У любого теста могут быть "Preconditions" - предварительные условия.
Например, пишем, что для проведения теста должен быть: а) создан файл/документ/еще что-то с определенным содержанием; б) среда настроена определенным образом и т.п. Тогда тест можно выполнять как независимый.
А потом можно выстраивать кейсы таким образом, чтобы в preconditions одного использовались результаты другого. И это будет не плохим тоном, а экономией времени тестировщика.
Всё равно любой тест начинается не с нуля, иначе пришлось бы прописывать кейсы с момента установки дистрибутива))
Что касается автоматических тестов, то здесь вопрос о независимости кейсов даже более острый. Если посередине выполнения проекта программа падает, надо иметь возможность прогнать остаток тестов, не запуская их с самого начала.
Как Вы это будете делать - зависит от приложения. Если формат данных от билда к билду меняется не сильно, запаситесь какими-то готовыми документами, конфигурационными файлами, которые можно подкладывать по ходу выполнения. В идеале каждый тест должен создавать себе окружение начиная с "пустого" окна, а потом чистить за собой.
Если какие-то тесты невозможно прогнать независимо (а в сложном приложении от этого никуда не деться), то можно выделить небольшие группы так, чтобы каждую группу опять же можно было запускать независимо.
Например, пишем, что для проведения теста должен быть: а) создан файл/документ/еще что-то с определенным содержанием; б) среда настроена определенным образом и т.п. Тогда тест можно выполнять как независимый.
А потом можно выстраивать кейсы таким образом, чтобы в preconditions одного использовались результаты другого. И это будет не плохим тоном, а экономией времени тестировщика.
Всё равно любой тест начинается не с нуля, иначе пришлось бы прописывать кейсы с момента установки дистрибутива))
Что касается автоматических тестов, то здесь вопрос о независимости кейсов даже более острый. Если посередине выполнения проекта программа падает, надо иметь возможность прогнать остаток тестов, не запуская их с самого начала.
Как Вы это будете делать - зависит от приложения. Если формат данных от билда к билду меняется не сильно, запаситесь какими-то готовыми документами, конфигурационными файлами, которые можно подкладывать по ходу выполнения. В идеале каждый тест должен создавать себе окружение начиная с "пустого" окна, а потом чистить за собой.
Если какие-то тесты невозможно прогнать независимо (а в сложном приложении от этого никуда не деться), то можно выделить небольшие группы так, чтобы каждую группу опять же можно было запускать независимо.
#5
Отправлено 01 ноября 2011 - 07:22
checo, Вы мне очень помогли!
Убедилась, что построение автотестирования было выбрано правильно, а вот над документацией стоит поработать.
Не задумывалась о предварительных условиях и их описании, поэтому в голове была несколько скомканная картина.
Еще раз спасибо)
Убедилась, что построение автотестирования было выбрано правильно, а вот над документацией стоит поработать.
Не задумывалась о предварительных условиях и их описании, поэтому в голове была несколько скомканная картина.
Еще раз спасибо)
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных