Phụ LụcLời nói đầu5A.Chất lượng phần mềm và kiểm thử chất lượng phần mềm6I.Tìm hiểu về chất lượng phần mềm61.1Sơ lược về chất lượng phần mềm6Hình: Chất lượng dựa trên quá trình71.2Đảm bảo chất lượng phần mềm81.3Yếu tố quyết định Kiểm thử phần mềm9II.Các khái niệm cơ bản về kiểm thử92.1Khái niệm phần mềm92.2Lỗi phần mềm102.3Kiểm thử phần mềm102.4Các giai đoạn trong quá trình kiểm thử.112.5Chiến lược của kiểm thử phần mềm142.6Các nguyên tắc kiểm thử15III.Phương pháp xây dựng các tài liệu kiểm thử151.Test plan152.Test case16B.Xây dựng ứng dụng kiểm thử trên phần mềm Quản Lý Sinh Viên17I.Khảo sát hệ thống181.1Khảo sát181.2Các chức năng chính của hệ thống18II.Yêu cầu chức năng và phi chức năng của ứng dụng191.Yêu cầu chức năng201.1.Chức năng đăng nhập201.2.Chức năng quản lý sinh viên211.3.Chức năng Quản Lý Thi281.4.Chức năng Quản Lý Điểm Danh332.Yêu cầu phi chức năng372.1Tính bảo mật và an toàn372.2Tính ứng dụng372.3Tính toàn vẹn dữ liệu372.4Hiệu suất37I.Các tài liệu kiểm thử381.Test plan382.Test case482.1GUI test case482.2Functional test case603.Test report77
Trang 1Hà Nội 03 - 2013
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Đề tài: ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM VÀ ỨNG
DỤNG KIỂM THỬ PHẦN MỀM QUẢN LÝ
SINH VIÊN
Giảng viên hướng dẫn: ThS Nguyễn Hương Lan
Lớp : KHMT1-K4 Sinh viên thực hiện: Đào Thị Nhung
Mã SV:0441060017
Trang 2
Lời cảm ơn
Trong thời gian 4 tuần thực hiện báo cáo tốt nghiệp này Cùng với sự cố gắng
nỗ lục của bản thân Em Em xin chân thành cảm ơn các thầy giáo, cô giáo Khoa Côngnghệ thông tin của Trường Đại Học Công Nghiệp Hà Nội đã tạo điều kiện thuận lợicho em trong quá trình học tập 4 năm qua và trong quá trình thực hiện báo cáo thực tậptốt nghiệp này
Em xin gửi lời cảm ơn đặc biệt đến thạc sĩ Nguyễn Thị Hương Lan – Giảngviên khoa công nghệ thông tin đã nhiệt tình hướng dẫn và chỉ bảo em trong suốt thờigian thực hiện bản báo cáo
Hà Nội, ngày…….tháng…….năm 2013
Sinh Viên
Đào Thị Nhung
Trang 3Phụ Lục
Lời nói đầu 5
A Chất lượng phần mềm và kiểm thử chất lượng phần mềm 6
I Tìm hiểu về chất lượng phần mềm 6
1.1 Sơ lược về chất lượng phần mềm 6
Hình: Chất lượng dựa trên quá trình 7
1.2 Đảm bảo chất lượng phần mềm 8
1.3 Yếu tố quyết định - Kiểm thử phần mềm 9
II Các khái niệm cơ bản về kiểm thử 9
2.1 Khái niệm phần mềm 9
2.2 Lỗi phần mềm 10
2.3 Kiểm thử phần mềm 10
2.4 Các giai đoạn trong quá trình kiểm thử 11
2.5 Chiến lược của kiểm thử phần mềm 14
2.6 Các nguyên tắc kiểm thử 15
III Phương pháp xây dựng các tài liệu kiểm thử 15
1 Test plan 15
2 Test case 16
B Xây dựng ứng dụng kiểm thử trên phần mềm Quản Lý Sinh Viên 17
I Khảo sát hệ thống 18
1.1 Khảo sát 18
1.2 Các chức năng chính của hệ thống 18
II Yêu cầu chức năng và phi chức năng của ứng dụng 19
1 Yêu cầu chức năng 20
1.1 Chức năng đăng nhập 20
1.2 Chức năng quản lý sinh viên 21
1.3 Chức năng Quản Lý Thi 28
1.4 Chức năng Quản Lý Điểm Danh 33
2 Yêu cầu phi chức năng 37
Trang 42.1 Tính bảo mật và an toàn 37
2.2 Tính ứng dụng 37
2.3 Tính toàn vẹn dữ liệu 37
2.4 Hiệu suất 37
I Các tài liệu kiểm thử 38
1 Test plan 38
2 Test case 48
2.1 GUI test case 48
2.2 Functional test case 60
3 Test report 77
Trang 5Lời nói đầu
Cùng với sự phát triển nhanh chóng của ngành gia công phần mềm;ngànhkiểm thử phần mềmtại Việt Nam cũng đang có những bước phát triển vượt bậcvới hàng loạt các đơn hàngkiểm thử phần mềmtừ những tập đoànCNTT trên thế giới.Hiện nay, tỉ lệ lập trình viên / tester của Việt Nam là 5:1, tỉ lệ này thấp hơn nhiều sovới mức trung bình của thế giới là 3:1 Do đó những chuyênviênkiểm thử phần mềmcó tay nghề đang là nguồn nhân sự khan hiếm nhất trong lĩnhvực CNTT tại Việt Nam Chương trình đào tạo Chuyên viênkiểm thử phần mềmtrêncông nghệ HP đã ra đời nhằm mang đến cơ hội cho các sinh vên cũng như chuyênviên CNTT một con đường ngắn nhất & chuyên nghiệp nhất để trở thành một Chuyênviênkiểm thử phần mềm thực thụ đồng thời nắm bắt cơ hội nghề nghiệp “hot” nhấthiện nay
Các tác giả của cuốn sách nổi tiếng “The Art of Software Testing” – Nghệ thuậtkiểm thử phần mềm, Glenford J Myers, Tom Badgett, Todd M Thomas, CoreySandler đã khẳng định trong cuốn sách này rằng: “ Hầu hết các thành phần quan trọngtrong các thủ thuật của một nhà kiểm thử chương trình là kiến thức về cách để viết các
ca kiểm thử có hiệu quả” Việc xây dựng các test – case là một nhiệm vụ rất khó khăn
Để có thể xây dựng được tập các test case hữu ích cho kiểm thử, chúng ta cần rất nhiềukiến thức và kinh nghiệm
Đây chính là lý do thúc đấy em thực hiện đề tài này Mục đích của đề tài là tìmhiểu những kiến thức tổng quan nhất về chất lượng phần mềm, quản lý chất lượngphần mềm, kiểm thử và cách thiết kế các tài liệu test trong kiểm thử phần mềm Việcthực hiện đề tài sẽ giúp em tìm hiểu sâu hơn và lĩnh vực rất hấp dẫn này, vận dụngđược các kiến thức đã biết để có thể thiết kế được test plan, test case một cách có hiệuquả và áp dụng vào những bài toán thực tế
Bản báo cáo được hoàn thành dưới sự chỉ bảo tận tình của THs Nguyễn HươngLan Em hi vọng sẽ nhận được sự đóng góp ý kiến của các thầy cô và các bạn để bảnbáo cáo được hoàn thiện hơn
Em xin chân thành cám ơn
Trang 6A Chất lượng phần mềm và kiểm thử chất lượng phần mềm
I Tìm hiểu về chất lượng phần mềm
I.1 Sơ lược về chất lượng phần mềm
Chất lượng phần mềm là một khái niệm phức tạp, nó không thể so sánh mộtcách trực tiếp với chất lượng trong sản xuất.Trong sản xuất, khái niệm của chấtlượng được đưa ra là: “sản phẩm phát triển phải phù hợp với đặc tả của nó
Để xem xét chất lượng của 1 phần mềm ta cần căn cứ vào các tài liệu đặc tả yêucầu của phần mềm, bao gồm: yêu cầu của người sử dụng, yêu cầu người phát triển
Nhân tố quyết định đến chất lượng phần mềm: Gồm có 11 nhân tố và đượcphân thành 3 nhóm
Nhóm 1: Đặc trưng chức năng
- Tính đúng đắn (Thỏa mãn nhu cầu mong muốn của khách hàng)
- Tính tin tưởng được(Các chức năng thực hiện cần đáp ứng độ chính xácđòi hỏi)
- Tính hiệu quả (Tổng lượng nguồn lực tính toán, các yêu cầu đòi hỏi để thựchiện chức năng phải phù hợp)
- Tính toàn vẹn (Khả năng ngăn chặn các sự truy cập trái phép vào phần mềmhay cơ sở dữ liệu của hệ thống)
- Tính khả dụng (Khả năng học hỏi, nắm bắt chương trình, khả năng nhớ lâu)
Nhóm 2: Khả năng đương đầu với thay đổi
- Tính bảo trì được (Nỗ lực để xác định tìm kiếm 1 lỗi trong chương trình làchấp nhận được, dễ thay đổi và mở rộng)
- Tính mềm dẻo (Khả năng cải biên và mở rộng chương trình)
- Tính thử nghiệm được ( Công sức cần để kiểm thử chương trình và đảm bảochương trình có thể thực hiện các chương năng ở mức chấp nhận được)
Nhóm 3: Khả năng thích nghi với môi trường mới
Trang 7- Tính mang chuyển được (Công sức để chuyển phần mềm sang một môitrường khác đạt mức chấp nhận được)
- Tính sử dụng lại được (Khả năng phần mềm hoặc một bộ phần của nó cóthể sử dụng lại trong môi trường hay hệ thống khác)
- Tính liên lạc được (Khả năng hệ thống hoặc một bộ phận nào đó có thể sửdụng lại được trong hệ thống khác)
Đối với những hệ thống nhỏ, quản lý chất lượng vẫn rất quan trọng, nhưng vớimột cách tiếp cận đơn giản hơn được áp dụng Không cần thiết nhiều công việc giấy tờbởi vì một nhóm phát triển nhỏ có thể trao đổi trực tiếp Vấn đề then chốt chất lượngcho sự phát triển các hệ thống nhỏ là việc thiết lập một “văn hoá chất lượng” và bảođảm rằng tất cả các thành viên nhóm có tiếp cận một cách tích cực với chất lượng phầnmềm
Quản lý chất lượng phần mềm cho các hệ thống lớn có thể được chia vào 3 hoạtđộng chính
1 Sự đảm bảo chất lượng: sự thiết lập của một khung của tổ chức các thủtục và các chuẩn để hướng đến sản phẩm chất lượng cao
2 Lập kế hoạch chất lượng: Việc chọn lựa các thủ tục và các chuẩn thíchhợp từ khung này, được sửa chữa cho các dự án phần mềm riêng biệt
3 Kiểm soát chất lượng: Định nghĩa và đưa ra các quá trình để đảm bảorằng đội phát triển phần mềm phải tuân theo các thủ tục và các chuẩn chất lượng
dự án
Quản lý chất lượng cung cấp một kiểm tra độc lập trong quá trình phát triểnphần mềm Quá trình quản lý chất lượng kiểm tra mức độ thực hiện dự án để đảm bảorằng chúng phù hợp với các chuẩn và mục tiêu của tổ chức Đội đảm bảo chất lượngđộc lập với đội phát triển, vì vậy họ có thể tạo ra các cách nhìn nhận khác nhau vềphần mềm Họ báo cáo các vấn đề và khó khăn tới người quản lý có thẩm quyền trong
tổ chức
Trang 8Hình: Chất lượng dựa trên quá trình
Một đội độc lập chịu trách nhiệm đối với việc quản lý chất lượng và sẽ báo cáotới người quản lý dự án ở cấp cao hơn Đội quản lý chất lượng không được liên kết vớibất cứ nhóm phát triển riêng biệt nào nhưng nhận trách nhiệm cho việc quản lý chấtlượng Lý do cho việc này là người quản lý dự án phải duy trì ngân sách dự án và lậplịch dự án Nếu vấn đề xuất hiện, họ có thể bị lôi cuốn vào việc thoả hiệp chất lượngsản phẩm, vì vậy họ phải lập lịch Một đội quản lý chất lượng độc lập bảo đảm rằngmục tiêu tổ chức của chất lượng không bị thoả hiệp bởi ngân sách ngắn hạn và chi phílập lịch
I.2 Đảm bảo chất lượng phần mềm
Đảm bảo chất lượng phần mềm là các hoạt động nhằm mục tiêu là sản xuất raphần mềm có chất lượng cao Đáp ứng tối đa nhu cầu của khách hàng, đảm bảo cácsản phẩm được tạo ra là một phần mềm đạt chuẩn
Phải đảm bảo chất lượng phần mềm vì :
- Từ nhu cầu của khách hàng
- Từ nhà sản xuất: đảm bảo tính đồng đều của sản phẩm làm ra
- Giúp nhà phân tích có được đặc tả chất lượng cao
- Giúp nhà thiết kế có được thiết kế chất lượng cao
- Theo dõi chất lượng phần mềm
- Đánh giá ảnh hưởng của thay đổi về phương pháp luận và thủ tục lênchất lượng phần mềm
Việc đảm bảo chất lượng phần mềm thuộc trách nhiệm của:
- Các kỹ sư phần mềm
- Nhà quản lí dự án
- Khách hàng
Trang 9- Người bán hàng
- Những thành viên trong nhóm đảm bảo chất lượng phần mềm
Đảm bảo chất lượng là quá trình của việc định rõ làm cách nào để chất lượngsản phẩm có thể đạt được và làm thể nào để cho tổ chức phát triển biết phần mềm cóyêu cầu chất lượng ở cấp độ nào Đảm bảo chất lượng tiến trình có liên quan đầu tiênđến việc định ra hoặc chọn lựa các chuẩn sẽ được áp dụng cho quá trình phát triểnphần mềm hay sản phẩm phần mềm Như là một phần của quá trình đảm bảo chấtlượng, bạn có thể chọn lựa hoặc tạo ra các công cụ và các phương pháp để phục vụ chocác chuẩn này
Có 2 loại chuẩn có thể được áp dụng như là một phần của quá trình đảm bảochất lượng là:
Các chuẩn quá trình và chuẩn sản phẩm
1 Các chuẩn sản phẩm: Những chuẩn này áp dụng cho sản phẩm phần mềm phát
triển Chúng bao gồm các định nghĩa của đặc tả, như là cấu trúc của tài liệu yêu
cầu; các chuẩn tài liệu, như các tiêu đề giải thích chuẩn cho định nghĩa lớp đối tượng;
và các chuẩn mã để định rõ làm cách nào ngôn ngữ lập trình có thể được sử dụng
2 Các chuẩn quá trình: Những chuẩn này định ra quá trình nên được tuân theo trong
quá trình phát triển phần mềm Chúng có thể bao gồm các việc xác định các đặc tả.Quá trình thiết kế và kiểm định quá trình và một bản mô tả các tài liệu nên được ghilại trong giai đoạn của những quá trình này
I.3 Yếu tố quyết định - Kiểm thử phần mềm
Trang 10Kiểm thử phần mềm là quá trình vận hành chương trình để tìm ra lỗi Cần tìm
ra cách vận hành để hiệu suất tìm ra lỗi là cao và tiết kiệm chi phí nhất
Kiểm thử phần mềm đóng vai trò quan trong quá trình đảm bảo chất lượng phầnmềm nói riêng và trong quy trình phát triển phần mềm nói chung Kiểm thử giúp hạnchế các chi phi phải trả cho các thất bại do lỗi gây ra sau này Có được kế hoạch tốt đểnâng cao chất lượng phần mềm cho suốt quá trình phát triển Kiểm thử tốt sẽ giúpgiảm chi phí phát triển, tăng độ tin cậy của sản phẩm phần mềm, tăng cường uy tínchất lượng của công ty với các đối tác
II Các khái niệm cơ bản về kiểm thử
II.1 Khái niệm phần mềm
Phần mềm là một (bộ) chương trình được cài đặt trên máy tính nhằm thực hiệnmột nhiệm vụ tương đối độc lập nhằm phục vụ cho một ứng dụng cụ thể việc quản lýhọat động của máy tính hoặc áp dụng máy tính trong các họat động kinh tế, quốcphòng, văn hóa, giáo dục, giải trí,…
II.2 Lỗi phần mềm
Có rất nhiều định nghĩa khác nhau về lỗi phần mềm, nhưng nhìn chung, có thể
phát biểu một cách tổng quát: “Lỗi phần mềm là sự không khớp giữa chương trình và đặc tả của nó.”
Dựa vào định nghĩa, chúng ta có thể thấy lỗi phần mềm xuất hiện theo ba dạngsau:
Sai: Sản phẩm được xây dựng khác với đặc tả
Thiếu: Một yêu cầu đã được đặc tả nhưng lại không có trong sản phẩmđược xây dựng
Thừa: Một yêu cầu được đưa vào sản phẩm mà không có trong đặc tả.Cũng có trường hợp yêu cầu này có thể là một thuộc tính sẽ được người dùngchấp nhận nhưng khác với đặc tả nên vẫn coi là có lỗi
II.3 Kiểm thử phần mềm
Kiểm thử phần mềm là quá trình thực thi một hệ thống phần mềm để xác địnhxem phần mềm đó có đúng với đặc tả không và thực hiện trong môi trường như mongđợi hay không
Mục đích của kiểm thử phần mềm là tìm ra lỗi chưa được phát hiện, tìm mộtcách sớm nhất và đảm bảo rằng lỗi đã được sửa, mà kiểm thử phần mềm không làmcông việc chẩn đoán nguyên nhân gây ra lỗi đã được phát hiện và sửa lỗi
Trang 11Mục tiêu của kiểm thử phần mềm là thiết kế tài liệu kiểm thử một cách có hệthống và thực hiện nó sao cho có hiệu quả, nhưng tiết kiệm được thời gian, công sức
và chi phí
Định nghĩa về KTPM:
- Theo IEEE: Kiểm thử là tiến trình vận hành hệ thống hoặc thành phần dướinhững điều kiện xác định, quan sát hoặc ghi nhận kết quả và đưa ra đánh giá về hệthống hoặc thành phần đó
- Theo Glenford Myers: Kiểm thử là quá trình vận hành chương trình để tìm ralỗi Một ca kiểm thử tốt là ca kiểm thử có xác suất cao tìm ra một lỗi chưa được pháthiện Một ca kiểm thử thắng lợi là ca kiểm thư làm lộ ra được ít nhất một lỗi còn chưađược phát hiện ( The Art of Software Testing)
- Kiểm thử thành công là phát hiện ra lỗi, kiểm thử không phát hiện ra lỗi làkiểm thử dở (Sue A.Conger- The New Software Engineering)
II.4 Các giai đoạn trong quá trình kiểm thử.
Giai đoạn kiểm thử là quá trình kiểm tra sản phẩm phần mềm để tìm kiếm lỗi.Quy trình kiểm thử phần mềm được chia thành 4 giai đoạn:
o Kiểm thử đơn vị ( Unit Testing )
o Kiểm thử tích hợp ( Integraction Testing )
o Kiểm thử hệ thống ( System Testing )
o Kiểm thử chấp nhận ( Acceptance Testing )
Trang 12Hình 1, 4 giai đoạn trong quá trình kiểm thử.
Khi kiểm thử, nếu các lỗi được phát hiện tại bất kì mức nào , chúng đòi hỏichương trình phải gỡ lỗi và hiệu chỉnh cho chính xác, sau đó cần kiểm thử lại, tức làcần được lặp lại những kiểm thử nào đó ở mức trước Trong quy trình này, thông tinlỗi gặp phải hay mức độ tin cậy đạt được của chương trình ở mỗi giai đoạn sau đềuđược phản hồi về giai đoạn trước của tiến trình Vì vậy, tiến trình kiểm thử là tiến trìnhlặp
Trang 13H p đen, ộp
h p tr ng ộp ắng
H p đen, ộp
mô hình H p đen ộp N
g ường đích i ti n ết
hành
L p ập trình viên
Bảng 1, Bảng tổng hợp nội dung các mức kiểm thử.
Vòng đời của kiểm thử
Trang 14II.5 Chiến lược của kiểm thử phần mềm
Một chiến lược kiểm thử phần mềm là sự tích hợp các kỹ thuật thiết kế cácphép thử tạo thành một dãy các bước để hướng dẫn quá trình kiểm thử phần mềmthành công Nó đưa ra một bản đồ đường đi mô tả các bước trong quá trình kiểm thử
Vì thế, bất kỳ chiến lược kiểm thử nào cũng phải tích hợp được:
- Quan sát kết quả kiểm thử :
Thực hiện trong hoặc sau khi thực thi
So sánh kết quả nhận được với kết quả mong đợi
Trang 15Hình 2, Tiến trình kiểm thử phần mềm.
Chiến lược kiểm thử phần mềm phải đủ mềm dẻo để cổ vũ các cách tiếp cậnsáng tạo của người thực hiện Nhưng với tư cách là một tiến trình trong dự án , nócũng phải đủ chặt chẽ để hỗ trợ các kế hoạch và phương thức quản lý
Một chiến lược kiểm thử phải thích ứng với từng mức kiểm thử : các kiểm thửmức thấp (xác minh từng khúc mã nguồn xem có thực thi đúng đắn không), và cáckiểm thử mức cao ( thẩm định các chức năng hệ thống có đáp ứng yêu cầu khách hànghay không)
Có nhiều chiến lược kiểm thử phần mềm khác nhau như: Kiểm thử từ trênxuống, kiểm thử từ dưới lên, kiểm thử vụ nổ lớn, kiểm thử hồi quy… Các chiến lượckiểm thử khác nhau có thể tìm ra các loại lỗi khác nhau Vì thế, không thể tập trungvào một chiến lược kiểm thử mà bỏ qua các loại khác Các mức của quá trình kiểm thửcần được thực hiện tuần tự và bổ sung cho nhau nhằm tìm ra từng loại lỗi với cácphương pháp thích hợp
II.6 Các nguyên tắc kiểm thử
- Lập trình viên không nên thực hiện kiểm thử trên phần mềm mà mình đã viết
- Cần phải kiểm tra các chức năng mà phần mềm không thực hiện
- Tránh việc kiểm thử phần mềm với giả định rằng sẽ không có lỗi nào tìm thấy
- Ca kiểm thử ( Test case) phải được định nghĩa kết quả đầu ra rõ ràng
- Ca kiểm thử phải được lưu trữ và thực thi lại mỗi khi có sự thay đổi xảy ratrong hệ thống
III Phương pháp xây dựng các tài liệu kiểm thử
1 Test plan
Test plan là gì?
Một kế hoạch kiểm thử dự án phần mềm (test plan) là một tài liệu mô tả cácmục tiêu, phạm vi, phương pháp tiếp cận, và tập trung vào nỗ lực kiểm thử phần mềm.Quá trình chuẩn bị test plan là một cách hữu ích để suy nghĩ tới những nỗ lực cần thiết
để xác nhận khả năng chấp nhận một sản phẩm phần mềm Các tài liệu đã hoàn thành
sẽ giúp mọi người bên ngoài nhóm test hiểu được 'tại sao' và 'như thế nào' chấp nhậnsản phẩm Nó cần phải hoàn hảo đủ để dùng được nhưng không đủ hoàn hảo vì không
Trang 16ai bên ngoài nhóm test sẽ đọc nó Sau đây là một số hạng mục có thể được bao gồmtrong một test plan, tùy thuộc vào từng dự án cụ thể:
- Tiêu đề
- Định nghĩa version của phần mềm (version release)
- Lưu lại quá trình hiệu chỉnh tài liệu như tác giả, ngày cập nhật, duyệt
- Mục lục
- Mục đích của tài liệu, ý kiến chung
- Mục tiêu của chi phí kiểm thử (test)
- Giới thiệu tổng quan về sản phẩm
- Danh sách tài liệu liên quan như spec, tài liệu thiết kế, các kế hoạchtest khác,
- Các tiêu chuẩn thích hợp, các yêu cầu hợp lệ
- Nguồn gốc của các sự thay đổi
- Phân tích rủi ro của dự án
- Các vấn đề ưu tiên và tập trung test
- Phạm vi và giới hạn test
- Test tự động - giải thích và tổng quan
- Các công cụ test được sử sụng, bao gồm các version, bản vá lỗi, v.v
- các qui trình bảo trì và quản lý version của test script/test code
- Theo dõi và giải quyết vấn đề - Các công cụ và qui trình
- Các thước đo về test sản phẩm được sử dụng
- Báo cáo các yêu cầu và khả năng giao test
- Điều kiện đầu vào và đầu ra của phần mềm
- Giai đoạn và điều kiện test ban đầu
- Điều kiện dừng test và test lại
Trang 17a. Khái niệm
Thiết kế test – case trong kiểm thử phần mềm là quá trình xây dựng các phươngpháp kiểm thử có thể phát hiện lỗi, sai sót, khuyết điểm của phần mềm để xây dựngphần mềm đạt tiêu chuẩn
c. Quy trình thiết kế test case
Một trong những lý do quan trọng nhất trong kiểm thử chương trình là thiết kế
và tạo ra các ca kiểm thử - các Test case có hiệu quả Với những ràng buộc về thờigian và chi phí đã cho, thì vấn đề then chốt của kiểm thử trở thành:
Tập con nào của tất cả ca kiểm thử có thể có khả năng tìm ra nhiều lỗi nhất?
Thông thường, phương pháp kém hiệu quả nhất là kiểm tra tất cả đầu vào ngẫunhiên – quá trình kiểm thử một chương trình bằng việc chọn ngẫu nhiên một tập concác giá trị đầu vào có thể Về mặt khả năng tìm ra nhiều lỗi nhất, tập hợp các ca kiểmthử được chọn ngẫu nhiên có rất ít cơ hội là tập hợp tối ưu hay gần tối ưu Sau đây làmột số phương pháp để chọn ra một tập dữ liệu kiểm thử một cách thông minh
Để kiểm thử hộp đen và kiểm thử hộp trắng một cách thấu đáo là không thể Do
đó, một chiến lược kiểm thử hợp lý là chiến lược có thể kết hợp sức mạnh của cả haiphương pháp trên: Phát triển 1 cuộc kiểm thử nghiêm ngặt vừa bằng việc sử dụng cácphương pháp thiết kế ca kiểm thử hướng hộp đen nào đó và sau đó bổ sung thêmnhững ca kiểm thử này bằng việc khảo sát tính logic của chương trình, sử dụngphương pháp hộp trắng
Những chiến lược kết hợp đó bao gồm:
H p đen ộp đen H p tr ng ộp đen ắng
1 Phân vùng t ươn vị ng đ ươn vị ng
2 Phân tích giá tr biên ị
3 Đ th nguyên nhân – k t qu ồ thị nguyên nhân – kết quả ị ết ả chức
4 Đoán l i ỗi
1 Bao ph câu l nh ủ câu lệnh ệ thống
2 Bao ph quy t đ nh ủ câu lệnh ết ị
3 Bao ph đi u ki n ủ câu lệnh ềm, môi ệ thống
4 Bao ph đi u ki n – quy t đ nh ủ câu lệnh ềm, môi ệ thống ết ị
Trang 185 Bao ph đa đi u ki n ủ câu lệnh ềm, môi ệ thống
Mỗi phương pháp có những ưu điểm cũng như khuyết điểm riêng, do đó để cóđược tập các ca kiểm thử tối ưu, chúng ta cần kết hợp hầu hết các phương pháp Quytrình thiết kế các ca kiểm thử sẽ bắt đầu bằng việc phát triển các ca kiểm thử sử dụngphương pháp hộp đen và sau đó phát triển bổ sung các ca kiểm thử cần thiết vớiphương pháp hộp trắng
Tuy nhiên trong phạm vi của bản báo cáo này tôi xin phép được sử dụng cách
xây dựng test case bằng phương pháp hộp đen.
B Xây dựng ứng dụng kiểm thử trên phần mềm Quản Lý Sinh Viên
I Khảo sát hệ thống
I.1 Khảo sát
Phần mềm quản lý sinh viên là ứng dụng cung cấp các chức năng quản lý sinhviên của trường ThangLong-aptech Các chức năng này phục vụ cho phòng giáo vụtrong việc quản lý sinh viên và quá trình học của họ
Trong trung tâm đào tạo lập trình viên ThăngLong - aptech, mỗi sinh viên bắtđầu nhập trường phải nộp một bộ hồ sơ thông tin cá nhân (bao gồm : Tên, ngày sinh,giới tính, nơi sinh, số điện thoại, địa chỉ ) Trước tiên, giáo vụ tiến hành kiểm traxem hồ sơ có đầy đủ thông tin giấy tờ và có hợp lệ hay không Nếu thiếu thông tin,giấy tờ thì yêu cầu học sinh nộp bổ sung Ngược lại nếu hợp lệ thì thu lại hồ sơ làm thủtục ký xác nhận cho học sinh Giáo vụ sẽ nhập thông tin về học sinh (thông qua hồ sơ).Sau khi nhà trường tiến hành xếp lớp cho học sinh Mỗi năm sẽ có một khóa học mớiđược tuyển
Trong quá trình giảng dạy, nhà trường sẽ tổ chức thi kết thúc môn cho các sinhviên trong trường Các giáo vụ cố thể nhập điểm thi cho các thí sinh theo lớp hoặc theotừng sinh viên Thông tin chung gồm có ( tên môn thi, phòng thi, ngày thi, thời gianthi, gv coi thi, gv chấm thi Sau khi nhập điểm thi, giáo vụ có thể tra cứu điểm thi theotên môn thi, tên sinh viên hoặc tên lớp Bảng điểm sẽ được hiển thị và xuất ra fileexcel khi cần
Để tiện theo dõi tình hình hình tập của sinh viên Hàng ngày, đối với từng mônhọc, giáo vụ sẽ điểm danh từng sinh viên Việc điểm danh thường được thực hiện theo
Trang 19từng lớp học Những sinh viên mà không thực hiện đầy đủ thời gian trên lớp sẽ bị cấmthi theo quy định của nhà trường.
Ngoài thông tin về sinh viên, hệ thống có lưu trữ thông tin về giảng viên Baogồm: mã giảng viên, tên giảng viên, tên môn dạy, tên lớp dạy, thời gian dạy…
I.2 Các chức năng chính của hệ thống
Các use case được mô tả như bảng dưới đây
ST
T
1 Quản lý sinh viên Chức năng cho phép user quản lý thông
tin sinh viên, bao gồm xem, thêm mới,sửa, và xóa thông tin sinh viên
User có thể thêm mới từng sinh viênhoặc import từ file excel
2 Quản lý thi Chức năng cho phép user nhập điểm thi
cho từng sinh viên, và / hoặc theo từnglớp
User cũng có thể tra cứu điểm của sinhviên và export ra file theo template quyđịnh của trường
3 Điểm danh User có thể xem thông tin điểm danh của
sinh viên, và thực hiện điểm danh trong
1 khoảng thời gian xác định
Trang 20II Yêu cầu chức năng và phi chức năng của ứng dụng
Trong phạm vi của bài báo cáo này chỉ mô tả một số chức năng chính củachương trình Các môn học theo quy định đã có sẵn, cho phép người dùng lựa chọn,không phải là đối tượng quản lý của chương trình
1 Yêu cầu chức năng
1.1 Chức năng đăng nhập
Màn hình sau khi đăng nhập
Sau khi user login thành công sẽ hiển thị màn hình như sau
Trang 21Hình 3.2: Màn hình sau khi login
Lúc này user có thể sử dụng các chức năng thông qua menu hoặc tool barbutton tương ứng trên màn hình Các tool bar button sẽ hiển thị tooltip để hỗ trợ khiuser di chuột lên
Các menu chính sẽ gồm có các menu con như sau:
- Sinh viên
Thông tin sinh viên: sẽ mở ra màn hình [Sinh viên]
Import dữ liệu Excel: sẽ mở ra màn hình [Nhập sinh viên từ Excel]
Toolbar: sẽ ẩn hoặc hiện toolbar
Status bar: sẽ ẩn hoặc hiện status bar
- Hệ thồng
Đóng tất cả cửa sổ: đóng tất cả các cửa sổ đang mở của chương trình
Thoát chương trình: để tắt chương trình Sẽ phải hiển thị message đểconfirm “Bạn chắc chắn muốn thoát không?” với button [Yes / No]
Tên các màn hình đang mở: có thể chọn để active 1 màn hình đang mở
Trang 22- Giúp đỡ
Giúp đỡ từ hệ thống: sẽ hiển thị màn hình tra cứu để hỗ trợ user
Thông tin phần mềm: sẽ hiển thị màn hình thông tin liên quan đến phầnmềm
1.2 Chức năng quản lý sinh viên
User quản lý thông tin sinh viên: xem, thêm mới, sửa, và xóa thông tin sinh viên.User có thể thêm mới từng sinh viên hoặc import từ file excel có sẵn theo quy định.Thông tin sinh viên
Màn hình hiển thị
Hình 3.2.1.1-1: Màn hình [Sinh viên] khi mới mở
Trang 23Hình 3.2.1.1-2: Màn hình [Sinh viên] khi thực hiện Sửa
Hình 3.2.1.1-3: Màn hình [Sinh viên] khi thực hiện Thêm
đ ược c
C
h c ức năng
b n ị ẩn ẩn
Thông báo
hi n th ển thị ị ẩn
Trang 24và tổng số sinh viên.
1.
[Thêm sinh viên]
2 [Tìm kiếm sinh viên].
Nếu dữ liệu không hợp lệ thì hiển thị thông báo cho người dùng, không lưu vào DB, đồng thời đặt con trỏ vào vị trí của ô sai đầu tiên.
Nếu sinh viên thêm mới có [Mã sinh viên] đang tồn tại thì coi là bị trùng, sẽ không lưu vào DB mà hiển thị thông
3 Thông báo “
Có l i x y ra nên ỗi ả chức không l u đ ư ượp c thông tin Hãy kh i ở đối
đ ng l i h th ng ộp ại hình ệ thống ống
Trang 25báo cho người dùng, đồng thời đặt con trỏ vào ô [Mã sinh viên].
và làm l i” v i ại hình ới button [OK] Sau đó không đ ượp c t ực
đ ng t t ch ộp ắng ươn vị ng trình, mà quay l i ại hình màn hình tr ưới c đó 3
Trước khi lưu thì hiển thị thông báo để xác nhận với người dùng
1 [Lưu]
2.[Hủy]
thực hiện giống như khi [Thêm].
1.
[Thê m]
Thông báo xác nhận:
“Bạn có muốn xóa sinh viên này không” với button [Yes / No]
Yêu cầu xác minh đối với dữ liệu
Trang 26đa buộc
Tên đầy đủ Tự động hiển thị họ, đệm và
tên Luôn disable
Label
Mã portal Mã sinh viên khi học các lớp
theo chương trình của Aptech
Combo box
Lớp tạm Lớp đăng ký học tạm thời Text box 6
Lớp đầu tiên Lớp đăng ký học đầu tiên Text box 6
Lớp hiện tại Lớp đang theo học Text box 6
Khóa học Chỉ được chọn, gồm: DIM,
Ngày tham gia Có thể input hoặc chọn Calendar
TLA mail Địa chỉ email của trường Text box 128
Ghi chú của giáo vụ Ghi chú của giáo vụ Text box
Ghi chú của tuyển sinh Ghi chú của tuyển sinh Text box
Số ĐT di động Số điện thoại di động Text box 15
Số ĐT cố định Số điện thoại cố định Text box 15
E-mail Địa chỉ email cá nhân Text box
Địa chỉ Địa chỉ cá nhân Text box 128
Địa chỉ liên hệ Địa chỉ hiện tại Text box 128
Trang 27- Import sinh viên từ file excel
Sẽ thông báo lỗi nếu:
1 Đường dẫn của file Excel không tìm thấy
2 File Excel không đúng quy định (sai định dạng)
1’ Thông báo lỗi: “Không tìm thấy file, hãy chọn lại file” với button [OK]
2’.Thông báo lỗi “File được chọn không hợp lệ, hãy chọn lại file” với button [OK]
Nếu tiếp tục nhập thì sẽ xóa danh sách đang có và hiển thị danh sách mới.
Khi lưu nếu gặp thông tin không hợp
lệ thì thông báo cho người dùng và dừng xử lý tại bản ghi đó.
1 Có dữ liệu không hợp lệ khi lưu
2 Có dữ liệu đang tồn tại trong hệ thống khi lưu
3 Không thể lưu dữ liệu vào DB
1’ Thông báo “Có dữ liệu nhập không hợp lệ, hãy nhập lại” với button [OK].
2’ Thông báo “<Mã sinh viên> sinh viên này đã có, hãy kiểm tra
và nhập lại” với button [OK] 3’ Thông báo lỗi: “ Có lỗi xảy
ra nên không lưu được thông tin Hãy khởi động lại hệ thống và làm lại” với button [OK] Sau
đó không được tự động tắt chương trình, mà quay lại màn hình trước đó.
Trang 281.3 Chức năng Quản Lý Thi
a Nhập điểm
Màn hình hiển thị
Figure 3.3.1-1: Màn hình [Nhập điểm] khi mới mở
Figure 3.3.1-2: Màn hình [Nhập điểm] khi đã chọn lớp và thêm sinh viên khác
Trang 29Nếu không tìm thấy lớp thì sẽ hiển thị danh sách trống.
Nếu sinh viên đã có trong danh sách thì không thêm vào và cũng không hiển thị thông báo
Nếu không tìm thấy thì cũng không hiển thị thông báo.
mà chỉ có thể thêm các thông tin về
Số máy, Điểm và Ghi chú.
Hiển thị thông báo khi xóa dòng cuối cùng trong danh sách
li u tr ệ thống ưới c khi l u vào DB ư
Thông báo l i n u: ỗi ết
1 Thi u thông tin b t bu c khi ết ắng ộp
đ u tiên b thi u>, hãy nh p l i” ần mềm, môi ị ết ập ại hình
v i button [OK] ới.
2’ Warning thông báo
“Có d li u nh p không h p l , ữ ệ thống ập ợp ệ thống hãy nh p l i” v i button [OK] ập ại hình ới.
3’ Error thông báo “ Có
l i x y ra nên không l u đ ỗi ả chức ư ượp c thông tin Hãy kh i đ ng l i h ở đối ộp ại hình ệ thống
th ng và làm l i” v i button ống ại hình ới [OK] Sau đó không đ ượp c t ực
Trang 31Figure 3.3.2.1-2: Màn hình [Tra cứu điểm] khi đã lọc
mã sinh viên, l p, lo i hình thi ới ại hình
2 Ch n nút [L c] ọn ọn Hi n th thông tin đi m ểm thử độc lập ị ểm thử độc lập
thi liên quan d ưới i d ng danh ại hình sách.
3 Ch n nút [Nh p l i] ọn ập ại hình Xóa các tiêu chí mu n ống
xem.
4 Có th thay đ i đ r ng c a ểm thử độc lập ổi được độ ộp ộp ủ câu lệnh
c t trong danh sách, nh ng không ộp ư
th s a d li u đang hi n th ểm thử độc lập ử độc lập ữ ệ thống ểm thử độc lập ị
5 Ch n [Export all] ọn Hi n th ra màn hình ểm thử độc lập ị
[Save As] c a Windows, th c ủ câu lệnh ực
hi n export t t c thông tin ệ thống ấp ả chức đang hi n th trên danh sách ra ểm thử độc lập ị
Trang 327 Double click lên 1 b n ghi ả chức
trong danh sách sẽ
Hi n th ra màn hình ểm thử độc lập ị [B ng đi m] c a sinh viên đó ả chức ểm thử độc lập ủ câu lệnh
c Chức năng hiển thị bảng điểm
Màn hình hiển thị
Figure 3.3.3.1: Màn hình [Bảng điểm] khi mới mở
Mô tả chức năng
Click vào column header để thay đổi cách sort data
Chỉ có thể xem, không thể edit data đang hiển thị
Click button [To Excel] để hiển thị ra màn hình [Save As] của Windows, thực hiệnexport tất cả thông tin điểm đang hiển thị trên màn hình ra Excel file
Trang 331.4 Chức năng Quản Lý Điểm Danh
Màn hình hiển thị
Figure 3.4.1.1-1: Màn hình [Quản lý điểm danh] khi mới mở
Figure 3.4.1.1-2: Màn hình [Quản lý điểm danh] khi thực hiện điểm danh mới
Vùng hiển thị list sinh viêntrong lớp và tình hình điểm danhtrong khoảng thời gian xác định
Vùnghiển thị list các
ngày trong
khoản thời giân
đã chọn
Trang 34Mô tả chức năng
S
TT
Ng ười i dùng
H th ng ệ thống ống C
N kích
ho t ạt
C N n ẩn
Tin
nh n thông ắng báo
1
.
Xem thông tin đi m ểm thử độc lập
danh theo môn
danh sinh viên
c a l p đ ủ câu lệnh ới ượp c
ch n ọn
Nh ng ngày đã th c ữ ực
hi n đi m danh sẽ hi n th ệ thống ểm thử độc lập ểm thử độc lập ị màu cam, ch a đi m danh sẽ ư ểm thử độc lập
đi m danh ểm thử độc lập
2.2’ Update thông tin
đi m danh cho các ngày đang ểm thử độc lập
hi n th trong danh sách và ểm thử độc lập ị
l u l i N u l u thành công ư ại hình ết ư
sẽ hi n th thông báo cho ểm thử độc lập ị
ng ường đích i dùng, v n gi nguyên ẫn giữ nguyên ữ
hi n th ểm thử độc lập ị
Thông báo cho ng ường đích i dùng n u có m t s l i nh ết ộp ống ỗi ư sau:
- Khi [T ngày] > [Đ n ừ ngày] > [Đến ết
B utton [Điểm thử độc lập m danh
m i] ới.
- Thông báo
“Giá trị
c a ngày ủ câu lệnh tháng sau
ph i l n ả chức ới.
h n ho c ơn vị ặc tả chức
b ng ngày ằng ngày tháng
tr ưới c” v i ới button [OK].
- Warning thông báo
“Giá trị
c a ngày ủ câu lệnh tháng không
đ ượp c là ngày
t ươn vị ng lai”
Trang 35ngày]: d ng x lý ừ ngày] > [Đến ử độc lập
- Khi ch n ngày t ọn ươn vị ng lai:
d ng x lý ừ ngày] > [Đến ử độc lập
- Không th l u d li u vào ểm thử độc lập ư ữ ệ thống DB
v i button ới [OK].
- Error thông báo
“ Có l i x y ỗi ả chức
ra nên không l u ư
đ ượp c thông tin Hãy kh i ở đối
đ ng l i ộp ại hình
h th ng ệ thống ống
và làm l i” ại hình
v i button ới [OK] Sau
đó không
đ ượp c t ực
đ ng t t ộp ắng
ch ươn vị ng trình, mà quay l i ại hình màn hình
hi n th 3.2’ L u l i k t qu ểm thử độc lập ị ư ại hình ết ả chức
đi m danh ểm thử độc lập
N u ch a ch n ngày ết ư ọn
đi m danh thì màn hình sẽ ểm thử độc lập không thay đ i hi n th ổi được độ ểm thử độc lập ị
Trang 365 Th c ực
hi n các thao ệ thống
tác v i danh ới.
sách
Cho phép thay đ i b ổi được độ ềm, môi
r ng c t c a danh sách đang ộp ộp ủ câu lệnh
c t trong danh sách ộp
[ Điể m dan h mới]
Trang 372 Yêu cầu phi chức năng
Môi trường tối thiểu để chạy chương trình:
- Phần cứng: chipset 1GHz, Ram 512 MB, Network 10 Mb/s
- Phần mềm: OS từ XP trở lên, Net framework 3.5, MS Office 2000
- Database server: MS SQL server 2008
Đảm bảo phân quyền theo người sử dụng
- Hệ thống cần đáp ứng được cho 10 đến 20 user cùng sử dụng
- Thiết kế màn hình cần đơn giản, phù hợp với các chuẩn màn hình thông dụng vàthói quen sử dụng các chương trình Windows
- Ngôn ngữ sử dụng: tiếng Việt có dấu, hạn chế dùng tiếng Anh
- Khi có nhiều hơn 1 user cùng thay đổi 1 data trong DB thì chỉ user đầu tiên thựchiện được bình thường Đối với các user khác sẽ không lưu lại thay đổi mà hiển thịthông báo và yêu cầu thực hiện lại xử lý
- Yêu cầu thời gian mở 1 màn hình bất kỳ không được chậm hơn 2 giây, và xử lýlưu thông tin của 20 bản ghi không được chậm hơn 3 giây
Trang 38I Các tài liệu kiểm thử