Testowanie - Notatki - Programowanie, Notatki'z Informatyka. Szczecin University of Technology
Norbert_88
Norbert_8812 April 2013

Testowanie - Notatki - Programowanie, Notatki'z Informatyka. Szczecin University of Technology

DOC (51.0 KB)
6 strona
274Liczba odwiedzin
Opis
Informatyka: notatki z zakresu programowania dotyczące testowania.
20punkty
Punkty pobierania niezbędne do pobrania
tego dokumentu
Pobierz dokument
Podgląd3 strony / 6
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.

INŻYNIERIA OPROGRAMOWANIA

„Testowanie”.

Testy statystyczne.

Zadaniem testowanego programu jest wyliczenie pierwiastków równania kwadratowego ax2 + bx + c = 0.

Przed rozpoczęciem testu wybrałem dane wejściowe. Dobierając dane wejściowe, starałem się je dobrać w jak najbardziej przypadkowy sposób. Po wyliczeniu prawidłowych wyników obliczeń, przeszłem do wprowadzania danych wejściowych do testowanego programu.

Otrzymane wyniki testu

-dane wejściowe:

a). a = 1 b = 0 c = -9

b). a = -1 b = -6 c = -9

c). a = 1 b = -2.5 c = -1.5

d). a = 1 b = 2 c = 3

- wyniki obliczeń:

a). ∆>0 x1 = 3 x2 = -3

b). ∆=0 x = -3

c). ∆>0 x1 = -0.5 x2 = 3 d). ∆<0 brak rozwiązań

- wyniki działania programu na danych wejściowych:

a). x1 = 3 x2 = -3

b). x= -3

c). x1 = -0.5 x2 = 3 d). brak rozwiązań

Wyniki testu:

- Z przeprowadzonego przeze mnie testu wynika, że działanie programu zakończyło się pełnym sukcesem(program się nie zawiesił). Nie stwierdzono błędów. Program był dostępny dla użytkownika przez cały czas pracy.

Testy funkcjonalne.

Z testu funkcjonalnego wynika, że aby test zakończył się sukcesem, dane wejściowe należy podzielić na pewne klasy, dla których działanie programu powinno być podobne. Jeżeli testowana funkcja działa poprawnie dla kilku danych należącej do takiej klasy, zakłada się, że działanie systemu jest poprawne dla całej klasy danych wejściowych.

Dlatego przed rozpoczęciem testowania dokonałem podziału danych wejściowych na klasy: - pierwsza klasa( -1000 -1000 ); -druga klasa( -35000 – 35000); -trzecia klasa( 0 – 80000); .

Wyniki testu: Przeprowadziłem kilka prób na danych z wymienionych klas. Program się nie zawiesza. Testowany program wyświetla wnika dla każdej z klas. Jednak błędne wyniki pojawiają się niestety po przekroczeniu -33000 i 33000. Z wyniku testu wynika, że dla danych z klasy drugiej i trzeciej program oblicza błędne wyniki.

Testy strukturalne

Z testów strukturalnych wynika, że dane wejściowe należy dobrać na podstawie analizy struktury programu realizującego testowane funkcje.

Dlatego dobrałem odpowiednio dane wejściowe do analizy struktury programu.

A B C 0 3 2 1 0 -9 -1 -6 -9 0 0 0 1 -2.5 -1.5 1 -4 -9 -2 0 6 4 9 5

Tab.1

Wyniki testu:

Po przeprowadzeniu testu na załączonych danych Tab.1 wykryłem następujące błędy. Program dla danych zerowych(a=0, b=0, c=0) program wyświetlił zły wynik. Dlatego, że program nie sprawdził czy c jest różne od zera.

Testy statyczne Testy statyczne polegają na analizie kodu bez uruchamiania programu.

Wyniki testu Testowany przeze mnie program był kompilowany. Dlatego większość błędów została wychwycona przez kompilator i poprawiona.

Wykryte błędy to : -nie zainicjowane zmienne, -nieuwzględnienie błędnych danych.

Kod testowanego programu #include <stdio.h> #include <iostream.h> #include <conio.h> #include <math.h> void main() { float a,b,c,delta,x1,x2,x,pierwiastek; clrscr(); cout << "Podaj a=" ; cin >> a ; cout <<"Podaj b="; cin >>b; cout <<"Podaj c="; cin >>c; { if (a!=0) { delta=(b*b)-4*a*c;

if (delta>0) { x1 = ((-b)-sqrt(delta))/2; x2 = ((-b)+sqrt(delta))/2; cout<<x1<<'\n'<<x2; } else if(delta==0)

{ x=-b/(2*a); cout<<x; }

else cout<<"brak rozwiazania"; } else if (b!=0) { x=-c/b; cout<<x; }

else cout<< "nieskonczenie wiele roozwiazan"; getch(); } }

komentarze (0)
Brak komentarzy
Bądź autorem pierwszego komentarza!
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
Docsity is not optimized for the browser you're using. In order to have a better experience we suggest you to use Internet Explorer 9+, Chrome, Firefox or Safari! Download Google Chrome