Tài liệu kiểm thử và gỡ rối Đề tài Tạo một ADT có tên Array.h và viết một chương trình CheckArray.c để kiểm tra

16 607 0
Tài liệu kiểm thử và gỡ rối Đề tài  Tạo một ADT có tên Array.h và viết một chương trình CheckArray.c để kiểm tra

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trường Đại học Bách Khoa Hà Nội Viện Công nghệ thông tin truyền thông Tài liệu kiểm thử gỡ rối Đề tài : Tạo ADT có tên Array.h viết chương trình CheckArray.c để kiểm tra Giảng viên hướng dẫn : TS Vũ thị Hương Giang Nhóm sinh viên thực : Vũ Văn Bảo Trần Trung Hiếu Nguyễn Minh Tiến Nguyễn Văn Tùng Nguyễn Hồng Vinh Lớp : KSCLC – K55 Năm học : 2012 - 2013 Hà Nội, 2013 Mục lục Mục lục I.Kiểm thử 1.Kiểm thử hàm mang nhap() 2.Kiểm thử thủ tục void hien(mang mang1) 3.Kiểm thử hàm mang bubbleSort(mang mang1) 4.Kiểm thử hàm mang insertionSort(mang mang1) 5.Kiểm thử hàm mang selectionSort(mang mang1) .6 6.Kiểm thử thủ tục void finMax(mang mang1) 7.Kiểm thử thủ tục void finMin(mang mang1) .7 8.Kiểm thử hàm float avgMax(mang mang1) 9.Kiểm thử hàm float dolech(mang mang1, int i, int j) 10.Kiểm thử hàm float dolechtb(mang mang1) 11.Kiểm thử thủ tục void sequentialSearch(mang mang1, float x) 12.Kiểm thử thủ tục void binarySearch(mang mang1, float giatri) 10 13.Kiểm thử thủ tục getTime(mang mang_input) 12 II.Gỡ rối 13 1.ASSERT1 dùng để kiểm tra xem việc nhập liệu vào mảng có khơng .13 2.ASSERT dùng để kiểm tra giá trị giải thuật tìm kiếm có kiểu liệu hay không .13 3.ASSERT dùng để kiểm tra việc nhập kích thước mảngcó u cầu hay khơng .14 Tài liệu tham khảo 16 I Kiểm thử Kiểm thử hàm mang nhap() a Trường hợp kiểm thử 1:nhập vào số phần tử số mà khơng phải số ngun • Dữ liệu kiểm thử: count = 3.5 • u cầu: Thơng báo nhập liệu khơng đúng, cho phép nhập lại • Kết quả:  Chương trình chạy khơng u cầu b Trường hợp kiểm thử 2:nhập vào số phần tử mảng số nguyên có giá trị lớn 1000 nhỏ • Dữ liệu kiểm thử: count = 1001 • Yêu cầu: In thông báo nhập liệu không cho phép nhập lại • Kết quả:  Chương trình chạy với yêu cầu c Trường hợp kiểm thử 3: Nhập vào số phần tử mảng số nguyên thuộc [1;1000] nhập liệu cho mảng có phần tử ký tự bất kỳ, khơng phải số • Dữ liệu kiểm thử: count = 7; max = {e;2.4;6;7.23;9;12.6;*); • u cầu: thơng báo liệu khơng cho phép nhập lại • Kết quả:  Chương tình chạy khơng với u cầu d Trường hợp kiểm thử 4: Nhập vào số phần tử mảng số nguyên thuộc [1;1000] nhập liệu cho mảng số thực nằm phạm vi kích thước kiểu float • Dữ liệu kiểm thử: count = max = {16.66;13.32;123;2;5;6.7} • Yêu cầu: Dữ liệu nhập, in thơng báo nhập liệu thành cơng • Kết quả:  Chương trình chạy với yêu cầu Kiểm thử thủ tục void hien(mang mang1) • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7} • Yêu cầu: In hình giá trị biến mang1 • Kết :  Chương trình chạy theo yêu cầu Kiểm thử hàm mang bubbleSort(mang mang1) • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} • Yêu cầu:trả mảng mang1.max xếp tăng dần mang1.max = {2;2;5;6.7; 13.32;13.32;16.66;123} • Kết quả:  Chương trình chạy theo yêu cầu Kiểm thử hàm mang insertionSort(mang mang1) • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} • Yêu cầu: trả mảng mang1.max xếp tăng dần mang1.max = {2;2;5;6.7; 13.32;13.32;16.66;123} • Kết quả:  Chương trình chạy theo yêu cầu Kiểm thử hàm mang selectionSort(mang mang1) • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} • Yêu cầu: trả mảng mang1.max xếp tăng dần mang1.max = {2;2;5;6.7; 13.32;13.32;16.66;123} • Kết quả:  Chương trình chạy theo yêu cầu Kiểm thử thủ tục void finMax(mang mang1) • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} • Yêu cầu: In giá trị lớn mảng 123, phần tử lớn phần tử thứ • Kết quả:  Chương trình chạy yêu cầu Kiểm thử thủ tục void finMin(mang mang1) • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} • Yêu cầu: In giá trị nhỏ mảng 2, phần tử lớn phần tử thứ 4, • Kết quả:  Chương trình chạy yêu cầu Kiểm thử hàm float avgMax(mang mang1) • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} Yêu cầu: Trả giá trị tb phần tử mảng: avg = 22.75 • Kết quả:  Chương trình chạy theo yêu càu Kiểm thử hàm float dolech(mang mang1, int i, int j) a Khơng có hai phần tử thứ i j: • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} i=10; j = 14 • u cầu: trả giá trị -3 ( khơng có phần tử thứ i= 10 j = 14) • Kết quả:  Chương trình chạy theo yêu cầu b Khơng có phần tử thứ i: • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} i= 12,j =3; • Yêu cầu: trả giá trị -2 ( khơng có phần tử thứ i = 12) • Kết quả:  Chương trình chạy theo yêu cầu c Khơng có phần tử thứ j: • Dữ liêu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} i = 3, j = 15; Yêu cầu: trả giá trị -1 ( khơng có phần tử thứ j =13) • Kết quả: •  Chương trình chạy theo u cầu d Có hai phần tử i j: • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} i = 3, j =6 • Yêu cầu: trả giá trị độ lệch hai phần tử 116.3 • Kết quả:  Chương trình chạy yêu cầu 10 Kiểm thử hàm float dolechtb(mang mang1) • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} • Yêu cầu: trả giá trị độ lệch trung bình phần tử mảng 108.16 • Kết quả:  Chương trình chạy với yêu cầu 11 Kiểm thử thủ tục void sequentialSearch(mang mang1, float x) a Trường hợp thử 1: khơng có phần tử có giá trị x • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} x = 35.5 • Yêu cầu: In hình số thể cho khơng tìm thấy phần tử • Kết quả:  Chương trình chạy với yêu cầu b Trường hợp thử 2: có phần tử có giá trị x • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} x = 16.66 • Yêu cầu: In vị trí số phần tử có giá trị x =16.66 • Kết quả:  Chương trình chạy với yêu cầu c Trường hợp thử 3: có nhiều phần tử có giá trị x • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} x = 13.32 • Yêu cầu: In đủ vị trí số phần tử có giá trị x= 13.32 • Kết quả:  Chương trình chạy với yêu cầu 12 Kiểm thử thủ tục void binarySearch(mang mang1, float giatri) a Trường hợp thử 1: khơng có phần tử có giá trị giatri • Dữ liệu kiểm thử: 10 mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} x = 35.5 • u cầu: In hình thơng báo khơng tìm thấy phần tử • Kết quả:  Chương trình chạy với yêu cầu b Trường hợp thử 2: có phần tử có giá trị giatri • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} x = 16.66 • Yêu cầu: In vị trí số phần tử có giá trị x =16.66 mảng xếp • Kết quả:  Chương trình chạy với yêu cầu c Trường hợp thử 3: có nhieu phần tử có giá trị giá trị • Dữ liệu kiểm thử: mang1.count = mang1.max = {16.66;13.32;123;2;5;6.7;13.32;2} x = 13.32 • Yêu cầu: In đủ vị trí số phần tử có giá trị x= 13.32 • Kết quả:  Chương trình chạy với yêu cầu 11 13 Kiểm thử thủ tục getTime(mang mang_input) Từ kết kiểm thử hàm thủ tục trên, xem thời gian thực hàm/thủ tục: 12  Chương trình chạy với yêu cầu II Gỡ rối 1.ASSERT1 dùng để kiểm tra xem việc nhập liệu vào mảng có khơng float ASSERT1( int chiso){ float a; char dulieu[10]; printf("\n nhap phan tu thu %3d max[%3d]= ", chiso+1, chiso); scanf("%s",&dulieu); fflush(stdin); if(strcmp(dulieu,"0")!=0){ a= atof(dulieu); if(a ==0){ printf("\n nhap sai!! moi ban nhap lai"); a= ASSERT1(chiso); return a; } else return a; } else { a=0; return a; } } 2.ASSERT dùng để kiểm tra giá trị giải thuật tìm kiếm có kiểu liệu hay không float ASSERT2(){ float a; char dulieu[10]; printf("\n Nhap so can tim y = "); scanf("%s",&dulieu); fflush(stdin); if(strcmp(dulieu,"0")!=0){ a= atof(dulieu); 13 if(a ==0){ printf("\n ban nhap y sai !!!moi ban nhap lai"); a= ASSERT2(); return a; } else return a; } else { a=0; return a; } } 3.ASSERT dùng để kiểm tra việc nhập kích thước mảngcó u cầu hay khơng int ASSERT3(){ int b; float a; char dulieu[10]; printf("\n Nhap so luong phan tu cua mang count = "); scanf("%s",&dulieu); fflush(stdin); if(strcmp(dulieu,"0")!=0){ a= atof(dulieu); b= atoi(dulieu); if(a ==0){ printf("\n ban da nhap so luong phan tu la ky tu"); printf("\n sai yeu cau moi ban nhap lai"); b= ASSERT3(); return b; } else{ if((a-b)!=0){ printf("\n ban da nhap so luong phan tu la kieu so thuc"); printf("\n sai yeu cau moi ban nhap lai"); b= ASSERT3(); return b; } else{ 14 if(b1000){ printf("\n ban da nhap so luong phan tu khong dung kich thuoc yeu cau"); printf("\n sai yeu cau moi ban nhap lai"); b= ASSERT3(); return b; } else return b; } } } else { b=0; return b; } } 15 Tài liệu tham khảo [1] Slide giảng KTLT-Vũ Thị Hương Giang [2] Code complete A Practical Handbook ofd Software Construction tác giả Steve Mc Connell 16 ... 10 13 .Kiểm thử thủ tục getTime(mang mang_input) 12 II .Gỡ rối 13 1.ASSERT1 dùng để kiểm tra xem việc nhập liệu vào mảng có khơng .13 2.ASSERT dùng để kiểm tra giá... tìm kiếm có kiểu liệu hay không .13 3.ASSERT dùng để kiểm tra việc nhập kích thước mảngcó yêu cầu hay không .14 Tài liệu tham khảo 16 I Kiểm thử Kiểm thử hàm mang... I .Kiểm thử 1 .Kiểm thử hàm mang nhap() 2 .Kiểm thử thủ tục void hien(mang mang1) 3 .Kiểm thử hàm mang bubbleSort(mang mang1) 4 .Kiểm thử hàm mang insertionSort(mang

Ngày đăng: 16/05/2015, 13:10

Từ khóa liên quan

Mục lục

  • Mục lục

  • I. Kiểm thử

    • 1. Kiểm thử hàm mang nhap().

    • 2. Kiểm thử thủ tục void hien(mang mang1).

    • 3. Kiểm thử hàm mang bubbleSort(mang mang1).

    • 4. Kiểm thử hàm mang insertionSort(mang mang1).

    • 5. Kiểm thử hàm mang selectionSort(mang mang1).

    • 6. Kiểm thử thủ tục void finMax(mang mang1).

    • 7. Kiểm thử thủ tục void finMin(mang mang1).

    • 8. Kiểm thử hàm float avgMax(mang mang1).

    • 9. Kiểm thử hàm float dolech(mang mang1, int i, int j).

    • 10. Kiểm thử hàm float dolechtb(mang mang1).

    • 11. Kiểm thử thủ tục void sequentialSearch(mang mang1, float x).

    • 12. Kiểm thử thủ tục void binarySearch(mang mang1, float giatri).

    • 13. Kiểm thử thủ tục getTime(mang mang_input).

    • II. Gỡ rối

      • 1. ASSERT1 dùng để kiểm tra xem việc nhập dữ liệu vào mảng có đúng không.

      • 2. ASSERT 2 dùng để kiểm tra giá trị ở 2 giải thuật tìm kiếm có đúng kiểu dữ liệu hay không

      • 3. ASSERT 3 dùng để kiểm tra việc nhập kích thước của mảngcó đúng yêu cầu hay không.

      • Tài liệu tham khảo

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan