Reguli de elaborare a testelor

Pentru a depana un program, trebuie să verificați-l lucrează la unele dintre datele de intrare. Prin urmare, aceste intrări trebuie să iau într-un fel în sus. Apoi, după executarea programului de pe aceste intrări, aveți nevoie pentru a compara rezultatele cu cele care urmează să fie obținute în cazul în care programul funcționează corect. Acest proces este numit de testare.

Rețineți că, dacă rezultatul este diferit de standard, testul este considerat un succes (!), Pentru că a ajutat să descopere eroarea. Și dacă răspunsul este obținut coincide cu dreptul - prea devreme să se bucure. Un test nu poate valida pe deplin întregul program, eroarea ar putea ascunde cu ușurință în partea care a fost lăsat neîmplinită în acest moment. Pentru a testa întregul program, verificați toate cazurile speciale posibile, constituie mai mult de un test, iar suita de testare.

Aici, există următoarele reguli.

Regula 1. Fiecare test ar trebui să constea nu numai de intrare, dar, de asemenea, a ieșirii corespunzătoare. Pentru că, în scopul de a înțelege rezultatul corect sau greșit v-a dat un program, trebuie să știți răspunsul corect la.

Verificați testele manuale în care depanarii un program. Puțini pot fi realizate în cazul în care programul emis de răspunsul corect, credeți că greșit și să continue să caute erori non-existente. Chiar mai rău - dacă atinge în continuare programul de lucru pe măsură ce rezultate greșit de așteptat, explica comportamentul necorespunzătoare pe alte teste, va fi chiar mai dificil.

Ultimele două paragrafe presupune o concluzie foarte importantă: este imposibil de a construi teste folosind un generator de numere aleatoare. Desigur, puteți face datele de intrare aleatoare, dar ce putem spune despre răspunsul corect? În cazul în care să-l ia, dacă tu te-ai nici o idee că există o intrare?

Regula 2. După funcția start programul corect pe una sau câteva teste simple, complica sarcina, introduceți condițiile limită de încercare sau un test care conține valorile care depășesc formatul de date de intrare. Uneori, eroarea poate fi ascunde în acele părți ale programului, care par a fi cele mai transparente. De exemplu, pentru a verifica numărul de variabile pentru egalitate între ele. Dacă până acum toate variabilele din testele au fost diferite, încearcă să scape de program prin teste care au comparat valorile sunt aceleași - toate la o anumită dată sau numai dintre ele în diferite combinații.

Regula 3. Nu doar arata ca testele.

Toate testele pot fi împărțite în trei grupe: regulate. delimitare și critică. De exemplu, având în vedere restricțiile cu privire la parametrul 0 <= x <= 100 регулярными будут все тесты, где 1 <= x <= 99; граничными, где х = 0 и х = 100; остальные - критическими. Если ваша программа правильно работает для пяти-шести тестов из какой-либо группы, можно предположить, что она выдаст правильный результат и для всех остальных тестов из этой группы.

În setul de testare, compilate de programe pentru verificarea trebuie să fie teste actuale ale primelor două grupuri, și pentru testare „foarte simplu de manevrat“ (a se vedea capitolul 14) - și al treilea prea. În cazul în care mai mulți parametri de intrare - combina! Să presupunem că într-unul și același test primul parametru este limita, al doilea - regulate, iar al treilea - critică. Întotdeauna interesant pentru a vedea dacă programul este suficient de solid, fie că este vorba de a face față cu o astfel de sarcină.

Un program bun, de încredere trebuie întotdeauna să scrie un cec care există fișierul de intrare, nu este gol și conține date în formatul corect ca citite din fișierul de date de intrare este scris într-un anumit interval de condiții ale problemei.

Regula 4: Rectificarea programului, care ar putea afecta rezultatele mai multor teste.

Odată ce ați găsit și a corectat eroarea, re-executa programul în toate acele teste care anterior nu au fost de succes (adică, pentru a da răspunsurile corecte) - și dintr-o dată există un nou bug?

În general, cu toate acestea, un apartamente de testare exhaustivă pentru testarea orice program - sarcina este foarte banal, necesită adesea o dovadă matematică a integralității.