Меню

Метод предложения об ошибке

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

списке
возможные
ошибки

или ситуации, в которых они могут
появиться, а затем на
основе

этого списка
написать тесты
.

В
качестве примера рассмотрим тестирование
подпрограммы сортировки
.
Необходимо предусмотреть следующие
специальные случаи, которые могут быть
не учтены при проектировании программы:

  • Сортируемый
    список
    пуст
    .

  • Сортируемый
    список
    содержит

    только одно
    значение
    .

  • Все
    записи
    в
    сортируемом списке имеют
    одно
    и то
    же значение.

  • Список
    уже
    отсортирован
    .

Общая стратегия
разработки тестов

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

Предлагается
следующая стратегия разработки тестов,
которая хотя и не гарантирует, что все
ошибки будут найдены, но обеспечивает
приемлемый компромисс между методами.

  1. Если
    спецификация содержит комбинации
    входных условий, то рекомендуется
    начать
    с
    применения метода
    функциональных диаграмм
    .

  2. Использовать
    анализ
    граничных значений
    .

  3. Определить
    правильные и неправильные классы
    эквивалентности для

    входных и
    выходных данных

    и дополнить, если это необходимо, тесты,
    построенные ранее.

  4. Использовать
    метод
    предположения об ошибке
    .

  5. Проверить
    логику программы, воспользовавшись
    критериями покрытия решений, покрытия
    условий, покрытия решений/условий
    либо комбинаторного покрытия условий.
    Если необходимость выполнения критерия
    покрытия приводит к построению новых
    тестов и если
    этот критерий
    не
    является
    нереализуемым

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

Критерии
завершения тестирования

Одним
из наиболее трудных в процессе тестирования
является вопрос
о том, когда
следует закончить тестирование

программы, поскольку не представляется
возможным определить, сколько еще
ошибок осталось в программе. В практике
тестирования используются три группы
критериев для завершения тестирования.

  1. Критерии,
    основанные на использовании определенной
    методологии

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

  2. Критерии,
    в основу которых положен принцип
    завершения

    тестирования
    при нахождении определенного
    экспертами
    до начала
    работ

    числа
    ошибок

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

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

Продолжаем говорить о техниках тест-дизайна. Сегодня речь пойдет о технике предугадывания ошибок. Она подойдет в том случае, когда мы уже знакомы с продуктом и имеем определенный опыт в тестировании подобного функционала.

Суть техники в том, что чтобы найти все способы, которые могут сломать тестируемый продукт.

По традиции начну с определения. Немного информации из ISTQB:
Предположение об ошибках – это способ предотвращения ошибок, дефектов и отказов, основанный на знаниях тестировщика, включающих:

— Историю работы приложения в прошлом.

— Наиболее вероятные типы дефектов, допускаемых при разработке.

— Типы дефектов, которые были обнаружены в схожих приложениях.

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

Получается, что предугадывание ошибки — это когда тест аналитик использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы «предугадать» при каких входных условиях система может выдать ошибку.

Например, в программе я вижу: «для подтверждения заказа введите свой номер телефона в формате +7(…)… ….» И я, как тестировщик, начинаю думать: «А если не вводить телефон?», «А если ввести в формате не +7, а просто 8? «, и так далее. Это и есть предугадывание ошибки.

Давайте посмотрим на конкретных примерах, как можно использовать этот метод.

Уже знакомая нам игра с молокозаводом

Возьмем объекты, которые нам необходимо построить. Например, каким образом можно сломать курятник на этапе покупки?

  1. Можно попробовать поставить его на другой объект
Ставим на другой объект
Ставим на другой объект

2. Или за границу доступного поля

Ставим за границу доступного поля
Ставим за границу доступного поля

3. За границей поля тоже не получается.. А давайте попробуем поставить на воду? Вдруг разработчики не учли этот момент?

Ставим на воду
Ставим на воду

Тоже никак, все работает как надо… Ладно поставим пока курятник на место. Теперь попробуем проверить, все ли нормально с его работой.

4. В курятник можно покупать и сажать кур. А что если попробовать вместо кур поместить коров?

Размещаем корову в курятник
Размещаем корову в курятник

5. Или попробовать кур поместить на территорию вне курятника

Размещаем кур вне курятника
Размещаем кур вне курятника

6. Или попробовать зайти в магазин, пока покупаем кур

Заходим в магазин во время покупки кур
Заходим в магазин во время покупки кур

«Ладно, видимо не в этот раз» — говорим мы себе и закрываем игру…

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

А теперь посмотрим на примере сайта

Возьмем один из элементов сайта — форму регистрации. Посмотрим на нее внимательно и подумаем, как мы можем ее «сломать».

Форма регистрации на сайте
Форма регистрации на сайте

Мне на ум приходят вот какие варианты:

  1. Указать e-mail c несуществующим доменом на конце.
  2. Указать e-mail без знака «@».
  3. Заполнить поле «Пароль» без использования обязательных символов. Например, если программа требует, чтобы в пароле были заглавные и строчные буквы, то пробуем ввести пароль без использования заглавных букв.
  4. В поле «Пароль еще раз» ввести символы отличные от символов в поле «Пароль».
  5. Снять галочку «Я принимаю условия Пользовательского соглашения».
  6. Ввести неверные символы с картинки.
  7. Оставить одно поле незаполненным.

________________________________

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

________________________________

В предугадывании ошибок нет четкой и логической схемы, которая позволила бы нам составить тест-кейсы. Т.е. нельзя сказать, что сделав сначала Шаг №1, затем Шаг №2 и т.д. мы на выходе получим готовые проверки с максимально полным покрытием.
Наоборот, эта техника основывается на опыте тестировщика и на его умении думать креативно и деструктивно.

Software application is a part of our daily life. May be in laptop or may be in our mobile phone, or it may be any digital device/interface our day starts with the use of various software applications and also ends with the use of various software applications. That’s why software companies are also trying their best to develop good quality error free software applications to the users.

So when a company develops any software application software testing plays a major role in that. Testers not only test the product with a set of specified test cases they also test the software by coming out of the testing documents. There the term error guessing comes which is not specified in any testing instruction manual still it is performed. So in this article we will discuss about that error then error guessing, where and how it is performed. The benefits that we get by performing it. So let’s start the topic.

Actually an error appears when there is any logical mistake in code by developer. And It’s very hard for a developer to find an error in large system. To solve this problem Error guessing technique is used. Error guessing technique is a software technique where test engineer guesses and try to break the software code. Error Guessing technique is also applied to all of the other testing techniques to produce more effective and workable tests.

What is the use of Error Guessing ?

In software testing error guessing is a method in which experience and skill plays an important role. As here possible bugs and defects are guessed in the areas where formal testing would not work. That’s why it is also called as experience based testing which has no specific method of testing. This is not a formal way of performing testing still it has importance as it sometimes solves many unresolved issues also.

Where or how to use it ?

Error guessing in software testing approach which is a sort of black box testing technique and also error guessing is best used as a part of the conditions where other black box testing techniques are performed, for instance, boundary value analysis and equivalence split are not prepared to cover all of the condition which are slanted to error in the application.

Advantages and Disadvantages of Error Guessing Technique :

Advantages :

  • It is effective when used with other testing approaches.
  • It is helpful to solve some complex and problematic areas of application.
  • It figures out errors which may not be identified through other formal testing techniques.
  • It helps in reducing testing times.

Disadvantages :

  • Only capable and skilled tests can perform.
  • Dependent on testers experience and skills.
  • Fails in providing guarantee the quality standard of the application.
  • Not an efficient way of error detection as compared to effort.
  • Drawbacks of Error Guessing technique:
  • Not sure that the software has reached the expected quality.
  • Never provide full coverage of an application.

Factors used in error guessing :

  1. Lessons learned from past releases.
  2. Experience of testers.
  3. Historical learning.
  4. Test execution report.
  5. Earlier defects.
  6. Production tickets.
  7. Normal testing rules.
  8. Application UI.
  9. Previous test results.

Error Guessing is one of the popular techniques of testing, even if it is not an accurate approach of performing testing still it makes the testing work simple and saves a lots of time. But when it is combined with other testing techniques we get better results. In this testing, it is essential to have skilled and experienced testers. 

Software application is a part of our daily life. May be in laptop or may be in our mobile phone, or it may be any digital device/interface our day starts with the use of various software applications and also ends with the use of various software applications. That’s why software companies are also trying their best to develop good quality error free software applications to the users.

So when a company develops any software application software testing plays a major role in that. Testers not only test the product with a set of specified test cases they also test the software by coming out of the testing documents. There the term error guessing comes which is not specified in any testing instruction manual still it is performed. So in this article we will discuss about that error then error guessing, where and how it is performed. The benefits that we get by performing it. So let’s start the topic.

Actually an error appears when there is any logical mistake in code by developer. And It’s very hard for a developer to find an error in large system. To solve this problem Error guessing technique is used. Error guessing technique is a software technique where test engineer guesses and try to break the software code. Error Guessing technique is also applied to all of the other testing techniques to produce more effective and workable tests.

What is the use of Error Guessing ?

In software testing error guessing is a method in which experience and skill plays an important role. As here possible bugs and defects are guessed in the areas where formal testing would not work. That’s why it is also called as experience based testing which has no specific method of testing. This is not a formal way of performing testing still it has importance as it sometimes solves many unresolved issues also.

Where or how to use it ?

Error guessing in software testing approach which is a sort of black box testing technique and also error guessing is best used as a part of the conditions where other black box testing techniques are performed, for instance, boundary value analysis and equivalence split are not prepared to cover all of the condition which are slanted to error in the application.

Advantages and Disadvantages of Error Guessing Technique :

Advantages :

  • It is effective when used with other testing approaches.
  • It is helpful to solve some complex and problematic areas of application.
  • It figures out errors which may not be identified through other formal testing techniques.
  • It helps in reducing testing times.

Disadvantages :

  • Only capable and skilled tests can perform.
  • Dependent on testers experience and skills.
  • Fails in providing guarantee the quality standard of the application.
  • Not an efficient way of error detection as compared to effort.
  • Drawbacks of Error Guessing technique:
  • Not sure that the software has reached the expected quality.
  • Never provide full coverage of an application.

Factors used in error guessing :

  1. Lessons learned from past releases.
  2. Experience of testers.
  3. Historical learning.
  4. Test execution report.
  5. Earlier defects.
  6. Production tickets.
  7. Normal testing rules.
  8. Application UI.
  9. Previous test results.

Error Guessing is one of the popular techniques of testing, even if it is not an accurate approach of performing testing still it makes the testing work simple and saves a lots of time. But when it is combined with other testing techniques we get better results. In this testing, it is essential to have skilled and experienced testers. 

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Мерседес спринтер ошибка р1481
  • Метод оценки скорости выявления ошибок