![Фотография](https://secure.gravatar.com/avatar/4230e943939105d5483e191fa000554e?s=100&d=https%3A%2F%2Fsoftware-testing.ru%2Fforum%2Fpublic%2Fstyle_images%2Fmaster%2Fprofile%2Fdefault_large.png)
Помогите пож.определиться с тест-кейсами
#1
Отправлено 29 августа 2011 - 20:50
Не поможете ли вы в такой задаче.
В базе данных есть данные:
Иванов Иван 01.01.1990 0671111111
Петров Петр 03.03.1993 0961111111
Петров Петр 03.03.1993 0501111111
И есть довольно странная форма логина:
- Поле Фамилия
- Поле Имя
- Поле Дата рождения
Логика программы следующая:
- если вводишь верно имя, фамилию и дату рожд. уникального пользователя (Иванов Иван 01.01.1990), тебя залогинивает и переносит на след.страницу.
- если вводишь верно имя, фамилию и дату рожд. НЕуникального пользователя (Петров Петр 03.03.1993) программа выдает ERROR
- если вводишь несуществующего пользователя (Сидоров Сидор 01.01.2000) программа выдает ERROR (точно такую же ошибку. НЕ ДРУГУЮ!)
- если вводишь всякую фигню, цифры, пустые поля, иероглифы, программа выдает тот же самый(!) ERROR.
Конечно я немного утрирую ситуацию, упрощаю, но так легче для вопроса.
А вопрос следующий:
Есть вариант 1, написать на все это дело 2 тесткейса (по количеству выходных состояний программы).
В первый положительный flow, а во второй - все остальное: и пустые поля, и иероглифы, и вполне нормальные данные те которые приведут к ERROR (например, Петров Петр 03.03.1993, ERROR - т.к. таких двое в базе).
Есть вариант 2,сделать большее кол-во тесткейсов, например на данные с уникальным пользователем тесткейс позитивный, на данные с неуникальными пользователями негативный, еще один для корректного, но несуществующего, еще один для всякой фигни, типа пустых полей и иероглифов.
Делается это все для автотестирования, регрессии, все данные пишутся в отдельный файл из которого потом будут браться.
Кому какой подход больше нравится?
#2
Отправлено 30 августа 2011 - 01:58
#3
Отправлено 30 августа 2011 - 07:32
1. уникальный пользователь
2. неуникальный пользователь
3. все остальное
т.к. несмотря на то, что вы видите одинаковые ошибки в кейсе 2 и 3, обрабатываются эти ситуации в коде, скорее всего, по-разному.
#4
Отправлено 30 августа 2011 - 08:44
#5
Отправлено 30 августа 2011 - 09:24
Это не совсем группировка по результату. Я же написал, что результаты выглядят одинаково только внешне. Внутри происходит вот что:Там дело не в обработке, а в корявой логике. По идее 2 теста я мотивировала тем, что первый это позитивный, второй это негативные, т.е. сгруппировать по результату.
if (user.isExists()) and (user.isUnique()){ doLogin(); } else{ throw UnableToLoginException; }и если это немножко развернуть, то можно получить вот такое:
try{ if (user.isExists()){ if (user.isUnique()){ doLogin(); } else{ throw UserNotUniqueException; } } else{ throw UserDoesntExistException; } } catch{ throw UnableToLoginException; }Поэтому объединение в один тест кейс всех негативных результатов выглядит, как по мне, нелогично. Если уж очень не хочется писать много тест кейсов, то лучше объединить проверку на уникальность/неуникальность в один кейс, т.к. они проверяют одно и то же условие в коде.
#7
Отправлено 31 августа 2011 - 00:24
#8
Отправлено 31 августа 2011 - 05:38
#9
Отправлено 19 сентября 2011 - 14:38
- нет такого пользователя
- введена/не введена "фигня"
Соответственно 3 результата и на каждый тест-кейс.
С не уникальными данными - бага системы создания пользователей, а не авторизации!
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных