Подскажите начинающему тестировщику, с чего подойти с чего начинать тестирование метода?
тестирование метода
#1
Отправлено 18 августа 2014 - 05:24
#2
Отправлено 18 августа 2014 - 05:52
Тестирование метода обычно доверяется автоматизаторам.
Автотестер - это уже не "начинающий".
По-моему, Вы что-то недоговариваете. Либо Вы не начинающий, либо Вы пытаетесь прыгнуть выше отметки, до которой пока не допрыгиваете.
#3
Отправлено 18 августа 2014 - 06:04
Тестирование метода обычно доверяется автоматизаторам.
Автотестер - это уже не "начинающий".
По-моему, Вы что-то недоговариваете. Либо Вы не начинающий, либо Вы пытаетесь прыгнуть выше отметки, до которой пока не допрыгиваете.
хорошо, часто натыкаюсь на вопросы, что есть вот такой метод-то метод, надо его протестировать. Возможно я пытаюсь прыгнуть выше отметки.
Но всё таки, с какого края к нему подходить?
или привести пример метода?
#4
Отправлено 18 августа 2014 - 06:08
Вот Вам пример задания, в котором надо протестировать метод: http://company.yande...on_engineer.xml
#5
Отправлено 18 августа 2014 - 06:13
хм...а может с чего попроще? например метод вводит пару чисел и затем из них получается результат? Например выводит разницу из этих двух чисел. И я не вижу кода, есть просто вот такой метод и всё.
#6
Отправлено 18 августа 2014 - 06:26
Тогда калькулятор Вам в руки.
Вводите число, нажимаете "-", вводите второе число, нажимаете "=" и смотрите результат.
Метод "-", возвращающий разность двух вводимых чисел. И кода не видно.
Тестируйте!
#7
Отправлено 18 августа 2014 - 06:36
Понятно...а если я знаю, что передача параметра, двух чисел(и это вся информация, что у меня есть) происходит при помощи getRandomInt?
#8
Отправлено 18 августа 2014 - 08:01
Определитесь для начала с задачей. Чётко определите, что дано и что требуется проверить.
А то, меняя условия на ходу, сами запутаетесь и других запутаете.
#9
Отправлено 18 августа 2014 - 08:17
окончательное условие.
Получаем параметр при помощи getRandomInt, два произвольных числа и как результат получаем разность между ними, как протестировать?
#10
Отправлено 18 августа 2014 - 08:36
А сами как думаете?
Предложите свои варианты, а мы подкорректируем. Начать, кстати, можно с позитивного и негативного тестирования (ссылка на статью), но если Вы неспособны сами придумать с десяток позитивных сценариев, то попробуйте для начала книжки почитать...
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/
#11
Отправлено 18 августа 2014 - 11:38
окончательное условие.
Получаем параметр при помощи getRandomInt, два произвольных числа и как результат получаем разность между ними, как протестировать?
Вот поэтому вам и говорят, что вы рано взялись за данную задачу.
У вас на входе неизвестное состояние системы, для того чтобы провести тест начальное и конечное состояние должно быть известно. Тестирование точная наука, нельзя подать на вход херню и получить на выходе непонятно что.
При таких исходных данных вам необходимо написать параллельно программу которая будет вам считать метод разностьЧисел() и сравнивать ваш результат с результатом проверяемого метода. Но глупость такого подхода очевидна.
#12
Отправлено 18 августа 2014 - 13:25
У вас на входе неизвестное состояние системы, для того чтобы провести тест начальное и конечное состояние должно быть известно. Тестирование точная наука, нельзя подать на вход херню и получить на выходе непонятно что.
Что-то я Вас не понимаю.
А если это тестовое задание вида black-box и описана реализация?
Я открываю страничку в интернете, нажимаю кнопку "сгенерировать" и вижу на выходе:
- Число А
- Число Б (рандомные)
- Разница между ними
Вполне можно кейсов набросать для такой программы.
Но, согласна, стоит уточнить, правда ли это все, что нам известно. Потому что, возможно, программа ведет себя по-другому, а автор про рандомные числа просто так написал, просто функции передаются аргументы, которые могут быть чем угодно
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/
#13
Отправлено 18 августа 2014 - 13:42
Можно пару примеров?
Я тут вижу только один чек-поинт: нажмите "вычислить", проверьте правильность расчетов.
#14
Отправлено 19 августа 2014 - 10:34
У вас на входе неизвестное состояние системы, для того чтобы провести тест начальное и конечное состояние должно быть известно. Тестирование точная наука, нельзя подать на вход херню и получить на выходе непонятно что.
Что-то я Вас не понимаю.
А если это тестовое задание вида black-box и описана реализация?
Я открываю страничку в интернете, нажимаю кнопку "сгенерировать" и вижу на выходе:
- Число А
- Число Б (рандомные)
- Разница между ними
Вполне можно кейсов набросать для такой программы.
Но, согласна, стоит уточнить, правда ли это все, что нам известно. Потому что, возможно, программа ведет себя по-другому, а автор про рандомные числа просто так написал, просто функции передаются аргументы, которые могут быть чем угодно
атоматически нельзя проверить представленный вами кейс по причине того, что вы никогда не знаете заранее результат на 3 шаг, это раз.
говорим мы тут о тестировании метода, что накладывает свои ограничения (как результат получаем разность между ними, говорит о том, что на выходе метода будет только разность, т.е. вы понятие не имеете какие числа были сгенерированы для вычисления), это два.
В ручную проверить интерфейс какого-то приложения, проблем нет, проверяйте, ито только в том случае если у вас на выходе действия нажать кнопку будут известны рандомные числа. А если эти числа известны не будут, то и разность эта ваша будет для вас рандомным числом, а не разностью, так как проверить вычисления вы не сможите никак.
#15
Отправлено 19 августа 2014 - 12:03
Какие кейсы, если вы не можете контролировать входные данные?
Можно пару примеров?
Я тут вижу только один чек-поинт: нажмите "вычислить", проверьте правильность расчетов.
Пожалуйста:
Проверить рандомность чисел А и Б. Например, открыли страницу и нажали сгенерить дважды, проверили что числа разные. Нажали, переоткрыли, нажали снова. Открыли два браузера и одновременно нажали.
Ну и проверить что разница вычисляется верно. Нажимать кнопку, пока не получим хотя бы пару-тройку разных кейсов (А>Б, А<Б).
Ну и по возможности попросить управление генерацией через конфиги (задание сида для рандома вручную, выдача конкретно заданного числа вместо рандомного) для проверки вычитания.
#16
Отправлено 19 августа 2014 - 12:40
2. "Нажимать кнопку, пока не получим хотя бы пару-тройку разных кейсов" - теоретически у нас это может занять бесконечный интервал времени, посему тоже бесполезно.
#17
Отправлено 19 августа 2014 - 12:53
1. Я могу доказать нерандомность такими тестами. Обычно либо забывают проинициализировать сид, либо сидируют временем. По крайней мере, от этого защитимся.
2. Теоретически покрыть все ветвления кода автотестами ни в одном продукте невозможно за конечное время. Следует ли из этого, что любое ограниченное покрытие бесполезно?
#18
Отправлено 19 августа 2014 - 13:00
Причем тут автотесты? Одно дело что-то покрывать, другое тыкать в ф5 надеясь на "авось", которого может и не быть. Ведь наверняка захочется протестить варианты, когда a=0 или b=0 или варианты с overflow.
#19
Отправлено 19 августа 2014 - 13:11
#20
Отправлено 19 августа 2014 - 13:28
1. Если один из моих тестов даст совпадение, значит рандом заюзали плохо, пишем багу. Нет - значит нет.
2. Теория вероятностей говорит, что вероятность не получить разные варианты при ограниченном числе тестов (скажем, 10) исчезающе мала. Если мы всегда будем получать A>B, это повод предположить, что с рандомом что-то не так, тоже вероятный баг.
Я к чему. Рандом тестировать можно. Просто к нему надо подходить со знанием вероятностей и статистики, а не просто как к манки кликингу.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных