Google сияқты ірі бағдарламалық жасақтама компаниялар өздерінің бағдарламалық жасақтамаларында басымдықты қателерге қарамастан табысқа жете алады, бірақ кішігірім компаниялар мен стартаптар осы сәнділікке ие емес.
Клиенттер өнімді сатылым бетінде немесе құжаттамада талап ететін нәрселерді жасайды деп күтеді. Онда көптеген нұсқалар бар, олар өнімнің уақытын және ақшасын ысырап ететін болса, кемеге секіру туралы екі рет ойламайды. Сондықтан, бағдарламалық қамтамасыз ету босату алдында қатты сынақтардан өтеді:
түпнұсқа тұжырымдамасы мен түпкілікті нәтиже арасындағы айырмашылықты айқындау
бағдарламалық жасақтаманың дизайнерлердің жоспарланған жолмен жұмыс жасайтындығын тексеріңіз
түпкілікті өнімді тексеру - өнім клиенттің талаптарына сай болуы керек
қасиеттері мен сапасын бағалау
Тестілеу қатаң жоспарға негізделеді. Бұл құнды ресурстарды - дағдыларды, уақытты және ақшаны пайдалануды оңтайландырады, ал мүдделі тараптарды өнімді алға жылжыту үшін маңызды ақпаратпен қамтамасыз етеді. Мақсат - сапаны қамтамасыз етудің сапалы бағдарламасының арқасында түпкі пайдаланушы тәжірибесін жақсарту . Саны соншалықты жоғары, QA менеджерлері техникадағы ең көп табыша алады. Тестілеу әдетте мына қадамдарды жасайды:
Талаптар талдауы, егер менеджерлер тиісті сынақ стратегиясын орналастыру жоспарын белгілесе.
Сынақтар басталады және нәтиже талдаудан өтеді.
Кез-келген ақаулар түзетіліп, бағдарламалық жасақтама регрессиялық тестілеуден өтеді - бағдарлама модификациядан кейін әлі де жұмыс істейтінін тексеретін жүйе.
Сынақ жабу туралы есеп, содан кейін бүкіл процесті және нәтижелерді егжей-тегжейлі сипаттайды.
Бағдарламалық қамтамасыз етуді тестілеу әдістері
Өнімнің мінез-құлқына және өнімділігіне баға беру үшін қолданылатын әр түрлі әдістер.
Қара жәшік және ақ жәшік сынағы - бұл екі негізгі әдіс.
- Қара өрісті тестілеу - Сонымен қатар функционалдық немесе спецификацияға негізделген тест деп те аталады, бұл әдіс өнімділікке бағытталған. Тестерлер ішкі механизмдермен байланысты емес. Бағдарламалық жасақтаманың тек қана не істеу керек екенін тексереді. Кодтау туралы білу қажет емес, ал тестерлер интерфейс деңгейінде жұмыс істейді.
- White box testing - Бұл әдіс тест-процедураның бір бөлігі ретінде ноу-хауды кодтауды қолданады. Өнім сәтсіздікке ұшыраған кезде, тестерлерге себептерді табу үшін кодқа терең енеді. Бағдарламалық жасақтаманың әзірлеушілері өнімнің қалай жұмыс істеу керектігін анықтайтындықтан, мұны жасайды. Құрылымға негізделген және әйнек қорабының сынағы осы әдіс үшін басқа атаулар болып табылады.
- Статикалық тестілеу - Тестілеушылар бағдарламалық жасақтаманың коды мен құжаттамасын тексереді, бірақ бағдарламаны орындамайды. Статикалық сынақтар тексеру процесінде өнімнің дамуына ерте басталады.
- Динамикалық тестілеу - Бағдарламалық қамтамасыз ету әртүрлі кірістермен орындалады және тестерлер осы әдіспен күткен мінез-құлықты салыстырады.
- GUI сынағы - бұл GUI сипаттамаларын - мәтінді пішімдеуді, мәтін ұяларын, түймелерді, тізімдерді, орналасуды, түстерді, қаріптерді, қаріп өлшемдерін және т.б. GUI-ті тестілеу уақытты талап етеді, ал үшінші тараптар көбінесе әзірлеушілердің орнына тапсырманы орындайды.
Тест деңгейлері
Бұл бағдарламалық жасақтаманың даму циклінің əрбір кезеңінде əлсіздіктің жəне үйлесімділік аймақтарын анықтау үшін қажет.
- Бірліктерді тестілеу - Әзірлеушілер кодының негізгі бөліктерін сыныптар, интерфейстер және функциялар / процедуралар сияқты сынайды. Олар өздерінің кодын жауап беруі керек және шығысқа байланысты түзетулер жасай алатындығын біледі.
- Құрамдас бөліктерді сынау - Басқа атаулар модульдік немесе бағдарлама тестілеуі болып табылады. Ол бірлікке тестілеуге ұқсас, бірақ интеграцияның жоғары деңгейін қамтиды. Бағдарламалық жасақтаманың модульдері ақауларға олардың жеке функциясын тексеру үшін сыналады.
- Интеграциялық тексеру - Бұл модульдер біріктірілген кезде қателерді анықтайды. Түрлі интеграциялық сынақтар төменнен, төменнен жоғары және функционалды инкрементальды болып табылады.
- Жүйелік тестілеу - Жобаның компоненттері осы әдіспен түрлі ортада тұтастай тестіленеді. Ол қара жәшік әдісінің астына түседі және процестің соңғы сынақтарының бірі болып табылады. Ол бизнес пен тұтынушы қажеттіліктерін қанағаттандыру үшін жүйенің жұмыс жасайтынын анықтайды.
- Альфа тестілеу - Ішкі персонал бағдарламалық жасақтаманы әзірлеуші сайтында симуляцияланған немесе нақты ортада тексереді. Осыдан кейін, әзірлеушілер қателерді және басқа да мәселелерді шешеді.
- Бета-тестілеу - далалық тест ретінде белгілі, клиент нақты жағдайдағы өнімді өз сайтында тексереді. Клиент соңғы пайдаланушылар тобын бағдарламалық жасақтаманы алдын-ала немесе бета нұсқалары арқылы сынақтан өткізу мүмкіндігін ұсына алады. Содан кейін мүмкін жақсартулар туралы пікір әзірлеушіге жіберіледі.
- Қабылдауды тестілеу - Сондай-ақ, қара жәшікке тестілеу аясында клиент бағдарламалық жасақтаманы әзірлеуші бағдарламаны қажетті техникалық сипатта жасайтынын анықтайды.
Сынақ түрлері
Бұл бағдарламалық жасақтама тестілері нақты мақсаттарға бағытталады.
- Орнату сынағы - Бағдарламалық жасақтаманы сынау инженері мен конфигурация менеджері бағдарламаны түпкі пайдаланушы орнатуға және іске қосуға мүмкіндік беру үшін осы сынақты өткізеді. Ол орнату файлдары, орнату орындары және әкімшілік артықшылықтар сияқты аймақтарды қамтиды.
- Дамуды тестілеу - Бұл ақаулықтарды табу және алдын-алу үшін синхрондалған стратегияларды жүзеге асырады. Ол статистикалық кодты талдауды, құпиялылық коды шолуларын, қадағалауды және метрикаларды талдауды қамтиды. Мақсат - тәуекелдерді азайту және шығындарды үнемдеу.
- Пайдалану тестілеуі - Пайдаланушы тәжірибесі осы сынақтан назар аударады. Ол GUI қаншалықты жақсы жобаланғанын және пайдаланудың қарапайымдылығын өлшейді. Сынақ тестілеу субъектілерінің функцияларының дәлдігі мен тиімділігін және эмоциялық жауаптарын тексереді.
- Санитарлы тестілеу - бұл бағдарламалық жасақтама уақытқа және одан әрі тестілеуді жалғастыру үшін қымбатқа түсетінін білдіреді. Тым көп кемшіліктер мен агрессивті тестілер ұстанбайды.
- Түтін тестілеу - түтін тестілеуі босатылуды болдырмау үшін жеткілікті маңызды қателіктерді көрсетеді. Бұл жаңа құрылыста орындалса, ол құрылысты тексеру сынағы деп аталады.
- Регрессиялық тестілеу - Жүйе модификацияға ұшырағанда, регрессиялық тест күтпеген мінез-құлқын бақылайды. Ол модульдерде немесе құрамдас бөліктерде жағымсыз әсерлерді көрсетеді.
- Дистрибьюторлық тестілеу - Тестіленушілердің күтпеген кірістерді енгізу және бағдарламалық қамтамасыз етудің күтпеген кірісті басқаруға қабілеттілігін анықтау. Бұл бағдарламаны әзірлеушілерге қателерді басқаруда сенімділігі қаншалықты екенін көрсетеді.
- Қайта қалпына келтіру сынағы - аппараттық немесе басқа функциялар орындалмаған кезде, бұл тексеру бағдарламалық жасақтаманың қаншалықты жақсы қалпына келтірілетінін және жұмысын жалғастыра алатынын көрсетеді.
- Автоматтандырылған тестілеу - бұл функцияны қолмен іске асыру қиын. Ол нақты тестілеуді іске асыру үшін және белгілі бір күтілетін нәтиже туралы деректерді қамтамасыз ету үшін нақты бағдарламалық жасақтаманы пайдаланады.
- Сыйысымдылықты тексеру - Бағдарламалық қамтамасыз ету әр түрлі есептеу орталарында жұмыс істеуі керек, сондықтан бұл әр түрлі жүйелермен үйлесімділікті тексереді. Мысалы, бағдарламалық қамтамасыз ету түрлі операциялық жүйелермен және веб-браузерлермен жұмыс істей ме?
- Тестілеуді тексеру - Бұл әр түрлі сценарийлердегі бағдарламалық жасақтаманың жұмысын тексеретін тереңдетілген сынақ. Жауапкершілік, тұрақтылық, ресурстарды бөлу және жылдамдық туралы ақпарат жиналады. Сонымен қатар, осы процесте көлем, сыйымдылық және шапшаң тестілеу сияқты қосалқы сынақтар қатысады.
- Қауіпсіздікті тестілеу - бұл бағдарламалық жасақтаманың пайдаланушылардың қауіпсіздігін қорғауға арналған мүмкіндігін өлшейді. Бұл өкілеттілік функцияларын, аутентификацияны, құпиялылықты, тұтастығын, қол жетімділігін және бас тартпауды білдіреді.
- Арнайы мүмкіндіктерді тексеру - бұл ыңғайлылықты тексеру сияқты емес. Бұл ерекшеленетін қабілеттердің пайдаланушылығын - оқыту мен физикалық шектеулерді қамтитын дәрежесін анықтайды, бағдарламалық қамтамасыз етуді пайдалана алады.
- Интернационалдандыру және локализация тестілеу - Нәтижелер бағдарламалық жасақтаманың әр түрлі тілдерге және аймақтық талаптарға бейімделу жолын көрсетеді. Бұл белгілі бір орындарға компоненттер қосу және мәтінді аударуды қамтиды.
Бағдарламалық жасақтаманы сынау - өнімді нарыққа шығарудың маңызды бөлігі. Және тестілеудің жоқтығына қарамастан, бар бағдарламалық қамтамасыз етудің кең ауқымы болмайды. BCS, IT for Chartered Institute, ISTQB® (International Software Testing Qualifications Board) және ASQ (бұрынғы Американдық сапа қоғамы) сияқты ұйымдар арқылы сертификатталған бағдарламалық жасақтаманы тексеруші болыңыз.