destructive testing
Разлика между деструктивното и неразрушаващото изпитване с неговите видове и методи:
В тази статия ще обсъдим подробности за деструктивно тестване и тестване на неразрушаващ софтуер.
Ще научим за тях един по един и ще видим и разликите между тези два вида тестване в края на статията.
Какво ще научите:
- Какво е разрушително изпитване и какви са неговите предимства?
- Какво е неразрушаващо изпитване и какви са неговите предимства?
- Разлика между деструктивно и неразрушаващо изпитване
Какво е разрушително изпитване и какви са неговите предимства?
Деструктивното софтуерно тестване (DST) е вид софтуерно тестване, което се опитва да накара част от софтуерното приложение да се провали неконтролирано, да тества неговата устойчивост и да открие точката на повреда.
За разлика от други методи за тестване на конвенционален тип софтуер, които проверяват функционалността на софтуера, този метод проверява непредсказуемото поведение на потребителя в рамките на софтуера. Така че, това ни позволява да открием софтуерни дефекти, които обикновено не се срещат от обикновените потребители.
Моля, обърнете внимание, че деструктивното тестване на софтуер (DST) е алтернативен подход към тестването на конвенционален тип софтуер (CST), но не и неговата замяна. Ефективно е да се извършва DST в допълнение към CST.
Деструктивните тестове се извършват при най-строгите условия на работа и продължават, докато приложението се счупи. Ключовата идея на това тестване е не само да разкрие дизайнерските слабости, ако има такива, които евентуално няма да бъдат разкрити при нормални условия на работа, но и да открие експлоатационния живот на софтуерния продукт.
Този тип тестване споделя прилики с тестване на маймуни, ad hoc тестване и изследователско тестване.
Ползи от тестването на деструктивен софтуер
как да настроите maven в затъмнение -
- Той помага да се измери стабилността, възможността за възстановяване и продължителността на живота на приложението.
- Разкрива точките на отказ в случай на неподходяща или неправилна употреба на софтуера.
- Той задава правилния контекст за тестера, тъй като игнорира пристрастията на потребителските истории при тестване.
- Позволява ни да разкрием софтуерни дефекти, които обикновено не се срещат от обикновените потребители.
- Този тип тестване е уникален при откриването на недостатъци в приложението, които при адресиране ще повишат ранга на софтуера до статус на новак.
Стъпки за извършване на това тестване
- В началото на деструктивния цикъл на тестване на софтуера клиентът изпраща копие на приложение или идентификационни данни за достъп и потребителски изисквания.
- След това клиентът представя изискванията и демонстрира приложението на QA анализатор.
- След това QA анализаторът установява функцията на границите в приложението и създава граници на използваемост на приложението в границите.
- Сега QA тестерът ще тества произволно приложението в тези граници, използвайки стохастичните техники. QA тестовите работни процеси и дефекти се записват.
- И накрая, директорията с дефекти се споделя с клиента.
- Ако има нужда, цикълът на разрушително изпитване може да се повтори въз основа на изискванията на клиента.
За това тестване е добре да имате известни познания за оригиналните изисквания на софтуера. Това помага за изготвянето на добра стратегия за тестване.
Какво проверявате в тест за разрушаване?
- Неправилно и правилно поведение на софтуерното приложение.
- Валидни и невалидни входни данни.
- Неправилно използване на софтуерното приложение.
Методи и стратегии за деструктивно тестване на софтуер
Има няколко начина, чрез които може да се извърши разрушително изпитване:
1) Метод за анализ на точката на отказ:
При този метод приложението се преглежда и изследва за достъп до всеки път и ъгъл от него. Определя се какво може да се провали в различни точки. За този метод можете да вземете помощ от бизнес анализатори, за да прегледате приложението.
2) Партньорска проверка:
как да отворите .jar с java
Получете приложението, прегледано от колега тестер, който не е запознат със софтуера. Това ще ви помогне да намерите някои скрити точки на повреда, които не са били видими за вас като тестер.
3) Получете тестови случаи, прегледани от бизнеса:
Крайните потребители и други заинтересовани страни понякога могат да измислят валидни тестови сценарии, които тестерът може да е пропуснал. Така че получаването на тестови случаи, прегледани от бизнеса, може да увеличи покритието ви от тестове.
4) Изследователски тестове:
Извършете изследователски тестове с помощта на прогонни листове. Това ще ви помогне да знаете какво е тествано, да повторите тестовете и да контролирате покритието на теста.
5) Хранете системата с неподходящи данни:
Можете да предоставите невалидни данни на приложението. Това може да включва повредени данни, грешна последователност от стъпки на потребителския интерфейс и т.н.
6) Използвайте други източници:
Можете също така да използвате всякакви други източници или начини за разбиване на системата и анализ за различни сценарии. Хубавото е, че потребителската история за деструктивно тестване на софтуер не изисква непременно „изисквания“ и „спецификации“, така че можете да изпробвате всеки подходящ начин за провеждане на това тестване.
Техники за разрушително изпитване
Деструктивното тестване на софтуера може да се проведе чрез различни техники като:
- Изпитване за приемане
- Циклично тестване
- Регресионно тестване
- Разделяне на еквивалентност
- Изпитване на гранична стойност
- Тестване на интерфейса
- Алфа / бета тестване
- Тестване на системата
- Тестване отгоре надолу
- Тестване на черна кутия
Малко полезни съвети за деструктивно тестване на софтуер
- Получете възможно най-много познания за продукта. Поставете се на мястото на клиента и след това помислете за продукта от неговата гледна точка.
- Изтрийте цялата пристрастна информация от историята на потребителя. Забравете за описанието на потребителската история и критериите за приемане и се опитайте да разбиете приложението като луд клиент.
- Търсете пътищата за изключения, а не щастливите пътища. Имайте предвид, че като пренебрегнете критериите за приемане, няма да знаете очаквания или нормален работен процес.
- Не очаквайте положителен отговор от вашата кандидатура. Ами ако нещо се провали? Опитайте се да симулирате и корумпирате всичко, което можете.
- Ограничете мрежовите си условия до по-реалистична настройка, защото всички реални потребители няма да имат машини и мрежови условия от най-висок клас.
Какво е неразрушаващо изпитване и какви са неговите предимства?
Неразрушителното изпитване (NDT) се описва като техника за оценка на софтуера, която включва взаимодействие със софтуера правилно. За разлика от деструктивното тестване на софтуер, където търсим пътища за изключения, при неразрушителното тестване търсим щастливи пътеки или златни пътеки. NDT е известен също като положително тестване.
Например, ако има поле за въвеждане, което приема число в рамките на 1-999, тогава положителен тест ще бъде въвеждането на число в този диапазон и проверка на функционалността на полето за въвеждане.
В NDT имаме добре дефиниран тестов случай, използващ известно изискване, който се изпълнява без никакви грешки или изключения и произвежда желания изход. Той дава очакваните резултати и проверява дали софтуерът работи според очакванията.
Ползи на неразрушаващо тестване на софтуер
- Подобреното качество на софтуера и проблемите се отстраняват в основния поток на приложението.
- Полезно при демонстриране, че софтуерното приложение работи съгласно изискваните спецификации.
- Проверява дали потребителските очаквания са изпълнени.
- Гарантира, че са изпълнени изискванията за производителност.
- Спестява както време, така и пари при оценка на продукта и отстраняване на неизправности.
Кога да извършите това тестване
- Това трябва да е първата форма на тестване и трябва да се извърши в началния етап на SDLC, защото щастливият път е основният поток на приложението и ако не работи добре, останалата част от тестването се блокира.
- Това може да се направи бързо и лесно, когато нямаме достатъчно време и бюджет за тестване. Това поне гарантира, че са изпълнени изискванията на софтуера и критериите за приемане.
Стратегия за неразрушаващо тестване на софтуер
- Трябва да се възприеме положителният подход за провеждане на изпитване без разрушаване.
- Докато прави тестването, тестващият трябва да има предвид, че целта на неразрушаващия тест е да провери дали приложението ще работи добре при предоставяне на валидни входни данни. И така, целта е да се провери поведението на приложението за положителния набор от данни.
- Най-добрата практика е да проверите дали системата прави това, което е предназначена.
Разлика между деструктивно и неразрушаващо изпитване
Деструктивно изпитване | Неразрушаващо изпитване |
---|---|
Фокусира се върху слабостите в дизайна, но не и върху функционалността. | Фокусира се върху слабостите във функционалността, но не и върху дизайна. |
Не е задължително да се нуждае от бизнес изисквания. Деструктивното изпитване се извършва, без да се запознаете с предварително определени изисквания. | Тестването се извършва, за да се проверят функционалностите спрямо бизнес изискванията и критериите за приемане. |
Намерението е да се прекъсне софтуера чрез предоставяне на необичайни входове за откриване на точки на откази. | Намерението е да се взаимодейства със софтуера правилно, за да се проверят положителните резултати. |
Заключение
При деструктивно тестване приложението умишлено се срива, за да се изследва надеждността на приложението. Той открива точките на отказ в софтуера, които могат да възникнат поради неправилно боравене с приложението от страна на клиента.
Той открива онези слаби места, които не могат да бъдат проследени чрез конвенционално тестване на софтуер. За по-добро покритие на тестовете се предпочита да се провеждат деструктивни тестове на софтуер заедно с конвенционални тестове на софтуер.
Неразрушителното тестване се извършва с подхода за положително тестване или щастлив път, за да се провери дали функционалността на софтуера отговаря на изискванията на клиента. Включва правилно взаимодействие със софтуера.
Препоръчително четене
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Тестване на софтуер QA Assistant Job
- Курс за тестване на софтуер: Към кой институт за тестване на софтуер трябва да се присъединя?
- Изборът на софтуерно тестване като кариера
- Тестване на софтуер Техническо съдържание Writer Работа на свободна практика
- Изтегляне на eBook за тестване на Primer
- Някои интересни въпроси за интервю за тестване на софтуер
- Обратна връзка и рецензии на курсове за софтуерно тестване