Какви са основните принципи за софтуерно тестване?

+4 гласа
1,147 прегледа
попитан 2016 април 18 в Тестване на софтуер от Mihaela.Petrova. (3,020 точки)

Искам да стана QA и видях някъде, че ще ми трябват Принципите на тестването, но не знам какви са те и какво представляват. Някой да помогне?

1 отговор

+2 гласа
отговорени 2016 април 18 от Tonislav Kolev (2,030 точки)
избран 2016 април 19 от Mihaela.Petrova.
 
Най-добър отговор

Привет,

Да, принципите на тестването се питат на интервюта и е добре да се знаят като цяло, сега ще ти ги изброя:

  1. Тестването показва присъствието на дефекти: Тестването може да покаже, че има присъствие на дефекти/бъгове, но не може да е доказателство,че няма дефекти. Дори след тестване на продукта изцяло не можем да кажем на 100%, че няма дефекти. Тестването винаги намаля броя на неоткритите бъгове останали  в софтуера, но дори и да няма дефекти, не е доказателство за коректност.
  2. Пълното тестване е невъзможно: Тестването на  всичко, включвайки комбинации от въвеждания и предпоставки е невъзможно. Вместо правенето на всичко това, можем да използваме рисковете и приоритетите и така да се фокусираме върху опитите за тестване. Например, някакво приложение има 15 input полета, всяко с по 5 възможни стойности, за да изтестваме всяка една възможна комбинация ще ни трябват 30,517,578,125 теста (5 на 15-та степен). Малко е вероятно от компанията да ви дадат достатъчно време за да ги пуснете тези тестове. Така че определянето на риска и  приоритетите са едни от най-важните неща в проектите.
  3. Ранно тестване: В жизнения цикъл на разработване на софтуер (SDLC от Software developing life cycle) тестването трябва да започне от възможно най-ранният стадий и трябва да бъде фокусирано в/у дефинирани задачи.
  4. Дефект клъстъринг (defect clustering) или натрупване на бъгове: Малка част от модули съдържат най-големия процент от дефектите, намерени при тестването преди релийзване.
  5. Пестициден парадокс: Ако някакви тестове се повтарят отново и отново, евентуално същите тестове ще показват едно и също и ще спрат да намират други нови бъгове. За да преодолеем „Пестицидния парадокс“, трябва да преглеждаме тест кейсовете често и да правим нови и различни тестове, за да намерим други неоткрити бъгове.
  6. Тестването зависи от контекста: Тестването е като цяло зависещо от контекста. Различните неща се тестват за различни бъгове и критичния софтуер (този, който е свързан с човешки животи) се тества за различни неща от обикновения софтуер и трябва да покрива някакви норми.
  7. Заблудата от липса на дефекти: Ако самата система/самото приложение не може да се използва от потребителите за това, за което е предназначена/предназначено или не изпълнява дадените условия и искания на потребителите, то намирането и фиксването на дефекти не помага.
...