1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(LUẬN VĂN THẠC SĨ) Kiểm định phần mềm theo tiếp cận hệ thống

74 2 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 1,25 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGH on Vn Trung Kiểm định phần mềm theo tiếp cËn hÖ thèng Luận văn thạc sỹ Hà Nội - 2007 - 73 - TIEU LUAN MOI download : skknchat@gmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGH on Vn Trung Kiểm định phần mềm theo tiếp cËn hƯ thèng Ngành : Cơng nghệ thơng tin Mã ngành: 1.01.10 Luận văn thạc sỹ Người hướng dẫn khoa học: PGS TSKH Nguyễn Xuân Huy Hà Nội - 2007 -1- TIEU LUAN MOI download : skknchat@gmail.com CHƢƠNG TỔNG QUAN VỀ KIỂM ĐỊNH PHẦN MỀM 1.1 Giới thiệu chung kiểm định phần mềm Các quy trình kỹ thuật kiểm định phần mềm vấn đề đƣợc nhà chuyên môn quản lý quan tâm, nhằm đáp ứng cho nhu cầu ngày cao kiểm định chất lƣợng ứng dụng cơng nghệ thơng tin nói chung cụ thể sản phẩm phần mềm lĩnh vực sống Kiểm định phần mềm phần quan trọng định trình phát triển phần mềm chất lƣợng độ tin cậy sản phẩm chuyển giao Kiểm định không giới hạn để phát lỗi phần mềm, mà tin cậy tăng lên chức chúng với đánh giá thuộc tính chức nhƣ thuộc tính khác [2] Kiểm định phần mềm hoạt động kiểm tra lực, khả phầm mềm bao gồm nhiều nhiệm vụ đòi hỏi khắt khe khác nhau: trƣớc hết nhiệm vụ xuất phát từ đầy đủ trƣờng hợp kiểm định thích hợp, theo kỹ thuật kiểm định phần mềm đƣợc chọn lựa có lợi có khả thực đƣợc Tuy nhiên, lựa chọn hình thức kiểm định điểm bắt đầu mà nhiều nhiệm vụ định khác thể mặt chuyên môn kỹ thuật khái niệm phức tạp: chặng hạn khả để chọn lựa kiểu kiểm định; định kết kiểm định chấp nhận đƣợc hay khơng; khơng đánh giá ảnh hƣởng cố lỗi chƣơng trình phát nguyên nhân trực tiếp nhƣ gián tiếp lỗi chúng, phân tích nguyên nhân bản; đánh giá kiểm định có khả dừng lại đƣợc, phụ thuộc lần lƣợt việc kiểm tra tiêu chuẩn đánh giá hiệu lực kiểm định Trong luận văn thuật ngữ kiểm định, kiểm tra kiểm thử đƣợc sử dụng với ý nghĩa 1.2 Khái niệm kiểm định phần mềm Kiểm định phần mềm phần mấu chốt đảm bảo chất lƣợng phần mềm biểu thị cho việc xét duyệt tối hậu đặc tả, thiết kế mã hóa -1- TIEU LUAN MOI download : skknchat@gmail.com Theo nghĩa thông thƣờng nhất, kiểm định phần mềm bao gồm việc "chạy thử" phần mềm hay chức phần mềm, xem chạy nhƣ mong muốn hay khơng Theo Glen Myers [15] kiểm định trình vận hành chƣơng trình với ý định tìm lỗi phần mền Một (lần) kiểm định tốt kiểm định có xác suất cao việc tìm lỗi chƣa đƣợc phát Một (lần) kiểm định thành công kiểm định làm lộ đƣợc lỗi cịn chƣa đƣợc phát 1.3 Quy trình kiểm định phần mềm Việc kiểm định phần mềm thực bƣớc, sau chức module đƣợc phát triển, thực sau cùng, phần mềm đƣợc phát triển hồn tất Quy trình kiểm định phần mềm bao gồm mức bƣớc kiểm tra nhƣ sau:  Kiểm định đơn vị  Kiểm định tích hợp  Kiểm định hệ thống  Kiểm định chấp nhận Hình 1.1 Các mức độ kiểm tra phần mềm -2- TIEU LUAN MOI download : skknchat@gmail.com 1.3.1 Kiểm định đơn vị Để hiểu rõ kiểm định đơn vị, khái niệm trƣớc tiên ta cần làm rõ: đơn vị phần mềm [2] Một đơn vị thành phần phần mềm nhỏ mà ta kiểm tra đƣợc Theo định nghĩa này, hàm, thủ tục, lớp, phƣơng thức đƣợc xem đơn vị Vì đơn vị đƣợc chọn để kiểm tra thƣờng có kích thƣớc nhỏ chức hoạt động đơn giản, khơng khó khăn việc tổ chức, kiểm tra, ghi nhận phân tích kết kiểm tra Nếu phát lỗi, việc xác định nguyên nhân khắc phục tƣơng đối dễ dàng khoanh vùng đơn thể đơn vị kiểm tra Một nguyên lý đúc kết từ thực tiễn: thời gian tốn cho kiểm định đơn vị đƣợc đền bù việc tiết kiệm nhiều thời gian chi phí cho việc kiểm tra sửa lỗi mức kiểm tra sau Kiểm định đơn vị thƣờng lập trình viên thực Cơng đoạn cần đƣợc thực sớm tốt giai đoạn viết code xuyên suốt chu kỳ phát triển phần mềm Thơng thƣờng, kiểm định đơn vị địi hỏi kiểm tra viên có kiến thức thiết kế code chƣơng trình Mục đích kiểm định đơn vị bảo đảm thông tin đƣợc xử lý xuất (khỏi đơn vị) xác, mối tƣơng quan với liệu nhập chức đơn vị Điều thƣờng đòi hỏi tất nhánh bên đơn vị phải đƣợc kiểm tra để phát nhánh phát sinh lỗi Một nhánh thƣờng chuỗi lệnh đƣợc thực thi đơn vị, ví dụ: chuỗi lệnh sau điều kiện if nằm then else nhánh Thực tế việc chọn lựa nhánh để đơn giản hóa việc kiểm tra qt hết đơn vị địi hỏi phải có kỹ thuật, đơi phải dùng thuật toán để thực Cũng nhƣ mức kiểm tra khác, kiểm định đơn vị đòi hỏi phải chuẩn bị trƣớc ca kiểm định kịch bản, định rõ liệu vào, bƣớc thực liệu mong chờ xuất Các ca kiểm định kịch nên đƣợc giữ lại để tái sử dụng Kiểm định đơn vị bao gồm kỹ thuật kiểm định sau:  Kiểm định hộp đen (black box)  Kiểm định hộp trắng (white box) -3- TIEU LUAN MOI download : skknchat@gmail.com 1.3.2 Kiểm định tích hợp Kiểm định tích hợp kết hợp thành phần ứng dụng kiểm tra nhƣ ứng dụng hoàn thành [15] Trong kiểm định đơn vị kiểm tra thành phần đơn vị riêng lẻ kiểm định tích hợp kết hợp chúng lại với kiểm tra giao tiếp chúng Kiểm định tích hợp có mục tiêu chính:  Phát lỗi giao tiếp xảy đơn vị  Tích hợp đơn vị đơn lẻ thành hệ thống nhỏ cuối nguyên hệ thống hoàn chỉnh chuẩn bị cho kiểm tra mức hệ thống Trong kiểm định đơn vị, lập trình viên cố gắng phát lỗi liên quan đến chức cấu trúc nội đơn vị Có số phép kiểm tra đơn giản giao tiếp đơn vị với thành phần liên quan khác, nhiên giao tiếp liên quan đến đơn vị thật đƣợc kiểm tra đầy đủ đơn vị tích hợp với thực kiểm định tích hợp Một chiến lƣợc cần quan tâm kiểm định tích hợp nên tích hợp dần đơn vị Một đơn vị thời điểm đƣợc tích hợp vào nhóm đơn vị khác tích hợp trƣớc hồn tất đợt kiểm định tích hợp trƣớc Lúc này, ta cần kiểm tra giao tiếp đơn vị thêm vào với hệ thống đơn vị tích hợp trƣớc đó, điều làm cho số lƣợng kiểm tra giảm nhiều, sai sót giảm đáng kể Có loại kiểm tra kiểm định tích hợp: Kiểm tra cấu trúc: Tƣơng tự kiểm định hộp trắng (kiểm tra nhằm bảo đảm thành phần bên chƣơng trình chạy đúng), trọng đến hoạt động thành phần cấu trúc nội chƣơng trình chẳng hạn lệnh nhánh bên Kiểm tra chức năng: Tƣơng tự kiểm định hộp đen (kiểm tra trọng đến chức chƣơng trình, khơng quan tâm đến cấu trúc bên trong), khảo sát chức chƣơng trình theo yêu cầu kỹ thuật Kiểm tra hiệu năng: Kiểm tra việc vận hành hệ thống -4- TIEU LUAN MOI download : skknchat@gmail.com Kiểm tra khả chịu tải: Kiểm tra giới hạn hệ thống 1.3.3 Kiểm định hệ thống Mục đích kiểm định hệ thống kiểm tra thiết kế tồn hệ thống (sau tích hợp) có thỏa mãn yêu cầu đặt hay không Kiểm định hệ thống bắt đầu tất phận phần mềm đƣợc tích hợp thành cơng Thơng thƣờng loại kiểm tra tốn nhiều công sức thời gian Trong nhiều trƣờng hợp, việc kiểm tra đòi hỏi số thiết bị phụ trợ, phần mềm phần cứng đặc thù, đặc biệt ứng dụng thời gian thực, hệ thống phân bố, hệ thống nhúng Ở mức độ hệ thống, ngƣời kiểm tra tìm kiếm lỗi, nhƣng trọng tâm đánh giá hoạt động, thao tác, tin cậy yêu cầu khác liên quan đến chất lƣợng toàn hệ thống Điểm khác then chốt kiểm định tích hợp kiểm định hệ thống kiểm định hệ thống trọng hành vi lỗi tồn hệ thống, cịn kiểm định tích hợp trọng giao tiếp đơn thể đối tƣợng chúng làm việc Thông thƣờng ta phải thực kiểm định đơn vị kiểm định tích hợp để bảo đảm Unit tƣơng tác chúng hoạt động xác trƣớc thực kiểm định hệ thống Kiểm định hệ thống kiểm tra hành vi chức phần mềm lẫn yêu cầu chất lƣợng nhƣ độ tin cậy, tính tiện lợi sử dụng, hiệu bảo mật Mức kiểm tra đặc biệt thích hợp cho việc phát lỗi giao tiếp với phần mềm phần cứng bên ngoài, chẳng hạn lỗi "tắc nghẽn" chiếm dụng nhớ Sau giai đoạn kiểm định hệ thống, phần mềm thƣờng sẵn sàng cho khách hàng ngƣời dùng cuối kiểm tra để chấp nhận dùng thử (Alpha/Beta Test) Địi hỏi nhiều cơng sức, thời gian tính xác, khách quan, kiểm định hệ thống thƣờng đƣợc thực nhóm kiểm tra viên hồn tồn độc lập với nhóm phát triển dự án Bản thân kiểm định hệ thống lại gồm nhiều loại kiểm tra khác nhau, phổ biến gồm:  Kiểm tra chức năng: bảo đảm hành vi hệ thống thỏa mãn yêu cầu thiết kế -5- TIEU LUAN MOI download : skknchat@gmail.com  Kiểm tra khả vận hành: bảo đảm tối ƣu việc phân bổ tài nguyên hệ thống (ví dụ nhớ) nhằm đạt tiêu nhƣ thời gian xử lý hay đáp ứng câu truy vấn,  Kiểm tra khả chịu tải: bảo đảm hệ thống vận hành dƣới áp lực cao (ví dụ nhiều ngƣời truy xuất lúc) Kiểm tra khả chịu tải tập trung vào trạng thái tới hạn, "điểm chết", tình bất thƣờng,  Kiểm tra cấu hình  Kiểm tra khả bảo mật: bảo đảm tính tồn vẹn, bảo mật liệu hệ thống  Kiểm tra khả phục hồi: bảo đảm hệ thống có khả khơi phục trạng thái ổn định trƣớc tình tài ngun liệu; đặc biệt quan trọng hệ thống giao dịch nhƣ ngân hàng trực tuyến Hình 1.2 Các loại kiểm tra khác Kiểm định hệ thống Nhìn từ quan điểm ngƣời dùng, kiểm tra quan trọng: bảo đảm hệ thống đủ khả làm việc môi trƣờng thực Lƣu ý không thiết phải thực tất loại kiểm tra nêu Tùy yêu cầu đặc trƣng hệ thống, tuỳ khả thời gian cho phép dự án, lập kế hoạch, trƣởng dự án định áp dụng loại kiểm tra -6- TIEU LUAN MOI download : skknchat@gmail.com 1.3.4 Kiểm định chấp nhận Thông thƣờng, sau giai đoạn kiểm định hệ thống kiểm định chấp nhận, đƣợc khách hàng thực (hoặc ủy quyền cho nhóm thứ ba thực hiện) [1] Mục đích kiểm định chấp nhận để chứng minh phần mềm thỏa mãn tất yêu cầu khách hàng khách hàng chấp nhận sản phẩm (và trả tiền toán hợp đồng) Kiểm định chấp nhận có ý nghĩa quan trọng, hầu hết trƣờng hợp, phép kiểm tra kiểm định hệ thống kiểm định chấp nhận gần nhƣ tƣơng tự, nhƣng chất cách thức thực lại khác biệt Đối với sản phẩm dành bán rộng rãi thị trƣờng cho nhiều ngƣời sử dụng, thông thƣờng thông qua hai loại kiểm tra gọi Alpha Test Beta Test Với Alpha Test, ngƣời sử dụng (tiềm năng) kiểm tra phần mềm nơi phát triển phần mềm, lập trình viên ghi nhận lỗi phản hồi, lên kế hoạch sửa chữa Với Beta Test, phần mềm đƣợc gửi tới cho ngƣời sử dụng (tiềm năng) để kiểm tra môi trƣờng thực, lỗi phản hồi gửi ngƣợc lại cho lập trình viên để sửa chữa Thực tế cho thấy, khách hàng không quan tâm không tham gia vào trình phát triển phần mềm kết kiểm định chấp nhận sai lệch lớn, phần mềm trải qua tất kiểm tra trƣớc Sự sai lệch liên quan đến việc hiểu sai yêu cầu nhƣ mong chờ khách hàng Ví dụ, đơi phần mềm xuất sắc vƣợt qua phép kiểm tra chức thực nhóm thực dự án, nhƣng khách hàng kiểm tra sau thất vọng bố cục hình nghèo nàn, thao tác không tự nhiên, không theo tập quán sử dụng khách hàng, v.v Gắn liền với giai đoạn kiểm định chấp nhận thƣờng nhóm dịch vụ tài liệu kèm, phổ biến nhƣ hƣớng dẫn cài đặt, sử dụng, v.v Mọi tài liệu kèm phải đƣợc cập nhật kiểm tra chặt chẽ -7- TIEU LUAN MOI download : skknchat@gmail.com CHƢƠNG CÁC KỸ THUẬT KIỂM ĐỊNH PHẦN MỀM 2.1 Kiểm định hộp trắng 2.1.1 Kiểm định hộp đen kiểm định hộp trắng Hộp đen hộp trắng phƣơng pháp kiểm định phần mềm: kiểm định hộp đen (black-box, chức năng) kiểm định hộp trắng (white-box , cấu trúc) [2] Kiểm định hộp đen thƣờng đƣợc hiểu theo nghĩa tập trung vào kiểm tra yêu cầu chức ứng dụng phần mềm Phần mềm đƣợc thực thi đầy đủ dải liệu đầu vào tập liệu đầu đƣợc xem xét xem có đắn khơng Cách thức để đạt đƣợc kết đầu hay bên “hộp” khơng cần quan tâm đến Kiểm định hộp đen coi hệ thống nhƣ hộp đen túy, khơng cần biết đến cấu trúc bên Mặc dù kiểm định hộp đen có nhiều ƣu điểm nhƣng thân chƣa đủ Trƣớc tiên, hệ thống đời thƣờng có nhiều loại liệu đầu vào khác nhau, điều dẫn tới bùng nổ ca kiểm định Ví dụ, chƣơng trình kiểm tra số dƣ tài khoản Ngân hàng (check-balancing) khoảng 100 dịng lệnh, ta chạy tập ca kiểm định tiêu biểu, nhƣng hệ thống lớn nhƣ hệ thống mô để đào tạo phi công lái máy bay 747 khơng thể kiểm tra chặt chẽ thông số đầu vào/đầu dựa kỹ thuật kiểm định hộp đen Thêm biết đƣợc phần mã lệnh chƣơng trình có thực kỹ thuật kiểm định hộp đen Các đoạn mã lệnh mà chƣa thực trình kiểm tra đƣợc ví nhƣ bom nổ chậm gói phần mềm Tất nhiên, đoạn mã lệnh chƣa thực nghĩa chƣa đƣợc test Một giải pháp cho vấn đề sử dụng kiểm tra hộp trắng bổ sung thêm cho kiểm tra hộp đen Chiến thuật kiểm tra hộp trắng bao gồm kiểm tra thiết kế nhƣ dòng mã lệnh phải đƣợc thực thi lần kiểm tra chức cách riêng biệt Kiểm định hộp trắng cho phép ngƣời kiểm tra xem xét bên trong, đặc biệt trọng thơng tin bên phần mềm để chọn liệu kiểm tra hiệu Kiểm định hộp trắng đòi hỏi phải có am hiểu bên chƣơng trình, kiểm định hộp đen dựa hiểu biết yêu cầu hệ thống nói chung -8- TIEU LUAN MOI download : skknchat@gmail.com mức sử dụng phƣơng pháp hộp đen (trình bày chƣơng 2) để sinh liệu đầu vào kiểm tra kết đầu theo đặc tả thuật toán Ở mức thấp, để thực kiểm thử cho thuật toán cần thiết kế trƣờng hợp kiểm thử với mục đích tìm lỗi mã lệnh Vì vậy, cần thâm nhập vào mã lệnh thuật toán áp dụng phƣơng pháp hộp trắng (chẳng hạn phƣơng pháp đƣờng dẫn sở) để phát sinh trƣờng hợp kiểm thử, xây dựng liệu kiểm thử tƣơng ứng Kiểm thử đơn vị Trong kiểm thử hộp trắng, giao diện ngƣời dùng đƣợc bỏ qua Các đầu vào đầu đƣợc kiểm thử trực tiếp mức mã kết đƣợc so sánh theo đặc tả Dạng kiểm thử bỏ qua chức chƣơng trình kiểm thử tập trung mã cấu trúc mã Các trƣờng hợp kiểm thử đƣợc sinh đảm bảo điều kiện đƣợc thực lần Sử dụng lƣu đồ cho chức module xếp mảng, xác định tất đƣờng dẫn cần đƣợc kiểm thử phát triển trƣờng hợp kiểm thử tƣơng ứng Các trƣờng hợp kiểm thử đƣợc thực độc lập nên liệu kiểm thử đƣợc nạp lại cho trƣờng hợp kiểm thử  Module Merge Sort Hình 3.2 – Minh hoạ thuật toán xếp MergeSort - 58 - TIEU LUAN MOI download : skknchat@gmail.com Module MergeSort có cấu trúc nhƣ sau: Merge: Module nối hai mảng xếp, miền kề sát mảng thành mảng đơn, mảng xếp Sau vùng hai miền đƣợc ghi đè mảng xếp Vì cần cung cấp không gian tạm thời tham số cho hàm : Hàm tách nhận vào miền chia thành hai nửa, đƣợc gọi đệ qui Split cho nửa, chứa nhiều phần tử sau nối hai nửa kề sát hàm nối MergeSort:Module giao diện ngƣời dùng cuối cho chức xếp Trong nhớ tạm thời đƣợc cấp phát sau hàm tách đƣợc gọi với tham số khởi tạo Giao diện module đƣợc thiết kế nhƣ sau: Mergesort(data(),size) Merge(data(), temp(), left, mid, right) Split(data(), temp(), left, right) Chúng ta khó để kiểm thử ba chức cách độc lập, MergeSort nhƣng đề xuất gọi phụ thuộc áp dụng kiểm thử tích hợp chức cách tích hợp từ xuống Split tích hợp từ dƣới lên Để dễ phát sinh trƣờng hợp kiểm thử quan sát kết áp dụng chiến lƣợc kiểm thử từ dƣới Merge lên: merge đƣợc kiểm thử trƣớc tất chức khác bị lỗi merge không làm việc Mã thuật toán MergeSort Public Sub MergeSort(data() As Integer,ByVal num As Integer) m_sort data, temp, 0, num - End Sub Private Sub split(data() As Integer, temp() As Integer,_ ByVal left As Integer, ByVal right As Integer) Dim mid As Integer 'thực đệ qui If (right > left) Then mid = (right + left) \ split data, temp, left, mid split data, temp, mid + 1, right merge data, temp, left, mid + 1, right End If End Sub - 59 - TIEU LUAN MOI download : skknchat@gmail.com Private Sub merge(data() As Integer, temp() As Integer,_ ByVal left As Integer, ByVal mid As Integer,_ ByVal right As Integer) Dim i As Integer Dim left_end As Integer Dim num_elements As Integer Dim tmp_pos As Integer 'nối phần tử left_end = mid - 1 tmp_pos = left num_elements = right - left + Do While ((left

Ngày đăng: 27/06/2022, 09:12

HÌNH ẢNH LIÊN QUAN

Bảng 2.2 – Vớ dụ cỏc lớp tương đương - (LUẬN VĂN THẠC SĨ) Kiểm định phần mềm theo tiếp cận hệ thống
Bảng 2.2 – Vớ dụ cỏc lớp tương đương (Trang 29)
Bảng 2. 3- Cỏc ký hiệu trong đồ thị nhõn quả - (LUẬN VĂN THẠC SĨ) Kiểm định phần mềm theo tiếp cận hệ thống
Bảng 2. 3- Cỏc ký hiệu trong đồ thị nhõn quả (Trang 32)
Từ đồ thị tạo ra bảng quyết định biểu diễn cỏc quan hệ giữa nguyờn nhõn và kết quả. Dữ liệu kiểm thử đƣợc sinh ra dựa trờn cỏc qui tắc trong cỏc bảng này - (LUẬN VĂN THẠC SĨ) Kiểm định phần mềm theo tiếp cận hệ thống
th ị tạo ra bảng quyết định biểu diễn cỏc quan hệ giữa nguyờn nhõn và kết quả. Dữ liệu kiểm thử đƣợc sinh ra dựa trờn cỏc qui tắc trong cỏc bảng này (Trang 32)
Bảng 0.4 – Vớ dụ bảng quyết định - (LUẬN VĂN THẠC SĨ) Kiểm định phần mềm theo tiếp cận hệ thống
Bảng 0.4 – Vớ dụ bảng quyết định (Trang 33)
Bảng 2.1 Minh hoạ cỏc thụng tin cần cho giao diện chƣơng trỡnh kiểm định hộp đen.  - (LUẬN VĂN THẠC SĨ) Kiểm định phần mềm theo tiếp cận hệ thống
Bảng 2.1 Minh hoạ cỏc thụng tin cần cho giao diện chƣơng trỡnh kiểm định hộp đen. (Trang 41)
S là bảng đặc tả ch oP nhƣ sau: - (LUẬN VĂN THẠC SĨ) Kiểm định phần mềm theo tiếp cận hệ thống
l à bảng đặc tả ch oP nhƣ sau: (Trang 58)
Bảng 3.2 – Cỏc trường hợp kiểm thử cho module Split - (LUẬN VĂN THẠC SĨ) Kiểm định phần mềm theo tiếp cận hệ thống
Bảng 3.2 – Cỏc trường hợp kiểm thử cho module Split (Trang 66)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w