Какво представлява use case тестингът и каква е разликата между use case и test case?

+12 гласа
662 прегледа
попитан 2016 август 6 в Тестване на софтуер от flora333 (260 точки)
редактиран 2016 август 7 от flora333
Говори се в Quality Assurance-а за test case и после за use case, изглеждат ми еднакви, но трябва да има някаква разлика между тях, някой да обясни?

Благодаря!

1 отговор

+2 гласа
отговорени 2016 август 7 от Tonislav Kolev (2,030 точки)
избран 2016 август 23 от flora333
 
Най-добър отговор

Здравей,

Добър въпрос, задаван на интервюта и си заслужава да се разбере разликата и да се знае кое какво е.

Use case представлява действията, които са нужни да бъдат извършени, за да се постигне или не някаква цел. Един use case има няколко path-а, тоест няколко пътеки, които могат да бъдат избрани от всеки юзър по всяко време. Често се бъркат и use case с use case scenario (сценария за use кейс-а). Use case scenario-то представлява един path/една пътека от use case-a, тоест use case-a се състои от един или повече use case сценарии.

Пример за 1 use кейс може да бъде това:

http://istqbexamcertification.com/wp-content/uploads/2011/12/Use-case-testing-example2.jpg

На картинката са изобразени във формата на таблица успешните и неуспешните сценарии на един банкомат и пин кодът на картата на клиента.

Взаимодействието е между клиентът и системата (А:actor и S:System).

От стъпка 1 до 5 – това са успешните сценарии, показващи, че картата и пина са валидни и позволява на клиента да си влезе в акаунта. В extensions (разширенията), обаче, има 3 други, които са неуспешните – 2а,4a и 4b.

Ако направим use case тестване на този пример, ние ще трябва да имаме един тест за успешния сценарий (success scenario) и по 1 тест за всеки extension. Тук можем да дадем на 4b extension-а по-голям приоритет от колкото на 4a от гледна точка на сигурността.

Системните изисквания също могат да бъдат представени като комплект или сет от use кейсове. Този подход би ни улеснил включването на потребителите към requirements gathering-а , т.е. събирането на изисквания.

Относно сравнението м/у use и test cases.

Колегата Даниел е дал какво е тест кейс във форума тук и сега ще ги сравним.

Use case

Use case-овете се правят от бизнес аналитика.

Test case

Тест case-овете се правят от тест инженера, а в малките компании може и от аналитика на качеството  или т.н. quality analyst.

Use case

Use кейсовете не могат да се приготвят, ако са базирани на тест кейсовете, тоест use case-овете не произхождат от тест кейсовете.

Test case

Тест кейсовете могат да се приготвят, ако са базирани на use кейсовете, тоест test case-овете произхождат от use кейсовете.

Use case

Tой описва стъпка по стъпка инструкциите, тоест показва как да ползваме една функционалност.

Test case

Tой проверява дали средствата на функционалността са такива, каквито са показани в use case-а.

Use case

Не може да бъде изпълнен, той е само проектиран.

Test case

Първо се проектира, а после се изпълнява.

Use case

Произлиза от Business requirement specification, т.е. Спецификациите на Бизнес Изискванията.

Test case

Произлиза от use case-а.

Use case

Представлява подробен образ на потребителските изисквания.

Test case

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

Use case

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

Test case

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

С какво биха били полезни на практика:

Use case-овете могат да открият дефекти свързани с интеграцията, тоест да помогнат в integration testing-а, например дефекти породени от несъвместимостта на различните компоненти. В случая actor-а или действащото лице може да бъде нещо,с което системата си взаимодейства, например комуникационна връзка (communication link) или подсистема (sub-system).

И не на последно място, use case-овете представят потоците от действия в една система базирана на честата си употреба. Това позволява на тест кейсовете, изготвени от use кейсовете изключително лесно да открият дефекти докато системата е в реалните си условия (тоест дефектите, на които потребителите най-вероятно биха се натъкнали, ползвайки системата за пръв път).

Да обобщим:

Use case-a ни показва как хората, взаимодействайки си със системата, могат да постигнат дадена цел.

Test case-a проверява дали целта съответства на тази с инструкцийте на use case-а или не.

...