Перейти к содержимому

Фотография

тестирование метода


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 21

#1 sulsher

sulsher

    Новый участник

  • Members
  • Pip
  • 41 сообщений
  • ФИО:Громов Дмитрий Игоревич


Отправлено 18 августа 2014 - 05:24

Подскажите начинающему тестировщику, с чего подойти с чего начинать тестирование метода?


  • 0

#2 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 18 августа 2014 - 05:52

Тестирование метода обычно доверяется автоматизаторам.

Автотестер - это уже не "начинающий".

 

По-моему, Вы что-то недоговариваете. Либо Вы не начинающий, либо Вы пытаетесь прыгнуть выше отметки, до которой пока не допрыгиваете.


  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#3 sulsher

sulsher

    Новый участник

  • Members
  • Pip
  • 41 сообщений
  • ФИО:Громов Дмитрий Игоревич


Отправлено 18 августа 2014 - 06:04

Тестирование метода обычно доверяется автоматизаторам.

Автотестер - это уже не "начинающий".

 

По-моему, Вы что-то недоговариваете. Либо Вы не начинающий, либо Вы пытаетесь прыгнуть выше отметки, до которой пока не допрыгиваете.

хорошо, часто натыкаюсь на вопросы, что есть вот такой метод-то метод, надо его протестировать. Возможно я пытаюсь прыгнуть выше отметки.

Но всё таки, с какого края к нему подходить?

или привести пример метода?


  • 0

#4 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 18 августа 2014 - 06:08

Вот Вам пример задания, в котором надо протестировать метод: http://company.yande...on_engineer.xml


  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#5 sulsher

sulsher

    Новый участник

  • Members
  • Pip
  • 41 сообщений
  • ФИО:Громов Дмитрий Игоревич


Отправлено 18 августа 2014 - 06:13

хм...а может с чего попроще? например метод вводит пару чисел и затем из них получается результат? Например выводит разницу из этих двух чисел. И я не вижу кода, есть просто вот такой метод и всё.


  • 0

#6 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 18 августа 2014 - 06:26

Тогда калькулятор Вам в руки.

 

Вводите число, нажимаете "-", вводите второе число, нажимаете "=" и смотрите результат.

Метод "-", возвращающий разность двух вводимых чисел. И кода не видно.

 

Тестируйте!


  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#7 sulsher

sulsher

    Новый участник

  • Members
  • Pip
  • 41 сообщений
  • ФИО:Громов Дмитрий Игоревич


Отправлено 18 августа 2014 - 06:36

Понятно...а если я знаю, что передача параметра, двух чисел(и это вся информация, что у меня есть) происходит при помощи getRandomInt?


  • 0

#8 Petrov.Sergey

Petrov.Sergey

    Опытный участник

  • Members
  • PipPipPipPip
  • 446 сообщений
  • ФИО:Petrov Sergey
  • Город:МО, Лобня


Отправлено 18 августа 2014 - 08:01

Определитесь для начала с задачей. Чётко определите, что дано и что требуется проверить.

А то, меняя условия на ходу, сами запутаетесь и других запутаете.


  • 0
Форум читаю набегами. По возникшим вопросам можно в скайп (в профиле).

#9 sulsher

sulsher

    Новый участник

  • Members
  • Pip
  • 41 сообщений
  • ФИО:Громов Дмитрий Игоревич


Отправлено 18 августа 2014 - 08:17

окончательное условие.

Получаем параметр при помощи getRandomInt, два произвольных числа и как результат получаем разность между ними, как протестировать?


  • 0

#10 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 224 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 18 августа 2014 - 08:36

А сами как думаете?

Предложите свои варианты, а мы подкорректируем. Начать, кстати, можно с позитивного и негативного тестирования (ссылка на статью), но если Вы неспособны сами придумать с десяток позитивных сценариев, то попробуйте для начала книжки почитать...


  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#11 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 18 августа 2014 - 11:38

окончательное условие.

Получаем параметр при помощи getRandomInt, два произвольных числа и как результат получаем разность между ними, как протестировать?

Вот поэтому вам и говорят, что вы рано взялись за данную задачу.

 

У вас на входе неизвестное состояние системы, для того чтобы провести тест начальное и конечное состояние должно быть известно. Тестирование точная наука, нельзя подать на вход херню и получить на выходе непонятно что.

 

При таких исходных данных вам необходимо написать параллельно программу которая будет вам считать метод разностьЧисел() и сравнивать ваш результат с результатом проверяемого метода. Но глупость такого подхода очевидна.


  • 0

#12 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 224 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 18 августа 2014 - 13:25

У вас на входе неизвестное состояние системы, для того чтобы провести тест начальное и конечное состояние должно быть известно. Тестирование точная наука, нельзя подать на вход херню и получить на выходе непонятно что.

 

Что-то я Вас не понимаю.

А если это тестовое задание вида black-box и описана реализация?

 

Я открываю страничку в интернете, нажимаю кнопку "сгенерировать" и вижу на выходе:

  1. Число А
  2. Число Б (рандомные)
  3. Разница между ними

Вполне можно кейсов набросать для такой программы.

Но, согласна, стоит уточнить, правда ли это все, что нам известно. Потому что, возможно, программа ведет себя по-другому, а автор про рандомные числа просто так написал, просто функции передаются аргументы, которые могут быть чем угодно


  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#13 vmaximv

vmaximv

    Опытный участник

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 18 августа 2014 - 13:42

Какие кейсы, если вы не можете контролировать входные данные?
Можно пару примеров?
Я тут вижу только один чек-поинт: нажмите "вычислить", проверьте правильность расчетов.
  • 0

#14 BadMF

BadMF

    Специалист

  • Members
  • PipPipPipPipPip
  • 809 сообщений
  • ФИО:Dmitry Petrov

Отправлено 19 августа 2014 - 10:34

 

У вас на входе неизвестное состояние системы, для того чтобы провести тест начальное и конечное состояние должно быть известно. Тестирование точная наука, нельзя подать на вход херню и получить на выходе непонятно что.

 

Что-то я Вас не понимаю.

А если это тестовое задание вида black-box и описана реализация?

 

Я открываю страничку в интернете, нажимаю кнопку "сгенерировать" и вижу на выходе:

  1. Число А
  2. Число Б (рандомные)
  3. Разница между ними

Вполне можно кейсов набросать для такой программы.

Но, согласна, стоит уточнить, правда ли это все, что нам известно. Потому что, возможно, программа ведет себя по-другому, а автор про рандомные числа просто так написал, просто функции передаются аргументы, которые могут быть чем угодно

 

 

атоматически нельзя проверить представленный вами кейс по причине того, что вы никогда не знаете заранее результат на 3 шаг, это раз.

говорим мы тут о тестировании метода, что накладывает свои ограничения (как результат получаем разность между ними, говорит о том, что на выходе метода будет только разность, т.е. вы понятие не имеете какие числа были сгенерированы для вычисления), это два.

 

В ручную проверить интерфейс какого-то приложения, проблем нет, проверяйте, ито только в том случае если у вас на выходе действия нажать кнопку будут известны рандомные числа. А если эти числа известны не будут, то и разность эта ваша будет для вас рандомным числом, а не разностью, так как проверить вычисления вы не сможите никак.


  • 0

#15 ryjii

ryjii

    Активный участник

  • Members
  • PipPip
  • 101 сообщений
  • Город:Санкт-Петербург

Отправлено 19 августа 2014 - 12:03

Какие кейсы, если вы не можете контролировать входные данные?
Можно пару примеров?
Я тут вижу только один чек-поинт: нажмите "вычислить", проверьте правильность расчетов.

Пожалуйста:

Проверить рандомность чисел А и Б. Например, открыли страницу и нажали сгенерить дважды, проверили что числа разные. Нажали, переоткрыли, нажали снова. Открыли два браузера и одновременно нажали.

Ну и проверить что разница вычисляется верно. Нажимать кнопку, пока не получим хотя бы пару-тройку разных кейсов (А>Б, А<Б).

Ну и по возможности попросить управление генерацией через конфиги (задание сида для рандома вручную, выдача конкретно заданного числа вместо рандомного) для проверки вычитания.


  • 0

#16 vmaximv

vmaximv

    Опытный участник

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 19 августа 2014 - 12:40

1. Вы можете только предположить наличие "рандомности", но не доказать. Во всех ваших примерах ТК есть ненулевая вероятность фейла, что делает эти ТК бесполезными.
2. "Нажимать кнопку, пока не получим хотя бы пару-тройку разных кейсов" - теоретически у нас это может занять бесконечный интервал времени, посему тоже бесполезно.
  • 0

#17 ryjii

ryjii

    Активный участник

  • Members
  • PipPip
  • 101 сообщений
  • Город:Санкт-Петербург

Отправлено 19 августа 2014 - 12:53

1. Я могу доказать нерандомность такими тестами. Обычно либо забывают проинициализировать сид, либо сидируют временем. По крайней мере, от этого защитимся.

2. Теоретически покрыть все ветвления кода автотестами ни в одном продукте невозможно за конечное время. Следует ли из этого, что любое ограниченное покрытие бесполезно?


  • 0

#18 vmaximv

vmaximv

    Опытный участник

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 19 августа 2014 - 13:00

Не можете. getRandomInt в блэк-боксе. Предположить - да. Доказать - нет.
Причем тут автотесты? Одно дело что-то покрывать, другое тыкать в ф5 надеясь на "авось", которого может и не быть. Ведь наверняка захочется протестить варианты, когда a=0 или b=0 или варианты с overflow.
  • 0

#19 Dalay_LAMO

Dalay_LAMO

    Опытный участник

  • Members
  • PipPipPipPip
  • 265 сообщений
  • ФИО:Дмитрий
  • Город:Санкт-Петербург


Отправлено 19 августа 2014 - 13:11

В итоге в топике вместо того, чтобы дать скучную ссылку на тему граничных условий и классов эквивалентности начинающему тестировщику ярко продемонстрировали трудности, регулярно возникающие на практике при отсутствии/неясности чётко сформулированных требований.
  • 0

#20 ryjii

ryjii

    Активный участник

  • Members
  • PipPip
  • 101 сообщений
  • Город:Санкт-Петербург

Отправлено 19 августа 2014 - 13:28

@vmaximv:

1. Если один из моих тестов даст совпадение, значит рандом заюзали плохо, пишем багу. Нет - значит нет.

2. Теория вероятностей говорит, что вероятность не получить разные варианты при ограниченном числе тестов (скажем, 10) исчезающе мала. Если мы всегда будем получать A>B, это повод предположить, что с рандомом что-то не так, тоже вероятный баг.

 

Я к чему. Рандом тестировать можно. Просто к нему надо подходить со знанием вероятностей и статистики, а не просто как к манки кликингу.


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных