КомпьютерлерБағдарламалық жасақтама

Бағдарламалық қамтамасыздандыру тестілеу әдістері және оларды салыстыру. Қара қорапты тестілеу және ақ қорапты тестілеу

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

әдістері

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

тексеру әдістері (тестілеу) бағдарламаларды статикалық және динамикалық бөлуге болады.

бұрынғы бейресми, мониторинг және техникалық шолу, тексеру, қадам талдау, аудит, сондай-ақ статикалық деректер ағындарын талдау және басқару арқылы қадам қамтиды.

Динамикалық әдістері болып табылады:

  1. Ақ қорап тестілеу. Бұл бағдарламаның ішкі логика мен құрылымын толық зерттеу болып табылады. Ол бастапқы коды білім қажет.
  2. Қара жәшік тестілеу. Бұл әдістеме қолдану ішкі қазбаларының туралы кез келген білімді талап етпейді. Біз байланысты немесе оның ішкі логикалық құрылымын бірнеше байланысты емес, жүйенің тек негізгі аспектілерін қарастыру.
  3. Сұр қорап әдісі. Ол екі алдыңғы тәсілдерді біріктіреді. қолдану ішкі жұмыс істеу шектеулі білімі бар күйін келтіру жүйесінің негізгі аспектілері туралы білімді ұштастыра.

мөлдір тестілеу

процессуалдық дизайн сынақ сценарийлері бақылау құрылымын пайдалана отырып, ақ қорап әдісі. Бұл әдістеме бағдарламалық қамтамасыз ішкі қазбаларының бір бөлігін талдау арқылы осындай нашар басқару коды жүйесі ретінде іске асыру қателерді, анықтауға мүмкіндік береді. Бұл сынақ әдістері интеграциялық, модуль және жүйелік деңгейде қолданылады. сынақшы бастапқы коды қол жеткізе және орынсыз әрекет ол бірлік табу үшін оны пайдалану керек.

ақ-терезесінің бағдарламаларды тестілеу келесі артықшылықтары бар:

  • Бұл қажетсіз сызықтар алып тастау арқылы жасырын коды қате табуға мүмкіндік береді;
  • жанама әсерлерін пайдалану;
  • максималды қамту сынақ сценарий жазу арқылы қол жеткізуге болады.

кемшіліктері:

  • білікті отладчика талап жоғары құны процесі;
  • барлық ықтимал жасырын қателер мұқият тексеру өте күрделі болып табылады, себебі, көптеген даңғылдар зерттелмеген қалады;
  • код кейбір елеусіз өтеді.

Ақ терезесі тестілеу кейде ашық немесе ашық терезесін, құрылымдық, логикалық негізделген бастапқы кодында тестілеу, және логикалық сәулет сынау арқылы аталады.

Негізгі сорттары:

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

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

сынақшы орындау жолдарын базалық жиынтығы оқшаулау үшін логикалық күрделілігі шара процессуалдық жобаны орнатуға мүмкіндік береді негізгі жолы, 3) тестілеу;

4) деректер ағыны тексеру - аннотациялар арқылы зерттеудің ағыны басқару стратегиясы хабарландыруда туралы ақпаратты санау және бағдарламалық айнымалылар пайдалануға;

5) тестілеу цикл - толық циклдық процестерді дұрыс жұмыс бағытталған.

мінез-құлық отладка

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

Осы тәсілді артықшылықтары:

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

Тестілеу бағдарламалық қамтамасыз ету қара жәшік әдісі мынадай кемшіліктері бар:

  • Шынында да шектеулі қамту, нәтижесінде сынақ жағдайларда таңдаңыз бірқатар жүзеге;
  • сынақ Сценарийлерді жетілдіру үшін қиын айқын нақтылау болмауы;
  • төмен тиімділігі.

Бұл технология бойынша басқа атаулары - мінез-құлық, айқын емес, функционалдық тестілеу және жабық терезесінің отладка әдісі.

Бұл санатта келесі бағдарламалық қамтамасыз тестілеу әдістерін қамтуы мүмкін:

1) кіріс бағдарламалық модулінің деректері бөлек бөліктерге бөлінеді ретінде тест деректер жиынтығын азайтуға болады бөлімінен, баламалы;

2) өлкелік талдау шекаралары немесе төтенше шекті мәндерін тексеру назар аударады - ең, ең, мен қателік тән құндылықтар;

3) Fuzzing - автоматты немесе жартылай автоматты режимде қателерді немесе бүлінген деректер poluiskazhennyh енгізу арқылы іздеу жүзеге асыру үшін пайдаланылатын;

4 себебі) санау - бұл графтар құру негізінде техника және іс-қимыл және оның себептері арасындағы қарым-қатынасты анықтау: жеке басын куәландыратын, терістеу, логикалық НЕМЕСЕ логикалық және - төрт негізгі кейіпкерлері, себептері мен салдары арасындағы қарым-қатынасты білдіру;

5) ортогоналды алқаптарының тексеру толық зерттеудің мүмкіндігін асатын салыстырмалы шағын енгізу алаңы мәселелеріне қолданбалы;

6) барлық жұп тестілеу - тестілеу құндылықтар жиынтығы кіру параметрлерін әр жұптың барлық ықтимал екілік комбинацияларды қамтиды әдістемесін;

шарлау үшін құрылғы күйін тексеру үшін пайдалы техника, сондай-ақ - 7) мемлекеттік көшу отладочной GUI пайдаланушы.

Қара жәшік тестілеу: мысалдары

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

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

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

Қанша сынақтар 4 Windows туы және біржолғы өрісі үшін барлық ықтимал мәндерін тексеру үшін жасау керек, секундта уақытты орнатыңыз? бірінші көзқарас есептеу кезінде қарапайым: екі ықтимал мемлекеттермен 4 өрістер - 24 = 16, 99 00-ден ықтимал лауазымдардың санына көбейтілген тиіс, яғни 1600 ықтимал сынақтар.

Алайда, бұл есептеу дұрыс емес: біз екі-нүкте өрісі де бос орын болуы мүмкін деп анықтай алады, ол екі әріптік-сандық позициялар тұрады және егер, Осылайша әріптік-сандық таңбаларды, арнайы таңбаларды, бос, т.б. қамтуы мүмкін, яғни .... жүйесі 16-биттік компьютер болып табылады, олар орындайтын болса 68,719,476 736 жалпы береді тулар 16 комбинациялары көбейтіледі болады қорытқы 4294967296 сынақ жағдайларда әрбір орынға 216 = 65536 бірі қосу секундына 1 тест, жалпы кітапшасындағы кезінде olzhitelnost тестілеу 2 177,5 жыл. 32 немесе 64 биттік жүйелерді үшін ұзақтығы тіпті одан да көп.

Сондықтан қолайлы деңгейге дейін осы мерзімін қысқарту қажеттілігі бар. Осылайша, әдістері тестілеу ауқымын қысқарту жоқ сынау істердің санын азайту үшін қолданылуы тиіс.

эквиваленттік бөлу

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

тестілеу кезінде әрбір нақты эквиваленттік бөлімнің бірі өкілі таңдалған. Бұл сіз жүйелі командалар мен функцияларын қамту жоғалтпай ықтимал сынақ істердің санын азайтуға мүмкіндік береді.

Осы кішкін Басқа салдары түрлі айнымалы және сынақ жағдайларды байланысты азаюы арасында комбинаторлық жарылыс азайту болып табылады.

Мысалы, 1/2 (1 / х) үш деректер бірізділік, үш балама бөлімі арқылы:

1. Барлық оң сандар бірдей жолмен өңделетін болады және дұрыс нәтиже беруі тиіс.

2. Барлық теріс сандар бірдей нәтижемен бірдей жолмен өңделеді. теріс санының түбір жорамал болып табылады, өйткені бұл, дұрыс емес.

3. Zero бөлек өңделеді және қате «нөл бөлу» береді болады. Бұл бір құны бар бөлім болып табылады.

Осылайша, біз бір мәніне дейін төмендейді, олардың біреуі үш түрлі бөлімдерін қараңыз. сенімді нәтиже береді бір «дұрыс» бөлімінде, сондай-ақ дұрыс нәтижелерімен екі «дұрыс» бар.

шеттік талдау

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

  • Реляциялық операторларының дұрыс пайдалану (<,>, =, ≠, ≥, ≤);
  • бір қате;
  • циклдар және Итерация мәселелері,
  • дұрыс түрлері немесе ақпаратты сақтау үшін пайдаланылатын айнымалы мөлшері;
  • деректер түрлері мен айнымалылар байланысты жасанды шектеулер.

мөлдір тестілеу

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

Бұл əдісті пайдалану, сынақ құндылықтарды дамыту үшін сынақшы ішкі деректер құрылымдар мен алгоритмдерін білімі болуы тиіс. төмендегідей сұр-қорап тестілеу әдістерін мысалдары мыналар болып табылады:

  • сәулет үлгісі;
  • Unified Modeling Language (UML);
  • Мемлекеттік моделі (ақырғы мемлекеттік машина).

сұр жолақ тәсілі тест істерді дамыту ақ инженерлік кодтары модульдерді оқыған, және нақты сынақ қара технологиялық бағдарламалар интерфейстерді жүзеге асырылады.

Бұл тестілеу әдістері мынадай артықшылықтары бар:

  • артықшылықтары техник ақ және қара жәшіктерін комбинациясы;
  • Tester интерфейсі және функционалдық нақтылау емес, бастапқы коды негізделген;
  • Отладчик үлкен сынақ жағдайлары жасауға болады;
  • тексеру пайдаланушы емес, бағдарламаның дизайнер тұрғысынан жасалған;
  • теңшелетін сынақ дамуын жасау;
  • объективтілік.

кемшіліктері:

  • бастапқы қол коды жоқ, өйткені сынақ қамту шектелген;
  • бөлінген қосымшалар ақауларды күрделілігі;
  • көптеген жолдары зерттелмеген қалады;
  • Software Developer тест іске болса, онда одан әрі тергеу шамадан тыс болуы мүмкін.

сұр терезесі әдістерін үшін тағы бір аты - Мөлдір отладка.

Бұл санатта тестілеу мұндай әдістері кіреді:

1) ортогоналды массив - барлық ықтимал құрамаларынан ішкі пайдалану;

Бағдарлама деректер күйін пайдаланып 2) матрица отладка;

бағдарламалық қамтамасыз ету үшін жаңа өзгерістер жүргізіледі 3) регрессивті тексеру;

жақсы қолдану дизайн және сәулет талдайды 4) Үлгі сынақ.

бағдарламалық қамтамасыз тестілеу әдістерін салыстыру

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

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

Төменде үш динамикалық сынау әдістерін арасындағы негізгі айырмашылықтар болып табылады - бағдарламалық қамтамасыз ету күйін келтіру үш нысандарын арасындағы салыстыру кестесін беріледі.

аспектісі

қара жәшік әдісі

Сұр қорап әдісі

Ақ-қорап әдісі

Бағдарламаның құрамы туралы ақпараттың болуы

тек негізгі аспектілерін зерттейді

Бағдарламаның ішкі құрылымы туралы Ішінара білім

бастапқы коды толық қол

Бағдарламаның үзіндісі дәрежесі

төмен

орталық

биік

күйін келтіруді шығарады кім?

Соңғы пайдаланушылар, сынақшылар, әзірлеушілер

Соңғы пайдаланушылар, әзірлеушілер және отладчиках

Developers және сынаушы

негіз

Тестілеу сыртқы төтенше жағдайлар негізделген.

Диаграммалар дерекқор, деректер ағыны диаграммалар, алгоритмнің ішкі білім мемлекеттік және сәулет

ішкі құрылғы толық түсінеді

қамту дәрежесі

Кем жан-жақты және аз уақыт талап етеді

орталық

Ықтимал ең жан-жақты. Уақыт-тұтыну

Деректер және ішкі шекаралары

тек сынамалар мен қателер арқылы Debug

олар белгілі болса, деректер домендер және ішкі шекараларын тексеруге болады

Ең жақсы сынақ деректер домендер және ішкі шекаралары

Жарамдылығы тестілеу алгоритмі

жоқ

жоқ

иә

автоматтандыру

бағдарламалық қамтамасыз ету тестілеу автоматты әдістері көп қарамастан техникалық қоршаған ортаға және контекст, тексеру процесін жеңілдету болып табылады. Олар екі жағдайда пайдаланылады:

1) сынақшы аса маңызды нүктелерінің концентрациясы уақыт босату мақсатында осындай бірнеше мың жолдар файл салыстырғанда ретінде, шаршаған, қайталанатын немесе мұқият міндеттерді автоматтандыру үшін;

2) оңай секундтың жүзден өлшенуі мүмкін, мысалы, өнімділігі тексеру немесе талдау уақыт үн ретінде адамдар арқылы жүзеге асырылуы мүмкін емес бақылауды немесе тапсырмаларды орындау үшін.

Test құралдары түрліше жіктеуге болады. Келесі бөлімшесі олар қолдауға міндеттерді негізделген:

  • жобаларды басқару қолдау, нұсқаларын, конфигурациясын, тәуекел талдау, сынау қадағалау, қателерді, кемшіліктерді, және есеп құралдарын қамтиды сынау басқару;
  • сақтау талаптар мен ерекшеліктері, толықтығы мен стреске оларды тексеру, олардың басымдық және әрбір тест қадағалануын кіреді талаптар басқару;
  • ақауларды анықтау үшін байланыс көзі құжаттар мен коды статикалық талдау қадағалау ағыны мониторинг, мен міндеттерді, ескертулер жазу және сақтау, ақауларды анықтау және жоспарлы түзетулер бақылау парақтары мен ережелерге басқару сілтемелер, соның ішінде сыни шолу және статикалық талдау, кодты жазу стандарттарының сақталуын қамтамасыз ету, құрылымдар мен тәуелділіктерді талдау, коды және сәулет метрикалық параметрлерін есептеу. Сонымен қатар, компиляторлар, талдағыштар, генераторлар және кросс-сілтемелер қатынастарын пайдалануға;
  • модельдеу бизнес мінез-құлық үшін құралдар кіреді және сынақтан модельдер модельдеу;
  • сынақ дамыту жағдайлары мен тәуекелдерді басқару, статистикалық талдау ережелерін негізінде деректерді тексеру, шарттар мен пайдаланушы интерфейсі модельдер мен коды негізінде күтілетін деректер ұрпақ қамтамасыз етеді, файлдарды және дерекқорларды жасау немесе өзгерту үшін басқару, хабар алмасу;
  • табысты және сәтсіз сынақтар анықтауға көмектесу үшін компараторы пайдаланып графикалық пайдаланушы интерфейсі, API, пәрмен жолында арқылы деректерді енгізу арқылы сыни қарау;
  • Сіз том, хабар-ошарсыз кеткен Жабдықты немесе бағдарламалық құралды алмастыруға мүмкіндік береді қолдау отладка ортасы. сағ. бел шығу Ішкі жиында, терминал эмуляторы, ұялы телефондар және желілік жабдықтар негізінде модельдеу жабдықтар, қоршаған ортаны тілдерді, операциялық жүйелер және тексеру үшін аппараттық жетіспейтін компоненттері драйверін ауыстыру арқылы, жалған ОЖ түсіріп және өзгерту үшін модульдер, т.б., сондай-ақ құралдары CPU модельдеу шектеу, RAM, ROM немесе желіні сұрайды .;
  • .. деректер файлдарының, деректер базасын салыстыру, тест кезінде және кейін күтілетін нәтижелерді тексеру аяқталғаннан, динамикалық және пакеттік салыстыру, Автоматты «оракулдар» Банктің қосу;
  • Жүйе ресурстарын баяндама өлшеу, талдау және тексеру үшін өсу шынайы сценарий симуляциялық жүктеме өндіруші жүктеме өтініштер, дерекқорлар, желілерді немесе серверлер астында сыртқа жады оқшаулау және дұрыс оның бақылау құлық бағалау жүйесі үшін өлшеу жағу;
  • қауіпсіздік;
  • өнімділігі тестілеу, жүктеме және динамикалық талдау;
  • Vol басқа құралдар. Сағ. Орфографиялық және синтаксистік, тексеру үшін желілік қауіпсіздікті, барлық сайтыңызда беттердің болуын және басқа да.

келешек

бағдарламалық қамтамасыз ету өнеркәсібінде өзгерту үрдістер, жөндеу процесі, сондай-ақ өзгертіледі. сондықтан осындай сервистік-orientirovannae сәулет (SOA) ретінде бағдарламалық қамтамасыз тестілеу жаңа әдістері, сымсыз технологиялар, ұялы байланыс қызметтері, және бар. Е., тестілеу бағдарламалық қамтамасыз етудің жаңа жолдарын ашты. Алдағы бірнеше жылда өнеркәсіпте күтілуде кейбір өзгерістер төменде көрсетілген:

  • Тестерлері әзірлеушілер сіздің кодын тексеру алады жеңіл үлгісін қамтамасыз етеді;
  • ерте сатысында көру және модельдеу бағдарламаларды қоса алғанда тестілеу әдістерін, дамыту қайшылықтарды көптеген жояды;
  • бірнеше перехваченных тест болуы қате анықтау уақытын қысқартады;
  • Статикалық анализатор және анықтау кеңінен қолданылатын болады білдіреді;
  • Мұндай нақтылау қамту сияқты минералды матрицасы, пайдалану, моделі және коды қамту көлемі жобаларды дамуын айқындайтын;
  • комбинаторлық құралдары Тестерлері отладки басым бағыттарын анықтауға мүмкіндік береді;
  • Тестерлері бағдарламалық қамтамасыз етуді әзірлеу процесінің бүкіл көбірек интуитивті және бағалы қызмет көрсетеді;
  • отладчиках құралдары мен бағдарламалық қамтамасыз ету жазылған әдістерін тестілеу және программалау тілдері түрлі өзара іс-қимыл жасай алады;
  • сарапшылар Отладка астам кәсіби оқудан өтеді.

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 kk.atomiyme.com. Theme powered by WordPress.