Какво е тестване на надеждността? (Пример)

Какво е тестване на надеждността?

Тестване на надеждността е процес на тестване на софтуер, който проверява дали софтуерът може да изпълнява безпроблемна операция в определена среда за определен период от време. Целта на тестването за надеждност е да се гарантира, че софтуерният продукт е без грешки и достатъчно надежден за очакваната цел.

Надеждност означава „получаване на същото“, с други думи, думата „надежден“ означава, че нещо е надеждно и че ще дава същия резултат всеки път. Същото важи и за тестовете за надеждност.

Пример за тестване на надеждността

Вероятността компютър в магазин да работи и да работи осем часа без да се срива е 99%; това се нарича надеждност.

Тестовете за надеждност могат да бъдат категоризирани в три сегмента,

  • Моделиране
  • Измерване
  • Подобрение

Следната формула е за изчисляване на вероятността от повреда.

Probability = Number of failing cases/ Total number of cases under consideration

Пример за тестване на надеждността

Фактори, влияещи върху надеждността на софтуера

  1. Броят на грешките в софтуера
  2. Начинът, по който потребителите работят със системата

Тестването на надеждността е един от ключовете за по-добро качество на софтуера. Това тестване помага да се открият много проблеми в дизайна и функционалността на софтуера.

Основната цел на тестването за надеждност е да се провери дали софтуерът отговаря на изискването за надеждност на клиента.

Тестовете за надеждност ще се извършват на няколко нива. Сложните системи ще бъдат тествани на ниво единица, модул, подсистема и система.

Защо тестване за надеждност?

Тестването на надеждността се извършва, за да се провери производителността на софтуера при дадени условия.

Целта зад извършването на тестове за надеждност е,

  1. Да се ​​намери структурата на повтарящите се неуспехи.
  2. За да се намери броят на възникналите повреди е определеното време.
  3. За да откриете основната причина за провала.
  4. Да дирижирам Тестване на производителността на различни модули от софтуерни приложения след отстраняване на дефект.

След пускането на продукта също можем да минимизираме възможността за поява на дефекти и по този начин да подобрим надеждността на софтуера. Някои от инструментите, полезни за това, са - Анализ на тенденцията, Ортогонален дефект Класификация и формални методи и др.

Видове тестове за надеждност

Тестването за надеждност на софтуера включва тестване на функции, Тестване на товара, и Тестване на регресия

Тестване на функции: -

Представено тестване проверява функцията, предоставена от софтуера, и се провежда в следните стъпки:-

  • Всяка операция в софтуера се изпълнява поне веднъж.
  • Взаимодействието между двете операции е намалено.
  • Всяка операция трябва да бъде проверена за правилното й изпълнение.

Тестване на натоварването: -

Обикновено софтуерът ще работи по-добре в началото на процеса и след това ще започне да се влошава. Тестването на натоварването се провежда, за да се провери производителността на софтуера при максимално натоварване.

Регресионен тест: -

Регресионното тестване се използва главно за проверка дали са въведени нови грешки поради коригиране на предишни грешки. Регресионното тестване се провежда след всяка промяна или актуализация на функциите на софтуера и техните функционалности.

Как да направите тест за надеждност

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

Като начало с тестване на надеждността, тестерът трябва да продължи да следва неща,

  • Установете цели за надеждност
  • Разработете оперативен профил
  • Планирайте и изпълнете тестове
  • Използвайте резултатите от теста, за да вземете решения

Както обсъдихме по-рано, има три категории, в които можем да извършим тестове за надеждност, - Моделиране, измерване и подобряване.

Ключовите параметри, включени в теста за надеждност, са: -

  • Вероятност за безпроблемна работа
  • Продължителност на безотказната работа
  • Средата, в която се изпълнява

Стъпка 1) Моделиране

Техниката за софтуерно моделиране може да бъде разделена на две подкатегории:

1. Моделиране на прогнози

2. Моделиране на оценка

  • Смислени резултати могат да бъдат получени чрез прилагане на подходящи модели.
  • Могат да се направят предположения и абстракции, за да се опростят проблемите и нито един модел няма да е подходящ за всички ситуации. Основните разлики между двата модела са:-
Въпроси Модели за прогнозиране Модели за оценка
Справка за данни Той използва исторически данни Той използва текущи данни от разработката на софтуер.
Когато се използва в цикъл на разработка Обикновено се създава преди фазите на разработка или тестване. Обикновено ще се използва по-късно в жизнения цикъл на разработката на софтуер.
Период Той ще предскаже надеждността в бъдеще. Той ще предвиди надеждността или за сегашното време, или за бъдещото време.

Стъпка 2) Измерване

Надеждността на софтуера не може да бъде измерена директно; следователно, други свързани фактори се считат за оценка на надеждността на софтуера. Настоящите практики за измерване на надеждността на софтуера са разделени на четири категории: -

Измерване 1: Продуктови показатели

Продуктовите показатели са комбинация от 4 вида показатели:

  • Размер на софтуера: – Редът от код (LOC) е интуитивен първоначален подход за измерване на размера на софтуера. В този показател се отчита само изходният код, а коментарите и другите неизпълними изрази няма да се отчитат.
  • Функционална точка Метрика:- Функционалната метрика на Pont е методът за измерване на функционалността на разработката на софтуер. Той ще вземе предвид броя на входовете, изходите, главните файлове и т.н. Той измерва функционалността, предоставена на потребителя, и е независим от езика за програмиране.
  • Сложност е пряко свързано с надеждността на софтуера, така че представянето на сложността е важно. Метриката, ориентирана към сложността, определя сложността на контролната структура на програмата чрез опростяване на кода в графично представяне.
  • Показатели за тестово покритие:- Това е начин за оценка на грешките и надеждността чрез завършване на тестове на софтуерни продукти. Надеждността на софтуера означава, че функцията е да се определи дали системата е напълно проверена и тествана.

Измерване 2: Метрики за управление на проекти

  • Изследователите са осъзнали, че доброто управление може да доведе до по-добри продукти.
  • Доброто управление може да постигне по-висока надеждност чрез използване на по-добри процеси за разработка, управление на риска и управление на конфигурацията.

Измерване 3: Метрики на процеса

Качеството на продукта е пряко свързано с процеса. Метриките на процеса могат да се използват за оценка, наблюдение и подобряване на надеждността и качеството на софтуера.

Измерване 4: Показатели за грешки и неуспехи

Показателите за грешки и откази се използват главно за проверка дали системата е напълно безотказна. Както видовете грешки, открити по време на процеса на тестване (т.е. преди доставката), така и неуспехите, докладвани от потребителите след доставката, се събират, обобщават и анализират, за да се постигне тази цел.

Надеждността на софтуера се измерва по отношение на средно време между отказите (MTBF). MTBF се състои от

  • Средна стойност до отказ (MTTF): Това е разликата във времето между два последователни отказа.
  • Средно време за ремонт (MTTR): Това е времето, необходимо за отстраняване на повредата.
MTBF = MTTF + MTTR

Надеждността за добър софтуер е число между 0 и 1.

Надеждността се увеличава, когато грешките или бъговете от програмата бъдат премахнати.

Стъпка 3) Подобряване

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

Примерни методи за тестване на надеждността

Тестването за надеждност е свързано с упражняване на приложение за откриване и отстраняване на повреди, преди системата да бъде разгърната.

Има основно три подхода, използвани за тестване на надеждността

  • Тест-повторно тестване Надеждност
  • Надеждност на паралелните форми
  • Последователност на решенията

По-долу се опитахме да обясним всичко това с пример.

Тест-повторно тестване Надеждност

Тест-повторно тестване Надеждност

За да се оцени надеждността на тест-повторен тест, една група от изпитвани ще извърши процеса на тестване само с няколко дни или седмици. Времето трябва да е достатъчно кратко, за да могат да се оценят уменията на изпитвания в областта. Връзката между резултатите на изпитвания от две различни администрации се оценява чрез статистическа корелация. Този тип надеждност демонстрира степента, до която даден тест е в състояние да произведе стабилни, последователни резултати във времето.

Надеждност на паралелните форми

Надеждност на паралелните форми

Много изпити имат множество формати на въпроси, тези паралелни форми на изпит осигуряват сигурност. Надеждността на паралелните форми се оценява чрез администриране на двете форми на изпита на една и съща група изпитвани. Резултатите на изпитвания по двата тестови формуляра се съотнасят, за да се определи доколко сходно функционират двата тестови формуляра. Тази оценка на надеждността е мярка за това доколко последователни резултати на изпитваните могат да се очакват в тестовите форми.

Последователност на решенията

След извършване на Надеждност на тест-повторен тест и Надеждност на паралелни формуляри ще получим резултат от изпитите, които са издържали или не са издържали. Надеждността на това решение за класифициране се оценява в надеждността на последователността на решението.

Значение на теста за надеждност

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

За да проверите надеждността на софтуера чрез тестване:-

  1. Голям брой тестови случаи трябва да се изпълняват за продължителен период от време, за да се определи колко дълго софтуерът ще се изпълнява без повреда.
  2. Разпределението на тестовия случай трябва да съответства на действителния или планирания оперативен профил на софтуера. Колкото по-често се изпълнява функция на софтуера, толкова по-голям е процентът на тестовите случаи, които трябва да бъдат разпределени за тази функция или подмножество.

Инструменти за тестване на надеждността

Някои от Инструменти за тестване на надеждността използвани за надеждност на софтуера са:

1. WEIBULL++:- Надежден живот Анализ на данни

2. RGA: - Анализ на растежа на надеждността

3. RCM: - Поддръжка, ориентирана към надеждността

Oбобщение

Тестването на надеждността е важна част от инженерната програма за надеждност. По-правилно, това е душата на инженерната програма за надеждност. Освен това, тестовете за надеждност са предназначени главно за разкриване на конкретни режими на повреда и други проблеми по време на тестването на софтуера.

In Софтуерно инженерство, Тестовете за надеждност могат да бъдат категоризирани в три сегмента,

  • Моделиране
  • Измерване
  • Подобрение

Фактори, влияещи върху надеждността на софтуера

  • Броят на грешките в софтуера
  • Начинът, по който потребителите работят със системата