Здравствуйте, Contact, Вы писали:
C>A что такое регрессивное тестирование? То есть не определение, а как оно делается практически?
Так и делается. У Вас есть набор тестов для предыдущей версии продукта и результаты этих тестов (для предыдущей версии продукта).
Результаты _старых_ тестов на новой версии должны давать те же самые результаты.
Здравствуйте, Блудов Павел, Вы писали:
БП>Здравствуйте, Contact, Вы писали:
C>>A что такое регрессивное тестирование? То есть не определение, а как оно делается практически? БП>Так и делается. У Вас есть набор тестов для предыдущей версии продукта и результаты этих тестов (для предыдущей версии продукта). БП>Результаты _старых_ тестов на новой версии должны давать те же самые результаты.
Это как? Если раньше тест не проходил, то и сейчас не должен проходить?
Обычно, если говорят о регрессионном тестирование, выбирают
подмножество тестов, для проверки того, что баг исправлен,
а то, что работало, продолжает работать.
Если просто прогонять все тесты, то это уже будет вырожденный случай
и он по сути совпадает с полным системным тестированием.
Здравствуйте, bkat, Вы писали:
БП>>Результаты _старых_ тестов на новой версии должны давать те же самые результаты. B>Это как? Если раньше тест не проходил, то и сейчас не должен проходить?
если уж версию выпутили, надо думать все тесты на ней проходили
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, bkat, Вы писали:
БП>>>Результаты _старых_ тестов на новой версии должны давать те же самые результаты. B>>Это как? Если раньше тест не проходил, то и сейчас не должен проходить?
OE>если уж версию выпутили, надо думать все тесты на ней проходили
Да, но не факт, что все тесты прошли успешно.
В принципе часто допускается что продукт выпускается
несмотря на баги и то, что не все тесты прошли успешно.
Это даже можно планировать. Скажем у нас каждый баг имеет уровень серьезности 1-5
и продукт не может быть выпушен, если есть хотя бы один баг уровня 1-3.
Но вот с багами уровня серьезности 4 или 5 мы продукт выпустим.
Это отражено в плановых документах.
Впрочем это не относится к регрессионному тестированию.
В регрессионном тестировании важно что тестирование
проводится выборочно, и прогоняются только часть тестов.
B>В регрессионном тестировании важно что тестирование B>проводится выборочно, и прогоняются только часть тестов.
Скажите, итого: какая часть тестов прогоняется в регрессионном (так правильно говорится?) тестировании?
Здравствуйте, Contact, Вы писали:
B>>В регрессионном тестировании важно что тестирование B>>проводится выборочно, и прогоняются только часть тестов. C>Скажите, итого: какая часть тестов прогоняется в регрессионном (так правильно говорится?) тестировании?
Это решается в каждой ситуации и зависит от того, какой баг исправили
или какую новую фичу вставили.
Чтобы верно выбрать подможножество тестов,
надо хорошо знать связи между частями проекта.
Например, если исправили баг в функции, которая используется
практически везде, то надо прогонять все тесты.
А если нашли ошибку в названии поля ввода некой формы,
то достаточно прогнать только те тесты,
которые проверяют это самое поле ввода.
P.S. Я говорю "регрессионное тестирование".
"регрессивное тестирование" тоже встречается, но мне
это режет ухо. Впрочем это не принципиально.
Что-то я совсем запутался...
Вот только что нашлась цитата из TUT-howto: User can run all the tests (regression), or just some selected groups or even some tests in these groups.
Мы могли бы сформировать определение регрессионного тестирования. "Регрессионное тестирование -- это ...".
Например, что-то вроде, "Р.Т. -- это такое ручное тестирование программы, при котором ..." или "Р.Т. -- это такое автоматическое тестирование модулей программы, при котором...".
Думаю, нам всем от этого станет понятней суть вопроса.
Здравствуйте, Contact, Вы писали:
C>Что-то я совсем запутался... C>Вот только что нашлась цитата из TUT-howto: C>User can run all the tests (regression), or just some selected groups or even some tests in these groups.
C>Мы могли бы сформировать определение регрессионного тестирования. "Регрессионное тестирование -- это ...". C>Например, что-то вроде, "Р.Т. -- это такое ручное тестирование программы, при котором ..." или "Р.Т. -- это такое автоматическое тестирование модулей программы, при котором...". C>Думаю, нам всем от этого станет понятней суть вопроса.
Можешь набрать в гугле regression testing и ты найдешь примерно такое определение:
Selective testing of a system or component
to verify that modifications have not caused
unintended effects
Т.е. важно именно то, что это выборочное тестирование.
Как именно ты гоняешь тесты, автоматически или ручками — это совершенно не важно.
К определению "regression testing" это не относится.
В обще по-русски наверное было бы лучше regression testing
называть "выборочным тестированием". Так, мне кажется, понятнее.
Re[8]: A что такое регрессивное тестирование?
От:
Аноним
Дата:
14.02.05 09:44
Оценка:
Здравствуйте, Contact, Вы писали:
C>Что-то я совсем запутался... C>Вот только что нашлась цитата из TUT-howto: C>User can run all the tests (regression), or just some selected groups or even some tests in these groups.
C>Мы могли бы сформировать определение регрессионного тестирования. "Регрессионное тестирование -- это ...". C>Например, что-то вроде, "Р.Т. -- это такое ручное тестирование программы, при котором ..." или "Р.Т. -- это такое автоматическое тестирование модулей программы, при котором...". C>Думаю, нам всем от этого станет понятней суть вопроса.
Однозначного определения регрессионного тестирования я не встречал, однако по собственному опыту могу описать.
Регрессионный тест имеет отношение к исправлению некоторого бага или изменению функциональности (чаще — исправлению бага). К примеру, есть две версии продукта: A — начальная, и B — с исправлением/изменением. Так вот регрессионный тест это такой, который проваливается при тестирования версии A, и успешно проходит на версии B. То есть тестирует именно это изменение и гарантирует, что найденная ранее бага исправлена не проявится в последующих версиях (не произойдет регрессии к предыдущему состоянию продукта).
А регрессионное тестирование версии X можно описать как прогон всех регрессионных тестов, имевших счастье появиться в процессе создания этой версии.
А>Однозначного определения регрессионного тестирования я не встречал, однако по собственному опыту могу описать.
На самом деле в стандартах IEEE дается определение многим вещам,
в том числе и регрессионному тестированию.
Сами стандарты IEEE надо покупать, но в интернете можно найти
цитаты и ссылки на определение.
Вот одна из их http://www.sei.cmu.edu/str/indexes/glossary/regression-testing.html
Здравствуйте, Contact, Вы писали:
C>A что такое регрессивное тестирование? То есть не определение, а как оно делается практически? C>Спасибо!
Насколько я понимаю это понятие, регрессионное тестирование предназначено для проверки того, что продукт не регрессировал после очередного изменения Т.е. что прежний функционал не "сломались" в результате последних изменений.