Gennadii_M 17 март 2016 година во 14:52 часот

Тестирање. Фундаментална теорија

  • Тестирање на ИТ системи
  • Упатство

Неодамна имав интервју во Middle QA за проект кој очигледно ги надминува моите можности. Потрошив многу време на нешто што воопшто не го знаев и малку време повторувајќи едноставна теорија, но залудно.

Подолу се основите за прегледување пред интервјуто за приправник и помлад: Дефиниција за тестирање, квалитет, верификација/валидација, цели, фази, тест план, точки на тест план, дизајн на тест, техники за дизајнирање на тестови, матрица на следливост, тест случај, листа за проверка, дефект, грешка/дефект/неуспех, извештај за грешки, сериозност наспроти приоритет, нивоа на тестирање, типови / типови, пристапи за тестирање на интеграцијата, принципи на тестирање, статичко и динамичко тестирање, истражувачко / ад-хок тестирање, барања, животен циклус на грешки, фази на развој на софтвер, табела за одлуки, инженер qa/qc/тест, дијаграм за поврзување.

Сите коментари, корекции и дополнувања се многу добредојдени.

Тестирање на софтвер- проверка на кореспонденцијата помеѓу вистинското и очекуваното однесување на програмата, извршено на конечен сет на тестови избрани на одреден начин. Во повеќе во широка смисла, тестирањето е една од техниките за контрола на квалитетот која ги вклучува активностите на планирање на работата (Test Management), дизајнирање на тестови (Test Design), извршување на тестирање (Test Execution) и анализа на резултатите (Test Analysis).

Квалитет на софтвере збир на карактеристики на софтверот поврзани со неговата способност да ги задоволи наведените и предвидените потреби.

Верификацијае процес на евалуација на системот или неговите компоненти за да се утврди дали резултатите од тековната фаза на развој ги задоволуваат условите формирани на почетокот на оваа фаза. Оние. дали нашите цели, рокови и задачи за развој на проекти дефинирани на почетокот на тековната фаза се исполнети.
Валидација- ова е определување дали софтверот што се развива ги исполнува очекувањата и потребите на корисникот и системските барања.
Можете исто така да најдете друго толкување:
Процесот на оценување на усогласеноста на производот со експлицитните барања (спецификации) е верификација, додека во исто време оценувањето на усогласеноста на производот со очекувањата и барањата на корисниците е валидација. Исто така, често можете да ја најдете следнава дефиниција за овие концепти:
Валидација - „дали е ова вистинската спецификација?“.
Верификација - „дали системот е точен според спецификацијата?“.

Тест цели
Зголемете ја веројатноста апликацијата наменета за тестирање да работи правилно под сите околности.
Зголемете ја веројатноста дека апликацијата што се тестира ќе ги исполни сите опишани барања.
Обезбедување на ажурирани информации за моменталната состојба на производот.

Фази на тестирање:
1. Анализа на производот
2. Работа со барања
3. Развој на стратегија за тестирање
и планирање на процедури за контрола на квалитетот
4. Креирање на тест документација
5. Тестирање на прототип
6. Основно тестирање
7. Стабилизација
8. Операција

Тест план- ова е документ кој го опишува целиот опсег на работата на тестирање, почнувајќи од опис на објектот, стратегијата, распоредот, критериумите за започнување и завршување на тестирањето, до опремата потребна во процесот, посебно знаење, како и проценка на ризик со опции за нивно решавање.
Одговара на прашањата:
Што треба да се тестира?
Што ќе тестирате?
Како ќе тестирате?
Кога ќе тестираш?
Критериуми за започнување со тестирање.
Критериуми за завршување на тестот.

Главните точки на планот за тестирање
Стандардот IEEE 829 ги наведува точките од кои треба (можеби) да се состои тест планот:
а) Идентификатор на тест план;
б) Вовед;
в) Тест предмети;
г) Карактеристики што треба да се тестираат;
д) Карактеристики кои не треба да се тестираат;
ѓ) Пристап;
е) Критериуми за усвојување/неуспех на ставката;
ж) Критериуми за суспензија и барања за продолжување;
з) Тест испораки;
ѕ) Задачи за тестирање;
и) Еколошки потреби;
ј) Одговорности;
к) Потреби од персонал и обука;
n) Распоред;
љ) Ризици и непредвидени ситуации;
стр) Одобрувања.

Тест дизајн– ова е фаза од процесот на тестирање на софтверот во кој се дизајнираат и креираат тест сценарија (тест случаи) во согласност со претходно дефинираните критериуми за квалитет и цели за тестирање.
Улоги одговорни за дизајнот на тестот:
Тест аналитичар - одредува „ШТО да се тестира?
Дизајнер на тест - одредува „КАКО да се тестира?

Тест дизајн техники

Еквивалентна партиција (ЕП). Како пример, ако имате опсег на валидни вредности од 1 до 10, мора да изберете една точна вредност во интервалот, да речеме 5, и една неточна вредност надвор од интервалот, 0.

Анализа на гранични вредности (BVA).Ако го земеме примерот погоре, ќе ги избереме минималните и максималните граници (1 и 10) како вредности за позитивно тестирање, а вредностите поголеми и помали од границите (0 и 11). Анализата на граничните вредности може да се примени на полиња, записи, датотеки или каков било вид на ограничен ентитет.

Причина/Ефект - CE.Ова е, по правило, внесување комбинации на услови (причини) за да се добие одговор од системот (Ефект). На пример, ја тестирате способноста да додадете клиент користејќи специфичен дисплеј. За да го направите ова, ќе треба да внесете неколку полиња како што се „Име“, „Адреса“, „Телефонски број“ и потоа кликнете на копчето „Додај“ - ова е „Причина“. Откако ќе кликнете на копчето „Додај“, системот го додава клиентот во базата на податоци и го прикажува неговиот број на екранот - ова е „Истрага“.

Грешка при погодување (EG).Ова е кога тестерот го користи своето знаење за системот и способноста да ја интерпретира спецификацијата за да „предвиди“ под кои услови за внесување системот може да направи грешка. На пример, спецификацијата вели „корисникот мора да внесе код“. Тестерот ќе помисли: „Што ако не го внесам кодот?“, „Што ако внесам погрешна шифра? “, и така натаму. Ова е предвидување на грешка.

Исцрпно тестирање (ЕТ)- ова е екстремен случај. Во рамките на оваа техника, треба да ги тестирате сите можни комбинации на влезни вредности и во принцип, ова треба да ги пронајде сите проблеми. Во пракса, употребата на овој метод не е можна поради огромниот број на влезни вредности.

Тестирање во паровие техника за генерирање на тест множества. Суштината може да се формулира, на пример, вака: формирање на збирки на податоци во кои секоја тестирана вредност на секој од тестираните параметри се комбинира барем еднаш со секоја тестирана вредност на сите други тестирани параметри.

Да речеме дека одредена вредност (данок) за едно лице се пресметува врз основа на неговиот пол, возраст и присуство на деца - добиваме три влезни параметри, за секој од нив избираме вредности на некој начин за тестирање. На пример: пол - машки или женски; возраст - до 25 години, од 25 до 60 години, над 60 години; имање деца - да или не. За да ја проверите исправноста на пресметките, можете, се разбира, да поминете низ сите комбинации на вредности на сите параметри:

подот возраста децата
1 човек до 25 немаат деца
2 жена до 25 немаат деца
3 човек 25-60 немаат деца
4 жена 25-60 немаат деца
5 човек над 60 немаат деца
6 жена над 60 немаат деца
7 човек до 25 Имате ли деца
8 жена до 25 Имате ли деца
9 човек 25-60 Имате ли деца
10 жена 25-60 Имате ли деца
11 човек над 60 Имате ли деца
12 жена над 60 Имате ли деца

Или можеби ќе одлучите дека не сакаме комбинации на сите вредности на параметрите со сите, туку само сакаме да се увериме дека ги проверуваме сите уникатни парови на вредности на параметри. Тоа е, на пример, во однос на параметрите за пол и возраст, сакаме да се увериме дека точно проверуваме маж под 25 години, маж помеѓу 25 и 60 години, маж по 60 години, како и жена под 25 години, жена помеѓу 25 и 60 и така натаму.жена по 60. И потполно исто за сите други парови параметри. И на овој начин можеме да добиеме многу помали множества вредности (ги имаат сите парови на вредности, иако некои двапати):

подот возраста децата
1 човек до 25 немаат деца
2 жена до 25 Имате ли деца
3 човек 25-60 Имате ли деца
4 жена 25-60 немаат деца
5 човек над 60 немаат деца
6 жена над 60 Имате ли деца

Овој пристап е отприлика суштината на техниката за тестирање во пар - ние не ги тестираме сите комбинации од сите вредности, туку ги тестираме сите парови на вредности.

Матрица за следливост - Матрица за усогласеност со барањатае дводимензионална табела што ја содржи кореспонденцијата помеѓу функционалните барања на производот и подготвените случаи за тестирање. Насловите на колоните на табелата содржат барања, а насловите на редовите содржат тест сценарија. На раскрсницата има ознака што покажува дека барањето на тековната колона е покриено со тест случајот на тековниот ред.
Матрицата за усогласеност со барањата ја користат инженерите за QA за да ја потврдат покриеноста со тестови на производот. MCT е составен дел од планот за тестирање.

Тест случаје артефакт кој опишува збир на чекори, специфични услови и параметри неопходни за проверка на имплементацијата на функцијата што се тестира или нејзиниот дел.
Пример:
Дејство Очекуван резултат Резултат од тестот
(поминато / неуспешно / блокирано)
Отворете ја страницата „најава“ Страницата за најава е отворена Поминато

Секој тест случај мора да има 3 дела:
Предуслови Список на дејства што го доведуваат системот до состојба погодна за основно тестирање. Или листа на услови, чие исполнување покажува дека системот е во состојба погодна за спроведување на главниот тест.
Опис на тест случај Список на дејства кои го пренесуваат системот од една во друга состојба за да се добие резултат врз основа на кој може да се заклучи дека имплементацијата ги задоволува барањата
Постуслови Список на дејства што го пренесуваат системот во почетна состојба (состојба пред тестот - почетна состојба)
Видови тест скрипти:
Тест случаите се поделени според очекуваниот резултат на позитивни и негативни:
Позитивен тест случај користи само точни податоци и потврдува дека апликацијата правилно ја извршила повиканата функција.
Негативен тестслучајот работи и со точни и со неточни податоци (најмалку 1 неточен параметар) и има за цел да провери за исклучителни ситуации (валидаторите се активираат), а исто така проверува дали функцијата повикана од апликацијата не е извршена кога се активира валидаторот.

Список за проверкае документ кој опишува што треба да се тестира. Во исто време, списокот за проверка може да биде со сосема различни нивоа на детали. Колку ќе биде детална контролната листа зависи од барањата за известување, нивото на познавање на производот на вработените и сложеноста на производот.
По правило, списокот за проверка содржи само дејства (чекори), без очекуваниот резултат. Списокот за проверка е помалку формализиран од скриптата за тестирање. Соодветно е да се користи кога тест скриптите се вишок. Списоците за проверка се исто така поврзани со флексибилни пристапи за тестирање.

Дефект (познато како бубачка)е несовпаѓање помеѓу вистинскиот резултат од извршувањето на програмата и очекуваниот резултат. Дефектите се откриваат во фазата на тестирање на софтверот, кога тестерот ги споредува резултатите од програмата (компонента или дизајн) со очекуваниот резултат опишан во спецификацијата за барања.

Грешка- корисничка грешка, односно тој се обидува да ја користи програмата на поинаков начин.
Пример - внесува букви во полињата каде што треба да внесете бројки (возраст, количина на стоки итн.).
Висококвалитетна програма предвидува такви ситуации и прикажува порака за грешка со црвен крст.
Грешка (дефект)- грешка на програмерот (или дизајнерот или кој било друг што учествува во развојот), односно кога нешто во програмата не оди според планираното и програмата излегува од контрола. На пример, кога внесувањето на корисникот не се контролира на кој било начин, како резултат на тоа, неточните податоци предизвикуваат падови или други „радости“ во работата на програмата. Или програмата е внатрешно изградена на таков начин што првично не одговара на она што се очекува од неа.
Неуспех- неуспех (и не мора хардверски) во работата на компонента, цела програма или систем. Односно, има дефекти што доведуваат до неуспеси (Дефектот го предизвика дефектот) и има такви што не го прават тоа. Дефекти на UI на пример. Но, неуспехот на хардверот кој нема никаква врска со софтверот е исто така неуспех.

Извештај за грешкие документ кој ја опишува ситуацијата или редоследот на дејства што довеле до неправилно функционирање на предметот за тестирање, што ги означува причините и очекуваниот резултат.
Капа
Краток опис (Резиме) Краток опис на проблемот, јасно укажувајќи на причината и видот на ситуацијата на грешка.
Проект Име на проектот што се тестира
Компонента на апликацијата (компонента) Името на делот или функцијата на производот што се тестира
Број на верзијата Верзијата на која е пронајдена грешката
Сериозност Најчестиот систем на пет нивоа за оценување на сериозноста на дефектот е:
Блокатор S1
S2 Критично
S3 мајор
S4 Малолетник
S5 тривијални
Приоритет Приоритет на дефектот:
P1 Високо
P2 Средно
P3 Ниско
Статус Статусот на бубачката. Зависи од користената процедура и работниот тек на грешки и животниот циклус

Автор (Автор) Креатор на извештај за грешки
Доделено на Името на лицето доделено на проблемот.
Животна средина
ОС / Сервисен пакет, итн. / Прелистувач + верзија /… Информации за околината во која е пронајдена грешката: оперативен систем, сервисен пакет, за WEB тестирање - име и верзија на прелистувачот итн.

Опис
Чекори за репродукција Чекори со кои можете лесно да ја репродуцирате ситуацијата што довела до грешка.
Вистински резултат Резултатот добиен откако ќе ги поминете чекорите за репродукција
Очекуван резултат Очекуван точен резултат
Додатоци
Прилог Датотека за евиденција, слика од екранот или кој било друг документ што може да помогне да се разјасни причината за грешката или да укаже начин за решавање на проблемот

Сериозност наспроти приоритет
Сериозноста е атрибут што го карактеризира влијанието на дефектот врз перформансите на апликацијата.
Приоритет е атрибут што го означува приоритетот на извршување на задача или отстранување на дефект. Можеме да кажеме дека ова е алатка на менаџерот за планирање на работата. Колку е поголем приоритетот, толку побрзо треба да се поправи дефектот.
Сериозноста е изложена од тестерот
Приоритет – менаџер, лидер на тимот или клиент

Градација на сериозноста на дефектот (тежина)

Блокатор S1
Грешка во блокирањето што ја прави апликацијата нефункционална, што ја оневозможува понатамошната работа со системот што се тестира или неговите клучни функции. Решавањето на проблемот е неопходно за понатамошно функционирање на системот.

S2 Критично
Критична грешка, неисправна клучна деловна логика, дупка во безбедносниот систем, проблем што доведе до привремен пад на серверот или направи дел од системот да не работи, без можност за решавање на проблемот користејќи други влезни точки. Решавањето на проблемот е неопходно за понатамошна работасо клучните функции на системот што се тестира.

S3 мајор
Значајна грешка, дел од главната деловна логика не работи правилно. Грешката не е критична или е можно да се работи со функцијата што се тестира користејќи други влезни точки.

S4 Малолетник
Мала грешка што не ја нарушува деловната логика на делот од апликацијата што се тестира, очигледен проблем со корисничкиот интерфејс.

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

Градација на приоритет на дефект (приоритет)
P1 Високо
Грешката мора да се коригира што е можно побрзо, бидејќи ... неговото присуство е критично за проектот.
P2 Средно
Грешката мора да се коригира, нејзиното присуство не е критично, но бара задолжително решение.
P3 Ниско
Грешката мора да се коригира, нејзиното присуство не е критично и не бара итно решение.

Нивоа на тестирање

1. Единица за тестирање
Тестирањето на компоненти (единица) ја проверува функционалноста и бара дефекти во делови од апликацијата кои се достапни и може да се тестираат одделно (програмски модули, објекти, класи, функции итн.).

2. Тестирање за интеграција
Интеракцијата помеѓу компонентите на системот се проверува по тестирањето на компонентите.

3. Тестирање на системот
Главната цел на тестирањето на системот е да ги потврди и функционалните и нефункционалните барања во системот како целина. Ова ги идентификува дефектите како што се неправилно користење на системските ресурси, ненамерни комбинации на податоци на ниво на корисник, некомпатибилност со околината, случаи на ненамерна употреба, недостасува или неправилна функционалност, непријатност при користење итн.

4. Оперативно тестирање (Release Testing).
Дури и ако системот ги исполнува сите барања, важно е да се осигура дека ги задоволува потребите на корисникот и ја исполнува својата улога во неговото оперативно опкружување како што е дефинирано во деловниот модел на системот. Треба да се земе предвид дека деловниот модел може да содржи грешки. Затоа е толку важно да се спроведе оперативно тестирање како последен чекор за валидација. Дополнително, тестирањето во оперативната средина ни овозможува да идентификуваме нефункционални проблеми, како што се: конфликти со други системи поврзани со деловната област или во софтверски и електронски средини; недоволни перформанси на системот во оперативното опкружување, итн. Очигледно, наоѓањето такви работи во фазата на имплементација е критичен и скап проблем. Затоа, толку е важно да се изврши не само верификација, туку и валидација од самиот почеток раните фазиразвој на софтвер.

5. Тестирање за прифаќање
Официјален процес на тестирање кој потврдува дали системот ги исполнува барањата и се спроведува на:
утврдување дали системот ги исполнува критериумите за прифаќање;
донесување одлука од страна на клиентот или друго овластено лице дали апликацијата е прифатена или не.

Видови/видови на тестирање

Функционални типови на тестирање

Функционално тестирање
Тестирање на GUI
Тестирање за безбедност и контрола на пристап
Тестирање на интероперабилност

Нефункционални типови на тестирање

Сите видови на тестирање на перформансите:
o тестирање на оптоварување (Тестирање на перформанси и оптоварување)
o Тестирање на стрес
o Тестирање на стабилност / доверливост
o Тестирање на волумен
Тестирање за инсталација
Тестирање на употребливост
Неуспешно и тестирање за обновување
Конфигурациско тестирање

Видови на тестирање поврзани со промени

Тестирање на чад
Регресивно тестирање
Повторно тестирање
Тест за верификација на градба
Тестирање на разумност

Функционално тестирањего разгледува однапред одреденото однесување и се заснова на анализа на спецификациите на функционалноста на компонентата или системот како целина.

Тестирање на GUI- функционална проверка на интерфејсот за усогласеност со барањата - големина, фонт, боја, доследно однесување.

Безбедносно тестирањее стратегија за тестирање што се користи за проверка на безбедноста на системот, како и за анализа на ризиците поврзани со обезбедување на холистички пристап за заштита на апликацијата, напади од хакери, вируси, неовластен пристап до доверливи податоци.

Тестирање на интероперабилносте функционално тестирање кое ја тестира способноста на апликацијата да комуницира со една или повеќе компоненти или системи и вклучува тестирање на компатибилност и тестирање на интеграција

Тестирање на стрес- ова е автоматизирано тестирање кое ја симулира работата на одреден број деловни корисници на некој заеднички (споделен) ресурс.

Тестирање на стресви овозможува да проверите колку е ефикасен апликацијата и системот како целина под стрес и исто така да ја процените способноста на системот да се регенерира, т.е. да се врати во нормала по престанокот на стресот. Стресот во овој контекст може да биде зголемување на интензитетот на операциите до многу високи вредности или итна промена во конфигурацијата на серверот. Исто така, една од задачите на стрес-тестирањето може да биде да се процени деградацијата на перформансите, така што целите на стрес-тестирањето може да се преклопуваат со целите на тестирањето на перформансите.

Тестирање на волумен.Целта на тестирањето на волуменот е да се добие проценка на перформансите како што се зголемува обемот на податоци во базата на податоци на апликациите

Тестирање на стабилност / сигурност.Задачата на тестирањето на стабилноста (сигурноста) е да се провери функционалноста на апликацијата при долгорочно (многу часови) тестирање со просечно ниво на оптоварување.

Тестирање на инсталацијатасо цел да се потврди успешната инсталација и конфигурација, како и да се ажурира или деинсталира софтверот.

Тестирање на употребливосте метод на тестирање насочен кон утврдување на степенот на употребливост, способност за учење, разбирливост и привлечност за корисниците на производот што се развива во контекст на дадени услови. Ова исто така вклучува:
Корисничко искуство (UX) е чувството што го доживува корисникот додека користи дигитален производ, додека корисничкиот интерфејс е алатка која овозможува интеракција помеѓу корисникот и веб-ресурсот.

Неуспешно и тестирање за обновувањего тестира производот што се тестира во однос на неговата способност да издржи и успешно да се опорави од можни неуспеси кои произлегуваат од софтверски грешки, хардверски дефекти или проблеми со комуникацијата (на пример, дефект на мрежата). Целта на овој тип на тестирање е да се тестираат системи за обновување (или системи кои ја дуплираат главната функционалност), кои, во случај на дефекти, ќе обезбедат безбедност и интегритет на податоците на производот што се тестира.

Конфигурациско тестирање- посебен вид на тестирање чија цел е проверка на работата на софтверот под различни системски конфигурации (декларирани платформи, поддржани драјвери, различни компјутерски конфигурации итн.)

чадтестирањето се смета како краток циклус на тестови извршени за да се потврди дека по градењето на кодот (нов или фиксен), инсталираната апликација започнува и ги извршува основните функции.

Регресивно тестирање- ова е вид на тестирање насочено кон проверка на промените направени во апликација или животната средина(поправка на дефект, спојување код, мигрирање на друг оперативен систем, база на податоци, веб-сервер или сервер за апликации), за да се потврди фактот дека веќе постоечката функционалност работи како порано. Тестовите за регресија можат да бидат и функционални и нефункционални тестови.

Повторно тестирање- тестирање, за време на кое се извршуваат тест скрипти кои идентификувале грешки за време на последното извршување за да се потврди успехот на коригирање на овие грешки.
Која е разликата помеѓу регресивното тестирање и повторното тестирање?
Повторно тестирање - поправените грешки се проверуваат
Регресивно тестирање - проверува дали поправените грешки, како и какви било промени во кодот на апликацијата, не влијаат на другите софтверски модули и не предизвикуваат нови грешки.

Тестирање на склопување или Тест за верификација на градба- тестирање насочено кон утврдување на усогласеноста на објавената верзија со критериумите за квалитет за да започне тестирањето. Во однос на неговите цели, тоа е аналогно на тестирањето за чад насочено кон прифаќање нова верзијаза понатамошно тестирање или работење. Може да навлезе подлабоко, во зависност од барањата за квалитет на објавената верзија.

Санитарно тестирање- ова е тесно фокусирано тестирање доволно за да докаже дека одредена функција работи според барањата наведени во спецификацијата. Тоа е подмножество на регресивно тестирање. Се користи за одредување на перформансите на одреден дел од апликацијата по направени промени во неа или во околината. Обично се прави рачно.

Пристапи за тестирање на интеграцијата:
Интеграција од дното нагоре
Сите модули, процедури или функции на ниско ниво се собираат заедно и потоа се тестираат. По што се составува следното ниво на модули за тестирање за интеграција. Овој пристап се смета за корисен ако се подготвени сите или речиси сите модули на нивото што се развива. Овој пристап, исто така, помага да се одреди нивото на подготвеност за апликација врз основа на резултатите од тестирањето.
Интеграција од врвот надолу
Прво, сите модули на високо ниво се тестираат, а постепено се додаваат оние од ниско ниво еден по еден. Сите модули од пониско ниво се симулирани како никулци со слична функционалност, а потоа кога се подготвени, тие се заменуваат со вистински активни компоненти. На овој начин тестираме од врвот до дното.
Големата експлозија(Интеграција „Биг Бенг“)
Сите или скоро сите развиени модули се составуваат заедно како целосен систем или негов главен дел, а потоа се врши тестирање на интеграцијата. Овој пристап е многу добар за заштеда на време. Меѓутоа, доколку тест-случаите и нивните резултати не се евидентираат правилно, тогаш самиот процес на интеграција ќе биде многу комплициран, што ќе стане пречка за тимот за тестирање во постигнувањето на главната цел на интеграциското тестирање.

Принципи на тестирање

Принцип 1– Тестирањето покажува присуство на дефекти
Тестирањето може да покаже дека има дефекти, но не може да докаже дека тие не се присутни. Тестирањето ја намалува веројатноста за дефекти во софтверот, но дури и ако не се најдат дефекти, тоа не ја докажува неговата исправност.

Принцип 2– Исцрпното тестирање е невозможно
Целосното тестирање со користење на сите комбинации на влезови и предуслови е физички неостварливо, освен во тривијални случаи. Наместо исцрпни тестирања, треба да се користат анализа на ризик и приоритизација за подобро фокусирање на напорите за тестирање.

Принцип 3– Рано тестирање
За да се пронајдат дефекти што е можно порано, активностите за тестирање треба да се започнат што е можно порано во животниот циклус на развој на софтвер или систем и треба да се фокусираат на конкретни цели.

Принцип 4– Кластерирање на дефекти
Напорите за тестирање треба да се концентрираат пропорционално на очекуваната, а подоцна и на вистинската густина на дефект на модулот. Како по правило, повеќето од дефектите откриени за време на тестирањето или кои предизвикале поголемиот дел од дефектите на системот се содржани во мал број модули.

Принцип 5– Парадокс со пестициди
Ако истите тестови се извршуваат одново и одново, на крајот овој сет на тест случаи повеќе нема да наоѓа нови дефекти. За да се надмине овој „парадокс со пестициди“, тест случаите мора редовно да се прегледуваат и ревидираат, новите тестови мора да бидат сеопфатни за да ги опфатат сите софтверски компоненти,
или систем, и пронајдете што е можно повеќе дефекти.

Принцип 6– Тестирањето е концепт во зависност
Тестирањето се врши поинаку во зависност од контекстот. На пример, софтверот кој е критичен за безбедноста се тестира поинаку од страницата за е-трговија.
Принцип 7– Заблуда за отсуство на грешки
Пронаоѓањето и поправањето на дефекти нема да помогне доколку креираниот систем не одговара на корисникот и не ги исполнува неговите очекувања и потреби.

Статично и динамичко тестирање
Статичкото тестирање се разликува од динамичкото тестирање по тоа што се изведува без да се изврши кодот на производот. Тестирањето се врши со анализа на програмскиот код (преглед на код) или компајлиран код. Анализата може да се направи рачно или со помош на специјални алатки. Целта на анализата е рано да се идентификуваат грешките и потенцијалните проблеми во производот. Статичкото тестирање вклучува и спецификации за тестирање и друга документација.

Истражувачко/ад-хок тестирање
Наједноставната дефиниција за истражувачко тестирање е дизајнирање и извршување на тестови во исто време. Што е спротивно од пристапот на сценарио (со неговите предефинирани процедури за тестирање, без разлика дали се рачни или автоматизирани). Истражувачките тестови, за разлика од тестовите за сценарија, не се однапред одредени и не се извршуваат точно како што е планирано.

Разликата помеѓу ад хок и истражувачко тестирање е во тоа што теоретски, ад хок тестирањето може да го спроведе секој, додека за истражувачко тестирање е потребна вештина и познавање на одредени техники. Ве молиме имајте предвид дека одредени техники не се само техники за тестирање.

Барањае спецификација (опис) за тоа што треба да се имплементира.
Барањата опишуваат што треба да се имплементира без да навлегуваме во детали. техничка странарешенија. Што, не како.

Барања Барања:
Коректност
Недвосмисленост
Комплетност на множеството барања
Доследност на збир на барања
Проверливост (проверливост)
Следливост
Разбирливост

Животен циклус на бубачки

Фази на развој на софтвер- ова се фазите низ кои минуваат тимовите за развој на софтвер пред програмата да стане достапна за широк опсег на корисници. Развојот на софтвер започнува со почетната фаза на развој (пред-алфа фаза) и продолжува со фазите во кои производот се рафинира и надградува. Последната фаза од овој процес е објавувањето на конечната верзија на софтверот на пазарот („општо достапно издание“).

Софтверскиот производ поминува низ следните фази:
анализа на проектните барања;
дизајн;
имплементација;
тестирање на производот;
имплементација и поддршка.

Секоја фаза од развој на софтвер е доделена специфична сериски број. Исто така, секоја фаза има свое име, што ја карактеризира подготвеноста на производот во оваа фаза.

Животен циклус на развој на софтвер:
Пре-алфа
Алфа
Бета
Ослободете го кандидатот
Ослободување
Пост порака

Табела за одлуки– одлична алатка за организирање сложени деловни барања кои мора да се имплементираат во производот. Табелите за одлуки претставуваат збир на услови, чие истовремено исполнување треба да доведе до одредена акција.

Екстра - интровертност, невротичност и психотизам во структурата на личноста.

1) Екстраверзија - интровертност. Карактеризирајќи типичен екстроверт, авторот ја забележува неговата дружељубивост и надворешна ориентација на поединецот, широк круг на познаници и потреба од контакти. Типичен екстроверт делува во моментот, импулсивен е и има брз темперамент. Тој е безгрижен, оптимист, добродушен, весел. Претпочита движење и акција, има тенденција да биде агресивно. Чувствата и емоциите не се строго контролирани, а тој е склон кон ризични постапки. Не можете секогаш да се потпрете на него.

Типичен интроверт е тивка, срамежлива личност која е склона кон интроспекција. Резервирана и оддалечена од сите освен од блиски пријатели. Однапред планира и размислува за своите постапки, не им верува на ненадејните импулси, сериозно ги сфаќа одлуките, сака ред во сè. Ги контролира своите чувства и не се лути лесно. Тој е песимист и високо ги цени моралните стандарди.

2) Невротичност - емоционална стабилност. Карактеризира емоционална стабилност или нестабилност (емоционална стабилност или нестабилност). Невротичноста, според некои податоци, е поврзана со индикатори за лабилност на нервниот систем.

Емоционалната стабилност е особина која изразува зачувување на организираното однесување и ситуациското фокусирање во нормални и стресни ситуации. Емоционално стабилната личност се карактеризира со зрелост, одлична адаптација, недостаток на голема напнатост, анксиозност, како и склоност кон лидерство и дружељубивост.

Невротичноста се изразува во екстремна нервоза, нестабилност, слаба адаптација, склоност кон брзо менување на расположението (лабилност), чувство на вина и анксиозност, преокупација, депресивни реакции, отсутност, нестабилност во стресни ситуации. Невротизмот одговара на емоционалноста и импулсивноста; нерамномерност во контактите со луѓе, варијабилност на интереси, сомнеж во себе, изразена чувствителност, впечатливост, склоност кон раздразливост. Невротичната личност се карактеризира со несоодветно силни реакции во однос на дразбите што ги предизвикуваат. Поединци со високи оценки на скалата на невротичност може да развијат невроза во неповолни стресни ситуации.



3) Психотизам. Оваа скала укажува на склоност кон асоцијално однесување, претенциозност, несоодветни емоционални реакции, висока

конфликт, недостаток на контакт, егоцентричност, себичност, рамнодушност.

Според Ајзенк, високите резултати за екстраверзија и невротичност одговараат на психијатриска дијагноза на хистерија, а високите оценки за интровертност и невротичност одговараат на состојба на анксиозност или реактивна депресија.

Невротизмот и психотизмот, во случај на сериозноста на овие индикатори, се сфаќаат како „предиспозиција“ за соодветните видови патологија.

Концептот на тестови. Можности и ограничувања.

Тестовите се стандардизирани психодијагностички методи кои овозможуваат да се добијат споредливи квантитативни и квалитативни показатели за степенот на развој на својствата што се проучуваат.

Тестови за интелигенција. Дизајниран за истражување и мерење на нивоа интелектуален развојлице. Тие се најчестите психодијагностички техники.

Интелигенцијата како предмет на мерење не подразбира никакви манифестации на индивидуалност, туку првенствено оние кои се однесуваат на когнитивни процесии функции (на размислување, меморија, внимание, перцепција). Во форма, тестовите за интелигенција можат да бидат групни и индивидуални, усни и писмени, засновани на форма, засновани на предмет и компјутерски.

Тестови за способност. Ова е тип на методологија дизајнирана да ги процени способностите на поединецот во совладувањето на знаењата, вештините, способностите неопходни за една или повеќе активности.

Вообичаено е да се разликуваат заеднички и посебни способности. Општите способности обезбедуваат совладување на многу видови активности. Општите способности се поистоветуваат со интелигенцијата и затоа често се нарекуваат општи интелектуални (ментални) способности.

За разлика од општите, посебните способности се разгледуваат во однос на поединечните видови активности. Во согласност со оваа поделба, се развиваат тестови за општи и посебни способности.

Тестовите за способности се различни по форма (индивидуални и групни, усни и писмени, форма, предмет, инструментални итн.).

Тестовите за постигања или, како што може да се наречат поинаку, тестовите за објективна контрола на успехот (училишен, професионален, спортски) се наменети да го проценат степенот на напредување на способностите, знаењата, вештините, способностите откако лицето ќе заврши обука, стручни и друга обука. Така, тестовите за постигнување првенствено го мерат влијанието што релативно стандардниот сет на влијанија го има врз развојот на поединецот. Широко се користат за оценување на училишните, образовните и професионални достигнувања. Ова го објаснува нивниот голем број и разновидност.

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

Тестовите за професионални достигнувања обично имаат три различни форми: инструментални (тестови за извршување или акција), писмени и усни.

Тестови на личноста. Ова се психодијагностички техники насочени кон проценка на емоционалните и волевите компоненти на менталната активност - мотивација, интереси, емоции, односи (вклучувајќи ги и меѓучовечките), како и способностите за однесување на поединецот во одредени ситуации. Така, тестовите на личноста дијагностицираат неинтелектуални манифестации.

Можности.

1. Ова кратки тестови- читателот троши многу малку време и ментален напор за нивно спроведување. Веднаш добива едноставен одговор - проценка за себе на еден, обично на скалата на популарен тест.

2. Станува збор за „акутни“ тестови - се разговара за лични и меѓучовечки субјектни односи кои се особено привлечни за читателот. Како да не се сеќавате овде „Тест за вистински маж“ или „Тест за вистинска жена" Тие се многу конзистентни со возрасно-психолошките потреби на адолесцентите или младите луѓе.

3. Овие тестови се дизајнирани на таков начин што не бараат долги коментари и не бараат објаснувања од специјалист. Тие се наменети за употреба „преписка“. Секој научен тест по психологија е наменет за специјалист кој, по правило, ги споделува информациите добиени преку тестот со клиентот на многу одмерен и доверлив начин. Овде нема проблем со дозирање информации, а навистина нема проблем со доверливост. Точно, постои самата доверливост: на крајот на краиштата, таков популарен тест го пополнува лице сам со текстот во списанието.

4. Популарните тестови, општо земено, ги подготвуваат потенцијалните клиенти од читателите преку расчленување на нивната свест и диференцирање на нивната самодоверба.

5. Популарните тестови се произведуваат брзо. Сосема е едноставно да се создаде таков тест, кој е сосема погоден за објавување во релевантни списанија. Најтешко во ваквите тестови е да се дадат скали за оценување на одговорите и принципи за сумирање на добиените оценки.

6. Толкувањето на таквите тестови обично е многу погодно за читателите. Дури и доделувањето на понеповолна опција во таквите тестови е придружено со резервации за да не се повреди гордоста на читателот.

7. Популарните тестови обично постојат „во сетови“, т.е. „Испаѓаат“ на корисникот во грст, веднаш распарчувајќи (влијае) на цели простори на свеста на клиентот. Покрај тоа, читателот сам ги избира задачите. Тестовите не му се наметнуваат, не му се препишуваат, туку тој ги избира.

8. Читателот сосема јасно го разбира нивото на „побарувачка“ за такви дијагностички техники. Тој разбира дека ова е повеќе забава отколку сериозна проценка на неговиот семеен живот.

Ограничувања.

1. Популарните тестови често имаат многу нејасни, па дури и специфично сложени предметни области.

2. Таквите тестови никогаш не треба да се потврдуваат или едноставно да се споредуваат со други тестови. Она што тие го мерат се верува дека е интуитивно очигледно за читателот.

3. Според тоа, таквите методи никогаш не се тестираат за веродостојност: фактот што денес клиентот одговорил на тестот на еден начин, а утре на поинаков начин, не е недостаток на тестот.

4. Бидејќи предметот на тестирање кај таквите методи никогаш не е скриен (не маскиран), истражувачот често може да го добие ефектот на „општествена пожелност“, демонстративност.

5. Бидејќи таквите методи никогаш не се тестираат за нивните психометриски заслуги (дали доволно го разделуваат примерокот) и, згора на тоа, никогаш немаат стандарди (нормативни, стандардни податоци за методот), оние што ги извршиле никогаш нема да знаат колку се слични или различни нивните резултати според методот се на резултатите други корисници. Освен, се разбира, ако двајца или тројца читатели не го пополнуваат тестот во исто време!

6. Во некои случаи, општо земено, ваквите методи, во отсуство на контакт со консултантски психолог, може да доведат до јатрогенија. Во најмала рака, таквите техники не се тестираат за јатрогеност.

7. Конечно, таквите методи речиси никогаш (со ретки исклучоци) не се опремени со инструкции за границите на применливоста на возраста и релевантноста на полот. Тоа се најчесто техники без секс и без возраст. (За жал, истото може да се каже и за значителен дел од научните тестови од областа на семејната психологија.)

Ќе ви кажеме што се SHL тестовите и ќе покажеме со примери како тие помагаат во работата со човечки ресурси. Еве примери на сите видови SHL тестови со одговори.

Од оваа статија ќе научите

Психометриски тестови:

Што се SHL тестови

Психометриските SHL тестови се алатка за регрутирање која ви овозможува да ги отстраните несоодветните кандидати пред интервјуто. SHL тестовите не го тестираат знаењето на апликантите, туку ги проценуваат нивните интелектуални способности. Според статистичките податоци, по положувањето на SHL тестовите, 70-80% од апликантите стигнуваат до интервју.

3 типа на SHL тестови

1. Вербални SHL тестови

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

На текстот се дадени 2-3 изјави. Треба да ги оцените на следната скала: „Точно“, „Неточно“ и „Малку информации“.

2. Математички (нумерички) SHL тестови

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

3. Логички SHL тестови

Тие се нарекуваат и апстрактни тестови за расудување, индукциски тестови или тестови за дијаграми. Задачите за логички тест се дадени во форма на изјави, збир на апстрактни фигури, секвенци на броевиили дијаграми. Кандидатот мора да најде шема и да одговори на прашањето или да ја избере точната опција.

За што се SHL тестовите?

SHL тестовите тестираат колку брзо кандидатот може да размислува, да анализира информации, да се концентрира и дали може да размислува логично.

Што може да се провери со помош на SHL тестови

Со помош на SHL тестови можете да го процените нивото на развој на способностите различни типови: способности за апстрактно размислување, обработка на нумерички и вербални информации, разбирање на принципите на механиката и ред други.

  1. Вербални SHL тестови

Тие ви овозможуваат да одредите колку брзо кандидатот го перцепира текстот, ги разбира логичките врски и ги оценува предложените изјави. Има „улов“ во овие тестови - одговорот е „ Нема доволно информации„Често се меша со одговорот“ Неточно" Само вистински компетентен специјалист може да ја процени разликата.

  1. Нумерички SHL тестови

Со нивна помош, тие ја тестираат способноста на кандидатот да ги „види“ броевите - брзо решаваат дропки, бараат непознато или одредуваат проценти. Нумеричките тестови ја мерат способноста на кандидатот да разбере графички и табеларни информации.

  1. Логички SHL тестови

Тие овозможуваат човечки ресурси да ја одредат способноста на кандидатот да согледа непознати информации и да донесе правилна одлука. Кандидатите кои успешно го положиле логичкиот тест обично имаат добро аналитичко и апстрактно размислување и имаат зголемен интерес за учење.

  1. Користете разновидни тестови во еден сет, ова ќе ви овозможи да одредите Различни видовичовечко размислување.
  2. Обрнете внимание на тоа дали апликантот забележува суптилни натписи во задачата, користете ги за да го свртите целиот тек на решението.
  3. Проценете ја способноста на кандидатот да согледа голема количина на информации, намерно да го преоптоварите текстот со податоци што е важно да се запамети.
  4. Анализирајте колку брзо се акумулира замор и се појавува ступор во работата на кандидатот; за да го направите ова, зголемете го бројот на задачи.
  5. Може ли испитувачот компетентно да ги филтрира непотребните податоци што го попречуваат барањето решение? Одредете го овој параметар користејќи многу дополнителни податоци во оригиналната изјава за проблемот.
  6. Користете проблеми со сложени логички врски кога точниот одговор бара изградба на долг логички синџир.
  7. Утврдете до кој степен кандидатот зборува специфичен речник, дизајнирајте тестови така што без познавање на терминологијата многу задачи ќе бидат неразбирливи.

Примери на SHL тестови

Пример за вербален SHL тест

Почетна состојба:

ВО летен периодКога вработените со полно работно време одат на одмор, некои организации преземаат привремена работа за студентите. Во исто време од годината, обемот на работа во многу компании се зголемува, а се јавува потреба од дополнителен персонал. Привременото вработување ги привлекува студентите со можност да стекнат практични вештини и да се вработат во оваа компанија по обуката. Компанијата е заинтересирана и за прилив на нова работна сила. Таа се обидува да ги заинтересира учениците и да ги мотивира да продолжат да соработуваат. Студентите немаат право на боледување или платено отсуство, но нивната работа е целосно платена.

Изјава 1:Студентите ангажирани на привремена работа добиваат регрес за годишен одмор во форма на дополнителни исплати на нивната плата.

Точен одговор: Неточно.

Изјава 2: Работата на членовите на персоналот на отсуство може да ја вршат студенти.

Точен одговор:Во право.

Изјава 3:Поплаките и дисциплинскиот процес се однесуваат на студентите на ист начин како и на членовите на персоналот.

Точен одговор:Нема доволно информации.

Пример за нумерички SHL тест

Задача: „Работејќи заедно, Том, Хари и Дик ќе насликаат ограда од 100 метри за 9 часа. Сам, Том ќе ја наслика оградата за 18 часа, а Хари - за 36. Колку време ќе му треба на Дик да ја наслика оградата ако Том и Хари земат слободен ден“.

Точен одговор- 36 часа.

Пример за логички SHL тест

На кандидатот му се нуди низа цртежи, еден од нив недостасува. Треба да ја изберете онаа што сте ја пропуштиле од опциите подолу:

Точен одговор: втор цртеж

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

Како да се анализираат резултатите од SHL тестот

Кога се анализираат резултатите од SHL тестовите, важно е да се потпрете на квалитетот на одговорите, наместо на квантитетот на податоците за одговорите. На пример, првиот апликант ги пополнил колоните за одговори за сите 50 прашања, но само 25 од нив биле точни. А вториот кандидат одговори на само 25 прашања од 50 и на сите даде точен одговор. Резултатот од вториот кандидат ќе биде претпочитан и повреден, бидејќи ја елиминира можноста случајно да се погоди точниот одговор со едноставно штиклирање на поле во тестот.

Прашањето оставено неодговорено во кој било тест блок треба да се смета за неточно. Анализирајте ги тестовите на идните вработени во однос на силните и слабите страни. За да го направите ова, специјалист за човечки ресурси треба јасно да знае кои квалитети треба да ги има кандидатот за одредена позиција.

Вербалните тестови овозможуваат да се процени брзината на асимилација на текстуалните информации и способноста за логично размислување. При поминување вербален тестПокрај точниот одговор, вреди да се процени владеењето на техниките за брзо читање и да се даде на кандидатот дополнителен плус за тоа.

При спроведување на апстрактни логички тестови, неопходно е да се анализира способноста на апликантите да донесуваат логични заклучоци врз основа на невербални информации, обично претставени во форма на апстрактни симболи.

Лесно е да се открие што точно се нарекува тест за нумерички информации, мрежата е полна со секакви објаснувања и примери, а накратко, ова се задачите за кои треба да ги користите математички вештини. Нема потреба да се грижите за вашите способности: задачите се едноставни и одговараат приближно на нивото средно школо.

Во задачите што треба да ги најдете:

  • камата;
  • акции;
  • врска,

користејќи:

  • анализа на податоци;
  • графичка интерпретација.

Примерите вклучуваат графикони, табели или хистограми, а овие услови претставуваат предизвик за некои испитаници. Нема чисто текстуални информации, како кај нас училишни учебници: „Возот замина некаде, друг воз го пречекуваше, кога ќе се сретнат? Тестот за нумеричка способност се состои од графички податоци и треба да се подготвите само од слични примери.

Поентата на тестирањето користејќи вербални и нумерички тестови е да се разбере колку добро предизвикувачсе справува со логично математички проблемиво услови на недостаток на време. Јасно е дека секој писмен ќе реши едноставен пример со проценти, ќе му даде 10-15 минути, но кога бројачот ќе одброи 60 секунди, а можеби и помалку, процесот на наоѓање решение е тежок.

Работодавците користат нумерички тестови со одговори за да ги оценат апликантите, тестирајќи ги нивните вештини за обработка на големи количини нумерички информации под стресни услови. Со помош на задачи тоа станува возможно измерете го потенцијалот за изведба, разберете дали кандидатот е подготвен да решава сложени прашања и брзо да ги анализира податоците кои се веќе на работното место.

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

Се разбира, „техничари“, дипломирани техничките универзитетиПолесно е да се подготват и решаваат проблемите, но „хуманитарците“ исто така се способни да стекнат вештини за решавање, само треба да вежбаат.

Удобно е да се прават нумерички тестови преку Интернет; можете да организирате соодветна атмосфера, да ги отстраните изворите на бучава од канцеларијата или да седнете со лаптоп во вашето омилено кафуле, но сите овие точки нема да гарантираат успешно завршување. Само стотици решени проблеми и употребата на математички изрази од овој тип ќе дадат искуство кое со текот на времето ќе стане вештина.

Нема смисла веднаш да изберете одговор, треба да го решите проблемот, по што ќе биде лесно да се означи точната опција. Обично, развивачите на нумерички задачи даваат одговори во мали чекори, односно, тие се слични, се разликуваат за една или стотинка, што не ви дозволува да сметате на среќа.

Главниот совет е да вежбате, толку повеќе работите тестови за нумеричка пракса, толку побрзо, попрецизно и посигурно ќе одговарате на прашањата. Едноставните нумерички тестови се дистрибуираат бесплатно на Интернет, лесно се наоѓаат, прегледуваат и решаваат, но таквите примери се погодни само за информативни цели. Ќе има проблеми со одговорите, но нивото на овие проблеми е ниско и нема да може да се стекне доволно вештини за решавање со нивна помош.

Да се ​​смета на висок резултат, треба да одговорите на неколку стотици проблеми и подобро е да ги решите во најтешки услови, на пример, ограничување на времето не на минута, туку на 40-45 секунди. Нумеричките тестови се разликуваат по сложеност од компанија до компанија и корисно е да имате малку време за слободно време.