Кілт сөзіне негізделген тестілеу - Keyword-driven testing

Кілт сөзіне негізделген тестілеу, сондай-ақ әрекетке негізделген тестілеу (шатастыруға болмайды әрекетке негізделген тестілеу), Бұл бағдарламалық жасақтаманы тестілеу екеуіне де сәйкес келетін әдістеме нұсқаулық және автоматтандырылған тестілеу. Бұл әдіс. Құжаттамасын бөледі сынақ жағдайлары - деректерді де, функционалдылықты да қоса - тестілік жағдайлардың орындалу нұсқауынан бастап. Нәтижесінде ол тест құру процесін екі нақты кезеңге бөледі: жобалау және әзірлеу кезеңі және орындау кезеңі. Дизайн қосалқы станциясын қамтиды талаптарды талдау бағалау және деректерді талдау, анықтамасы және популяциясы.

Шолу

Бұл әдістеме сыналатын функционалдылықты бейнелеу үшін кілт сөздерді (немесе іс-әрекеттегі сөздерді) қолданады Клиентті енгізіңіз. Кілт сөз Клиентті енгізіңіз мәліметтер базасына жаңа клиент енгізу үшін орындалуы керек әрекеттер жиынтығы ретінде анықталады. Оның кілт сөзі бойынша құжаттамада:

  • сыналатын жүйенің бастапқы күйі (SUT)
  • басталатын терезе немесе мәзір
  • батырмаларды немесе тышқанды шерту арқылы мәліметтерді дұрыс енгізу терезесіне жету керек
  • өрістердің атаулары және қандай аргументтер енгізу керек
  • қосымша диалог терезелері пайда болған жағдайда орындалатын әрекеттер (растау сияқты)
  • жіберу үшін түймесін басыңыз
  • әрекеттер аяқталғаннан кейін SUT күйі қандай болуы керек екендігі туралы бекіту

Кілт сөзге негізделген тестілеу синтаксисі кесте пішімін қолдана отырып тестілік жағдайларды (деректер мен іс-қимыл сөздерін) тізімдейді (төмендегі мысалды қараңыз). Бірінші бағанда (А бағанында) Enter Client кілттік сөзі бар, ол тексеріліп тұрған функционалдылық. Содан кейін қалған B-E бағандарында кілт сөзін орындау үшін қажетті деректер болады: Аты, Мекен-жайы, Пошталық индекс және Қала.

ABCД.E
.Аты-жөніМекен-жайПошта индексіҚала
Клиентті енгізіңізДжейн Смит6 жоғары көшеSE25 6EPЛондон

Басқа клиентті енгізу үшін сынаушы кестеде Enter Client кілт сөз ретінде және келесі бағандарда жаңа клиенттің деректері бар тағы бір жол құрады. Барлық енгізілген әрекеттерді тоқтату қажет емес.

Онда сіз өзіңіздің тестілік жағдайларыңызды келесі жолдармен жобалай аласыз:

  • Тестті орындау үшін қолданбамен және жүйемен өзара әрекеттесу үшін қажетті жоғары деңгейлі қадамдарды көрсету.
  • Функциялардың қалай дұрыс жұмыс істейтінін растау және сертификаттау керектігін көрсету.
  • Тесттің алғышарттарын көрсету.
  • Тестке қабылдау критерийлерін көрсету.

Бағдарламалық жасақтаманың итеративті сипатын ескере отырып, тестінің дизайны тесттің қолмен жүзеге асырылуына қарағанда әлдеқайда абстрактілі (онша нақтыланбаған), бірақ ол оңайға ауысып кетуі мүмкін.

Артықшылықтары

Кілт сөзге негізделген тестілеу жүйенің / бағдарламалық жасақтаманың (SUT) өзгеруіне байланысты техникалық қызметке сезімталдығын төмендетеді. Егер экран макеттері өзгерсе немесе жүйе басқа ОС-ға көшірілсе, тест жағдайларына ешқандай өзгеріс енгізу қажет емес: өзгерістер кілт сөзі құжаттамасына енгізіледі, кілт сөзі қанша рет қолданылғанына қарамастан, әрбір кілт сөзі үшін бір құжат жасалады. тест жағдайлары және бұл тест құрастырудың терең процесін білдіреді.

Сондай-ақ, кілт сөзін орындау тәсілінің толық сипаттамасына байланысты (кілт сөз құжаттамасында) тесті кез келген адам орындай алады. Осылайша, кілт сөзіне негізделген тестілеуді екеуіне де қолдануға болады қолмен сынау және автоматтандырылған тестілеу.[1]

Сонымен қатар, бұл тәсіл - бұл тестілеуге байланысты және жасалынған барлық құралдарды, активтерді және деректерді біріктіретін ашық және кеңейтілген негіз. Осы бірыңғай шеңберде тестілеудің барлық қатысушылары өздерінің алға қойған сапалық мақсаттарын анықтай және нақтылай алады. Дәл осы жерде команда сол мақсаттарды орындау үшін жүзеге асыратын жоспарды анықтайды. Ең бастысы, бұл кез-келген уақытта жүйенің күйін анықтау үшін бүкіл команданы бір орынмен қамтамасыз етеді.

Тестілеу - бұл бағдарламалық жасақтаманы құру процесіндегі кері байланыс механизмі. Бұл сізге даму күшінің кез келген қайталануы кезінде бағытта болу үшін қай жерде түзетулер енгізу керек екенін айтады. Ол сонымен қатар жүйенің қазіргі сапасы туралы айтады. Тесттерді енгізу қызметі тест жағдайын іске асыратын қайта пайдалануға болатын тестілік сценарийлерді жобалауды және әзірлеуді қамтиды. Іске асырудан кейін оны тестілік жағдаймен байланыстыруға болады.

Әрбір тестілеу жобасында әр түрлі болады. Бір жобада сіз екеуін де салуға шешім қабылдауға болады тестілеудің автоматтандырылған сценарийлері және қолмен сценарийлер.[2] Оның орнына тестілерді жобалау - бұл қайталанатын процесс. Тесттерді жобалауды кез-келген жүйені енгізуге дейін қолдануға болады, себебі сынақ дизайнын пайдалану жағдайының сипаттамалары, талаптары, прототиптері және т.б. Жүйе нақтырақ нақтыланған және сізде жұмыс істейтін жүйелер бар болғандықтан, сіз дизайн туралы егжей-тегжейлі түсіндіре аласыз. Тесттерді жобалау белсенділігі «Мен тестілеуді қалай өткіземін?» Деген сұраққа жауап береді. Толық тест дизайны оқырмандарға жүйемен қандай әрекеттерді жасау керектігін және егер жүйе дұрыс жұмыс істеп тұрса, олар қандай мінез-құлықтар мен сипаттамаларды байқауы керек екендігі туралы хабарлайды.

Сынақ дизайны сіздің тестілеуді қалай құруға болатындығын анықтаудағы жобалау жұмыстарынан өзгеше.

Әдістеме

Кілт сөзге негізделген тестілеу әдістемесі тестілеу процесін бірнеше кезеңге бөледі:

  1. Модельдік негіз / прототиптеу: талаптарды талдау және бағалау.
  2. Тест моделінің анықтамасы: нәтижеге қойылатын талаптарды бағалау бойынша бағдарламалық жасақтама моделіне жүгініңіз.
  3. Деректердің анықтамасын тестілеу: анықталған өзіндік модель негізінде кілт сөзін бастаңыз және негізгі / комплементтік деректерді анықтаңыз.
  4. Тестке дайындық: қабылдау сынағы және т.б.
  5. Тест дизайны: тест негіздерін талдау, тестілік жағдайды / процедураны жобалау, тестілік мәліметтерді жобалау
  6. Тестті қолмен орындау: кілт сөздік құжаттаманы орындау нұсқаулығы ретінде қолданып, тестілік жағдайларды қолмен орындау.
  7. Тесттің орындалуын автоматтандыру: кілт сөздік құжаттамаға сәйкес әрекеттерді орындайтын автоматтандырылған сценарий құру.
  8. Тесттің автоматты түрде орындалуы.

Анықтама

Кілт сөз немесе Әрекет сөзі - бұл сынақ объектісіндегі іс-әрекеттердің анықталған тіркесімі, ол тест сызықтарын қалай орындау керектігін сипаттайды. Әрекет сөзінде аргументтер бар және оны тест-талдаушы анықтайды.

Сынақ кез-келген даму процесінің шешуші қадамы болып табылады және объектіге бірқатар тесттер немесе чектер қолдану керек (жүйе / SW тесті - SUT). Әрқашан тест тек қателіктердің болуын көрсететінін, олардың жоқтығын көрсететінін ұмытпаңыз. RT жүйесінің сынағында SUT дұрыс шығуларды шығаратындығын тексеру жеткіліксіз. Ол сондай-ақ осы өнімді шығаруға кететін уақыттың күткендей болатындығын тексеруі керек. Сонымен қатар, бұл шығулардың уақыты кірістердің уақытына байланысты болуы мүмкін. Өз кезегінде, келешектегі кірістердің қолданылу уақыты нәтижелерден анықталады.[2]

Тесттің орындалуын автоматтандыру

Іске асыру кезеңі құралға немесе құрылымға байланысты ерекшеленеді, көбінесе автоматтандыру инженерлері «тексеру» және «енгізу» сияқты кілт сөздерді беретін құрылымды жүзеге асырады.[1] Тестерлер немесе тест дизайнерлері (бағдарламалауды білудің қажеті жоқ) жазады сынақ жағдайлары жоспарлау кезеңінде анықталған кілт сөздер негізінде инженерлер жүзеге асырды. Тест кілт сөздерді оқитын және сәйкес кодты орындайтын драйвер көмегімен орындалады.

Басқа әдіснамалар барлығын біреуі енгізу кезеңін қолданады. Сынақ дизайны мен сынақ инженериясының міндеттерін бөлудің орнына, сынақ дизайны болып табылады тестілеуді автоматтандыру. «Өңдеу» немесе «тексеру» сияқты кілт сөздер қажетті код жазылған құралдардың көмегімен жасалады. Бұл тестілеу процесінде қосымша инженерлердің қажеттілігін жояды, өйткені кілт сөздерді енгізу құралдың бір бөлігі болып табылады. Мысалдарға мыналар жатады GUIdancer және QTP.

Артықшылықтары

  • Ұзақ мерзімде техникалық қызмет көрсету төмен:
    • Тест жағдайлары қысқа
    • Сынақ жағдайлары үлескерлер үшін оқылады
    • Сынақ жағдайларын өзгерту оңай
    • Жаңа тестілік жағдайлар бар кілт сөздерді оңай қолдана алады
  • Кілт сөзді бірнеше сынақ жағдайларында қайта қолдану
  • Белгілі бір құралға немесе бағдарламалау тіліне тәуелді емес
  • Еңбек бөлімі
    • Сынақ корпусын құру үшін доменнің мықты сараптамасы қажет - құралдар / бағдарламалау дағдылары азырақ
    • Кілт сөзді енгізу құралды / бағдарламалаудың едәуір құралын қажет етеді - домен дағдысының салыстырмалы түрде төмен деңгейі
  • Қабаттардың абстракциясы

Минус

  • Ұзынырақ нарыққа шығу уақыты (қолмен сынау немесе жазу және қайта ойнату техникасымен салыстырғанда)
  • Бастапқыда орташа жоғары оқу қисығы

Сондай-ақ қараңыз

Пайдаланылған әдебиеттер

  1. ^ а б Faught, Дэнни Р. (қараша 2004). «Кілт сөзіне негізделген тестілеу». Жабысқақ ақыл. Бағдарламалық жасақтама сапасының инженері. Алынған 12 қыркүйек, 2012.
  2. ^ а б Мандуррино, Хосе Л. (шілде 2014). «Gestione e approccio alla validazione in RT RT (Real-Time)». UTIU. Жоқ немесе бос | url = (Көмектесіңдер)

Сыртқы сілтемелер