what is system testing ultimate beginner s guide
Какво е системно тестване при тестване на софтуер?
Тестване на системата означава тестване на системата като цяло. Всички модули / компоненти са интегрирани, за да се провери дали системата работи според очакванията или не.
Тестване на системата се извършва след тестване на интеграция. Това играе важна роля за доставяне на висококачествен продукт.
Списък с уроци:
Процесът на тестване на интегрирана хардуерна и софтуерна система, за да се провери дали системата отговаря на посочените изисквания.
Проверка : Потвърждение чрез проверка и предоставяне на обективни доказателства, че са изпълнени определени изисквания.
Ако дадено приложение има три модула A, B и C, тогава тестването, извършено чрез комбиниране на модули A & B или модул B & C или модул A & C, е известно като интеграционно тестване. Интегрирането на трите модула и тестването му като цялостна система се нарича системно тестване.
Какво ще научите:
- Моят опит
- Приближаване
- Защо системно тестване?
- Това тестване на бяла или черна кутия ли е?
- Как да извършите тест на системата?
- Предимства
- Критерии за влизане / излизане
- План за тестване на системата
- Процедура за написване на тестови случаи на системата
- Случаи за системни тестове
- Видове системни тестове
- Какво е тестване на системната интеграция?
- Разлика между тестване на системата и приемането
- Съвети за извършване на системния тест
- Заключение
- Препоръчително четене
Моят опит
И така ... наистина ли мислите, че ще отнеме толкова много време, за да тествате това, което наричате Тестване на системата , дори след като похарчихте много усилия за интеграционно тестване?
Клиентът, който наскоро се обърнахме за проекта, не беше убеден в оценката, която предоставихме за всяко усилие за тестване.
Трябваше да се обадя с пример:
Майк, бих искал да разгледам нашите усилия и значението на системното тестване с пример.
Стреляй, отговори той.
Пример за системно тестване
Производител на автомобил не произвежда автомобила като цялостна кола. Всеки компонент на автомобила се произвежда отделно, като седалки, кормилно управление, огледало, прекъсване, кабел, двигател, рамка на автомобила, колела и др.
След производството на всеки елемент, той се тества независимо дали работи по начина, по който трябва да работи и това се нарича Unit testing.
най-добрите сайтове за гледане на аниме онлайн безплатно
Сега, когато всяка част е сглобена с друга част, тази сглобена комбинация се проверява, ако сглобяването не е причинило страничен ефект върху функционалността на всеки компонент и дали двата компонента работят заедно, както се очаква и това се нарича тестване на интеграцията.
След като всички части са сглобени и колата е готова, тя всъщност не е готова.
Цялата кола трябва да бъде проверена за различни аспекти според дефинираните изисквания, като например дали автомобилът може да се кара плавно, прекъсвания, предавки и друга функционалност, работеща правилно, автомобилът не показва признаци на умора, след като е бил шофиран непрекъснато 2500 мили, цвят на автомобила е общоприето и харесвано, автомобилът може да се движи по всякакви пътища като гладки и груби, небрежни и прави и т.н. и цялото това усилие на тестване се нарича Системно тестване и няма нищо общо с интеграционното тестване.
Примерът работи така, както се очакваше и клиентът беше убеден в усилията, необходими за системния тест.
Разказах примера тук, за да поощря важността на това тестване.
Приближаване
Извършва се, когато приключи интеграционното тестване.
Това е предимно тестване на тип Black-box. Това тестване оценява работата на системата от гледна точка на потребителя с помощта на спецификационен документ. Той не изисква никакви вътрешни познания за системи като дизайн или структура на кода.
Съдържа функционални и нефункционални области на приложение / продукт.
Критерии за фокус:
Основно се фокусира върху следното:
- Външни интерфейси
- Мултипрограмни и сложни функционалности
- Сигурност
- Възстановяване
- производителност
- Плавното взаимодействие на оператора и потребителя със системата
- Инсталируемост
- Документация
- Използваемост
- Натоварване / стрес
Защо системно тестване?
# 1) Много е важно да завършите пълен цикъл на изпитване и ST е етапът, в който се извършва.
# две) ST се извършва в среда, подобна на производствената среда и следователно заинтересованите страни могат да получат добра представа за реакцията на потребителя.
# 3) Той помага да се сведе до минимум отстраняването на неизправности след внедряването и повикванията за поддръжка.
# 4 ) В този етап на STLC се тестват архитектурата на приложенията и бизнес изискванията.
Това тестване е много важно и играе съществена роля за предоставянето на качествен продукт на клиента.
Нека да видим важността на това тестване чрез следните примери, които включват ежедневните ни задачи:
- Какво ще стане, ако онлайн транзакция се провали след потвърждение?
- Какво ще стане, ако елемент, поставен в количка на онлайн сайт, не позволява да се направи поръчка?
- Какво ще стане, ако в акаунт в Gmail създаването на нов етикет изведе грешка при щракване върху раздела за създаване?
- Какво ще стане, ако системата се срине, когато натоварването се увеличи в системата?
- Какво ще стане, ако системата се срине и не е в състояние да възстанови данните по желание?
- Какво ще стане, ако инсталирането на софтуер в системата отнема много повече време от очакваното и накрая изведе грешка?
- Какво ще стане, ако времето за реакция на уебсайта се увеличи много повече от очакваното след подобрението?
- Какво ще стане, ако уебсайтът стане твърде бавен, че потребителят не може да резервира своя билет за пътуване?
По-горе има само няколко примера, които показват как би повлияло системното тестване, ако не бъде направено по подходящ начин.
Всички горепосочени примери са само резултат от теста на системата, който не е извършен или не е направен правилно. Всички интегрирани модули трябва да бъдат тествани, за да се гарантира, че продуктът работи според изискванията.
Това тестване на бяла или черна кутия ли е?
Тестването на системата може да се разглежда като техника за черна кутия.
Тестване на черна кутия техниката не изисква вътрешно познаване на кода, докато техниката на бялото поле изисква вътрешно познаване на кода.
Докато извършвате тестване на системата функционални и нефункционални, се обхващат сигурността, производителността и много други видове тестване и те се тестват с помощта на черна кутия техника, при която входът се предоставя на системата и изходът се проверява. Не се изискват системни вътрешни познания.
Техника на черна кутия:
Как да извършите тест на системата?
По същество това е част от тестването на софтуера и планът за тестване винаги трябва да съдържа конкретно място за това тестване.
За да тества системата като цяло, изискванията и очакванията трябва да са ясни и тестващият също трябва да разбере използването на приложението в реално време.
Също така, най-използваните инструменти на трети страни, версии на ОС, вкусове и архитектура на ОС могат да повлияят на функционалността, производителността, сигурността, възстановяемостта или инсталируемостта на системата.
Следователно, докато тествате системата, ясната картина на това как ще се използва приложението и с какви проблеми може да се сблъска в реално време може да бъде полезна. В допълнение към това документът за изискванията е толкова важен, колкото и разбирането на приложението.
Ясният и актуализиран документ за изисквания може да спаси тестера от редица недоразумения, предположения и въпроси.
Накратко, отчетлив и отчетлив документ за изисквания с най-новите актуализации, заедно с разбирането за използването на приложения в реално време, може да направи ST по-ползотворен.
Това тестване се извършва по планиран и систематичен начин.
По-долу са дадени различните стъпки, участващи при извършването на това тестване:
- Първата стъпка е да се създаде план за тестване.
- Създаване на системни тестови случаи и тестови скриптове.
- Подгответе тестовите данни, необходими за това тестване.
- Изпълнете системните тестови случаи и скрипт.
- Съобщете за грешките. Повторно тестване на грешки, след като са отстранени.
- Регресионно тестване за да проверите въздействието на промяната в кода.
- Повторение на тестовия цикъл, докато системата е готова за внедряване.
- Излезте от екипа за тестване.
Какво да тествате?
Посочените по-долу точки са обхванати от това тестване:
- Тестване от край до край което включва проверка на взаимодействието между всички компоненти и заедно с външните периферни устройства, за да се гарантира дали системата работи добре във всеки от сценариите, обхванати от това тестване.
- Той проверява дали входът, предоставен на системата, осигурява очаквания резултат.
- Той проверява дали всички функционални и нефункционални изисквания са тествани и работят ли според очакванията или не.
- До това и при това тестване може да се извърши изследователско тестване след приключване на тестването по сценарий. Изследователско тестване и ad-hoc тестването помага да се разкрият грешките, които не могат да бъдат намерени при тестване по сценарий, тъй като дава свобода на тестерите да тестват, тъй като желанието им се основава на техния опит и интуиция.
Предимства
Има няколко предимства:
- Това тестване включва сценарии от край до край за тестване на системата.
- Това тестване се извършва в същата среда като производствената среда, която помага да се разбере перспективата на потребителя и предотвратява проблемите, които могат да възникнат, когато системата стартира.
- Ако това тестване се извършва по систематичен и правилен начин, това би помогнало за смекчаване на проблемите с постпродукцията.
- Това тестване тества както архитектурата на приложението, така и бизнес изискванията.
Критерии за влизане / излизане
Нека разгледаме подробно критериите за влизане / излизане за системния тест.
Критерии за влизане:
- Системата трябва да е преминала критериите за изход на теста за интеграция, т.е. всички тестови случаи трябва да бъдат изпълнени и не трябва да има критичен или приоритет P1, грешка P2 в отворено състояние.
- План за тестване за това тестване трябва да бъде одобрено и подписано.
- Тестовите случаи / сценарии трябва да са готови за изпълнение.
- Тестовите скриптове трябва да са готови за изпълнение.
- Трябва да са налице всички нефункционални изисквания и да бъдат създадени тестови случаи за същото.
- Тестовата среда трябва да е готова.
Критерии за изход:
- Всички тестови случаи трябва да бъдат изпълнени.
- Никакви критични грешки или грешки, свързани с приоритет или сигурност, не трябва да са в отворено състояние.
- Ако някакви грешки със среден или нисък приоритет са в отворено състояние, тогава те трябва да бъдат приложени с приемането на клиента.
- Изходният доклад трябва да бъде подаден.
План за тестване на системата
Тестовият план е документ, който се използва за описание на целта, целта и обхвата на продукта, който трябва да бъде разработен. Какво трябва да се тества и какво не трябва да се тества, стратегии за тестване, инструменти, които да се използват, необходима среда и всеки друг детайл се документира, за да се продължи с тестването.
Планът за тестване помага да се пристъпи към тестване по много систематичен и стратегически начин и това помага да се избегнат всякакви рискове или проблеми, докато се извършва тестването.
Планът за тестване на системата обхваща следните точки:
- Целта и целта са дефинирани за този тест.
- Обхват (изброени са характеристики, които ще бъдат тествани).
- Критерии за приемане на теста (критерии, по които системата ще бъде приета, т.е. споменатите точки в критериите за приемане трябва да са в състояние на преминаване).
- Критерии за влизане / излизане (Определя критериите кога трябва да започне тестването на системата и кога трябва да се счита за завършено).
- График на теста (Оценка на тестването, което трябва да бъде завършено в точно определено време).
- Тестова стратегия (Включва техники за тестване).
- Ресурси (Брой ресурси, необходими за тестване, техните роли, наличност на ресурси и т.н.).
- Тестова среда (операционна система, браузър, платформа).
- Тестови случаи (Списък на тестовите случаи, които трябва да бъдат изпълнени).
- Предположения (Ако има предположения, те трябва да бъдат включени в плана за изпитване).
Процедура за написване на тестови случаи на системата
Тестовите случаи на системата обхващат всички сценарии и случаи на употреба, а също така обхваща функционални, нефункционални, потребителски интерфейс, свързани със сигурността тестови случаи. Тестовите случаи са написани по същия начин, както са написани за функционално тестване.
Системните тестови случаи включват следните полета в шаблона:
- Идент. № на тестовия случай
- Име на Test Suite
- Описание - описва тестовия случай, който трябва да бъде изпълнен.
- Стъпки - Процедура стъпка по стъпка, за да се опише как се извършва тестване.
- Тестови данни - фиктивни данни са подготвени за тестване на приложението.
- Очакван резултат - Очакваният резултат съгласно документа за изискванията е предоставен в тази колона.
- Действителен резултат - В тази колона е представен резултат след изпълнението на тестовия случай.
- Pass / Fail - Сравнението в действителния и очаквания резултат определя критериите Pass / Fail.
- Забележки
Случаи за системни тестове
Ето някои примерни тестови сценарии за сайт за електронна търговия:
- Ако сайтът се стартира правилно с всички съответни страници, функции и лого
- Ако потребителят може да се регистрира / влезе в сайта
- Ако потребителят може да види наличните продукти, той може да добави продукти към своята кошница, може да извърши плащане и може да получи потвърждението чрез електронна поща или SMS или обаждане.
- Ако основната функционалност като търсене, филтриране, сортиране, добавяне, промяна, списък с желания и т.н. работи както се очаква
- Ако броят на потребителите (дефинирани както е в документа за изисквания) могат да имат достъп до сайта едновременно
- Ако сайтът стартира правилно във всички основни браузъри и техните най-нови версии
- Ако транзакциите се извършват на сайта чрез определен потребител, са достатъчно сигурни
- Ако сайтът стартира правилно на всички поддържани платформи като Windows, Linux, Mobile и т.н.
- Ако ръководството за потребителя / ръководството за връщане, политиката за поверителност и условията за използване на сайта са на разположение като отделен документ и полезни за всеки начинаещ или за първи път потребител.
- Ако съдържанието на страниците е правилно подравнено, добре управлявано и без правописни грешки.
- Ако времето за изчакване на сесията е приложено и работи според очакванията
- Ако потребителят е доволен след използване на сайта или с други думи, потребителят не се затруднява да използва сайта.
Видове системни тестове
ST се нарича супер набор от всички видове тестване, тъй като всички основни видове тестване са обхванати в него. Въпреки че фокусът върху видовете тестове може да варира в зависимост от продукта, организационните процеси, сроковете и изискванията.
Като цяло това може да бъде определено по-долу:
Тестване на функционалността: За да се уверите, че функционалността на продукта работи съгласно определените изисквания, в рамките на възможностите на системата.
Тестване на възстановимостта: За да се уверите колко добре системата се възстановява от различни грешки при въвеждане и други ситуации на отказ.
Тестване на оперативната съвместимост: За да сте сигурни дали системата може да работи добре с продукти на трети страни или не.
Тестване на производителността: За да се уверите, че производителността на системата при различните условия, по отношение на характеристиките на производителността.
Тестване на скалируемост: За да се уверите в способностите на системата за мащабиране в различни термини като мащабиране на потребителя, географско мащабиране и мащабиране на ресурсите.
Тестване на надеждността: За да сте сигурни, че системата може да работи по-дълго време, без да се развиват повреди.
Регресионно тестване: За да се уверим, че стабилността на системата преминава чрез интеграция на различни подсистеми и задачи по поддръжката.
Тестване на документация: За да се уверите, че ръководството за потребителя на системата и документите за други помощни теми са правилни и използваеми.
Тестване на сигурността: За да се уверите, че системата не позволява неоторизиран достъп до данни и ресурси.
Тестване на използваемостта : За да сте сигурни, че системата е лесна за използване, научете се и работете.
Още видове системно тестване
# 1) Тестване на графичен потребителски интерфейс (GUI):
Тестването на GUI се извършва, за да се провери дали GUI на системата работи както се очаква или не. GUI е основно това, което се вижда от потребителя, докато той използва приложението. Тестването на GUI включва тестване на бутони, икони, квадратчета за отметки, списъчно поле, текстово поле, менюта, ленти с инструменти, диалогови прозорци и др.
# 2) Тестване на съвместимост:
Тестване за съвместимост се прави, за да се гарантира, че разработеният продукт е съвместим с различни браузъри, хардуерни платформи, операционна система и бази данни съгласно документа за изискванията.
# 3) Обработка на изключения:
Извършва се тестване за обработка на изключения, за да се провери, че дори ако в продукта възникне неочаквана грешка, то трябва да показва правилното съобщение за грешка и не позволява на приложението да спре. Той обработва изключението по начин, по който грешката се показва междувременно продуктът се възстановява и позволява на системата да обработи неправилната транзакция.
# 4) Тестване на обема:
Обемното тестване е вид нефункционално тестване, при което тестването се извършва с огромно количество данни. Например, обемът на данните се увеличава в базата данни, за да се провери производителността на системата.
# 5) Тестване на стрес:
Стрес тестването се извършва чрез увеличаване на броя на потребителите (едновременно) на дадено приложение до степен, в която приложението се разпада. Това се прави, за да се провери точката, в която приложението ще се разпадне.
# 6) Тестване на разумността:
Проверка на здравия разум се извършва, когато компилацията е пусната с промяна в кода или функционалността или ако е отстранена грешка. Той проверява, че извършените промени не са засегнали кода и не е възникнал друг проблем поради това и системата работи както преди.
Ако в случай на възникне някакъв проблем, компилацията не се приема за по-нататъшно тестване.
По принцип не се прави задълбочено тестване за компилацията, за да се спестят време и разходи, тъй като тя отхвърля компилацията за открит проблем. Тестът за разумно състояние се извършва за извършената промяна или за фиксирания проблем, а не за цялата система.
# 7) Тестване на дим:
Тестване на дим е тестване, което се извършва върху компилацията, за да се провери дали компилацията е допълнително тестваема или не. Той проверява дали компилацията е стабилна за тестване и че всички критични функционалности работят добре. Извършва се тестване на дим за цялата система, т.е.извършва се изпитване от край до край.
# 8) Изследователско тестване:
Изследователско тестване както самото име подсказва, всичко е свързано с проучване на приложението. Не се провеждат скриптови тестове при изследователски тестове. Тестовите случаи се пишат заедно с тестването. Той се фокусира повече върху изпълнението, отколкото върху планирането.
Тестерът има свободата да тества сам, използвайки своята интуиция, опит и интелект. Изпитателят може да избере всяка характеристика, за да тества първо, т.е. произволно, той може да избере характеристиката, за да тества, за разлика от другите техники, при които се използва структурен начин за извършване на тестване.
# 9) Adhoc тестване:
Adhoc тестване е неформално тестване, при което не се прави документация или планиране за тестване на приложението. Тестерът тества приложението без тестови случаи. Целта на тестера е да развали приложението. Изпитателят използва своя опит, предположения и интуиция, за да намери критичните проблеми в приложението.
# 10) Тестване на инсталацията:
Тестване на инсталацията е да провери дали софтуерът се инсталира без никакви проблеми.
Това е най-важната част от тестването, тъй като инсталирането на софтуера е първото взаимодействие между потребителя и продукта. Типът тестване на инсталацията зависи от различни фактори като операционна система, платформа, разпространение на софтуер и др.
Тестови случаи, които могат да бъдат включени, ако инсталацията се извършва чрез интернет:
- Лоша скорост на мрежата и прекъсната връзка.
- Защитна стена и свързана със сигурността.
- Вземат се размер и приблизително време.
- Едновременна инсталация / изтегляния.
- Недостатъчна памет
- Недостатъчно пространство
- Прекъсната инсталация
# 11) Тестване на поддръжката:
След като продуктът стартира, проблемът може да възникне в жива среда или може да се наложи подобрение в продукта.
Продуктът се нуждае от поддръжка след пускането му в действие и за това се грижи екипът за поддръжка. Тестването, извършено за всякакви проблеми или подобрения или миграция към хардуера, попада в теста за поддръжка.
Какво е тестване на системната интеграция?
Това е вид тестване, при което се проверява способността на системата да поддържа целостта и работата на данните в координация с други системи в същата среда.
Пример за тестване на системна интеграция:
Да вземем примера на добре познат сайт за онлайн резервация на билети - http://irctc.co.in.
Това е съоръжение за резервация на билети; съоръжение за онлайн пазаруване взаимодейства с PayPal. Като цяло можете да го разгледате като A * B * C = R.
Сега на системно ниво, системата за онлайн резервация на билети, съоръжение за онлайн пазаруване и възможност за онлайн плащане могат да бъдат тествани самостоятелно, последвано от проверка, изпълняваща тестове за интеграция за всеки от тях. И тогава цялата система трябва да бъде систематично тествана.
И така, къде се появяват тестовете за системна интеграция?
Уеб порталът http://Irctc.co.in е комбинация от системи. Можете да извършвате тестове на едно и също ниво (единична система, системата от системи), но на всяко ниво може да искате да се съсредоточите върху различни рискове (проблеми с интеграцията, независима функционалност).
- Докато тествате системата за онлайн резервация на билети, можете да проверите дали можете да резервирате билети онлайн. Можете също така да помислите за проблеми с интеграцията Например, Съоръжението за резервация на билети интегрира back-end с front-end (UI). Например, как се държи предният край, когато сървърът на базата данни реагира бавно?
- Тестване на съоръжение за онлайн резервация на билети със съоръжение за онлайн пазаруване. Можете да проверите дали услугата за онлайн пазаруване е достъпна за потребителите, влезли в системата, за да резервират билети онлайн. Можете също така да помислите за проверка на интеграцията в съоръжението за онлайн пазаруване. Например, ако потребителят е в състояние да избере и закупи продукт без неприятности.
- Тестване на интеграцията на системата за онлайн резервация на билети с PayPal. Можете да проверите дали след резервация на билети са преведени пари от вашия акаунт в PayPal към акаунта за онлайн резервация на билети. Можете също така да помислите за проверка на интеграцията в PayPal. Например, какво ще стане, ако системата постави два записа в база данни след дебитиране на пари само веднъж?
Разликамежду тестване на системата и тестване на системната интеграция:
Основната разлика е:
- Системното тестване се грижи за цялостта на една система със съответната среда
- Тестването на системна интеграция се грижи за интегритета на множество системи помежду си, в една и съща среда.
По този начин системният тест е началото на реалното тестване, при което тествате продукт като цяло, а не модул / функция.
Разлика между тестване на системата и приемането
Дадени по-долу са основните разлики:
Тестване на системата | Изпитване за приемане | |
---|---|---|
1 | Системното тестване е тестване на система като цяло. Извършва се тестване от край до край, за да се провери дали всички сценарии работят както се очаква. | Изпитването за приемане се извършва, за да се провери дали продуктът отговаря на изискванията на клиента. |
две | Системното тестване включва функционални и нефункционални тестове и се извършва от тестерите. | Изпитването за приемане е функционално тестване и се извършва от тестери, както и от клиент. |
3 | Тестването се извършва с помощта на тестови данни, създадени от тестерите. | Реални / производствени данни се използват при извършване на тестове за приемане. |
4 | Тества се система като цяло, за да се провери функционалността и производителността на продукта. | Изпитването за приемане се извършва, за да се потвърди това бизнес изискване, т.е.решава целта, която търси клиентът. |
5 | Дефекти, открити при тестването, могат да бъдат отстранени. | Всички дефекти, открити по време на изпитването за приемане, се считат за неизправност на Продукта. |
6 | Тестването на система и системна интеграция са видове за системно тестване. | Алфа и бета тестовете са подложени на тестове за приемане. |
Съвети за извършване на системния тест
- Повторете сценариите в реално време, вместо да правите идеално тестване, тъй като системата ще се използва от краен потребител, а не от обучен тестер.
- Проверете отговора на системата по различен начин, тъй като човекът не обича да чака или да вижда грешни данни.
- Инсталирайте и конфигурирайте системата според документацията, защото това ще направи крайният потребител.
- Включването на хора от различни области като бизнес анализатори, разработчици, тестери, клиенти може да изпрати по-добра система.
- Редовното тестване е единственият начин да се уверите, че най-малката промяна в кода за отстраняване на грешката не е вмъкнала друга критична грешка в системата.
Заключение
Системното тестване е много важно и ако не се направи правилно, критичните проблеми могат да бъдат изправени пред живата среда.
Система като цяло има различни характеристики, които трябва да бъдат проверени. Прост пример би бил всеки уебсайт. Ако не бъде тестван като цяло, потребителят може да открие, че сайтът е много бавен или сайтът може да се срине, след като голям брой потребители влязат едновременно.
И тези характеристики не могат да бъдат тествани, докато уебсайтът не бъде тестван като цяло.
Надявам се, че този урок е много полезен за разбирането на концепцията за системно тестване.
Препоръчително четене
- Видове тестване на софтуер: Различни видове тестване с подробности
- Алфа тестване и бета тестване (Пълно ръководство)
- Какво е тестване за системна интеграция (SIT): Научете с примери
- Функционално тестване срещу нефункционално тестване
- Непрекъснат процес на интеграция: Как да подобрим качеството на софтуера и да намалим риска
- Топ 10 Инструменти за тестване на интеграция за писане на тестове за интеграция
- Какво е тестване на интеграция (урок с пример за тестване на интеграция)
- Какво е тестване за издръжливост при тестване на софтуер (примери)