Tải bản đầy đủ (.docx) (80 trang)

ĐẢ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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.06 MB, 80 trang )

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

ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM VÀ ỨNG DỤNG KIỂM THỬ PHẦN MỀM Q
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

Hà Nội 03 - 2013

1


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ông
nghệ 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ợi
cho 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ập tố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ảng
viê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ời
gian 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

2


Phụ Lục

3


Lờ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ành kiểm thử phần mềm tại Việt Nam cũng đang có những bước phát triển vượt bậc
với hàng loạt các đơn hàng kiểm thử phần mềm từ 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 so
với mức trung bình của thế giới là 3:1. Do đó những chuyên
viên kiểm thử phần mềm có tay nghề đang là nguồn nhân sự khan hiếm nhất trong lĩnh
vực CNTT tại Việt Nam. Chương trình đào tạo Chuyên viên kiểm thử phần mềm trên
công nghệ HP đã ra đời nhằm mang đến cơ hội cho các sinh vên cũng như chuyên
viên CNTT một con đường ngắn nhất & chuyên nghiệp nhất để trở thành một Chuyên
viên kiểm thử phần mềm thực thụ đồng thời nắm bắt cơ hội nghề nghiệp “hot” nhất
hiện nay.
Các tác giả của cuốn sách nổi tiếng “The Art of Software Testing” – Nghệ thuật
kiểm thử phần mềm, Glenford J. Myers, Tom Badgett, Todd M. Thomas, Corey
Sandler đã khẳng định trong cuốn sách này rằng: “ Hầu hết các thành phần quan trọng
trong 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ều
kiế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ìm
hiể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ượng
phầ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ệc
thự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ệu
quả 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ương
Lan. 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ản
báo cáo được hoàn thiện hơn.
Em xin chân thành cám ơn.

4


A.
I.
I.1

Chất lượng phần mềm và kiểm thử chất lượng phần mềm
Tìm hiểu về chất lượng phần mềm
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ột

cá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ất
lượ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ó
“( Crosby, 1979)

Chất lượng phần mềm là sự đáp ứng yêu cầu chức năng, sự hoàn thiện và các
chuẩn được phát triển, các đặc trưng phổ biến của 1 phần mềm chuyên nghiệp.
Một phần mềm tốt là một phần mềm đảm bảo được các yêu cầu: Tính đúng đắn,

tin cậy, tính bền vững, tính hiệu quả, tính thân thiện. Đáp ứng được các yêu cầu của
khách hàng. Đảm bảo được các tiêu chuẩn, phù hợp về mọi mặt: năng lực, chi phí....
Để 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êu
cầ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à được
phâ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ực
hiệ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ềm
hay 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ảo
chươ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
-


5

Tính mang chuyển được (Công sức để chuyển phần mềm sang một môi
trườ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ới
mộ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ượng
cho 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ần
mề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ích
hợ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ảo
rằ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ển
phầ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ảo

rằ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.

6


Hì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áo
tớ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ới
bấ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ất
lượ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ập
lị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ượng
sả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ằng
mụ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 ra
phầ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ác
sả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ên
chấ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
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ượng
sả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ển
phầ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ất
lượ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ụ
cho các chuẩn này.

7


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ảo
chấ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 ghi
lạ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

Kiể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ần
mề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ạn
chế 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úp
giả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ín
chấ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

8


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ện
mộ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ốc
phò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ạng
sau:



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ùng
chấ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 định
xem 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ột
cá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àm
cô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.
Mụ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ưới
nhữ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 ra
lỗ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át

9


hiệ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
o
o
o

10

Kiểm thử đơn vị ( Unit Testing )
Kiểm thử tích hợp ( Integraction Testing )
Kiểm thử hệ thống ( System Testing )
Kiểm thử chấp nhận ( Acceptance Testing )


Hì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ỏi
chươ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 tin
lỗ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ình
lặp.

11


Bảng tổng hợp các mức kiểm thử:

Lo

Đơn vị

ại hình
Đố
i tượng

Môđun
đơn vị


sở

đối

sánh


chi tiết
Hộp

ương

trắng

pháp

( Hộp đen )
N

gười tiến
hành

Hệ thống

Tập

Hệ thống

môđun

chức phần mềm, môi

năng
Thiết kế

Ph


Tích hợp

Lập
trình viên

trường đích
Thiết

kế

Thiết

đặc tả chức năng

phần mềm

hộp trắng
Nhóm
kiểm thử độc lập

Vòng đời của kiểm thử

12

Đặc tả yêu
cầu phần mềm

đen,

Hộp đen


mô hình
Nhóm
kiểm thử chuyên

Bảng 1, Bảng tổng hợp nội dung các mức kiểm thử.

thống

phần mềm, môi

kế

kiến trúc, đặc tả

Hộp

Hệ
trường thực

chi tiết, kiến trúc,

Hộp đen,

Thẩm định

Người
dùng



II.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ác
phé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ềm
thà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:
-

-

Thiết kế các ca kiểm thử.
Tạo dữ liệu thử:
• Kiểm thử với tất cả các dữ liệu vào là cần thiết ( không thể kiểm thử
vét cạn).
• Chọn tập các dữ liệu thử đại diện từ miền dữ liệu vào dựa trên các
tiêu chuẩn chọn dữ liệu thử.
Thực thi chương trình trên dữ liệu thử gồm : cung cấp, thực thi và ghi nhận
kết quả.
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.

Hình 2, Tiến trình kiểm thử phần mềm.

13


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ận
sá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ác
kiể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àng
hay 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ên
xuố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ược
kiể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 trung
và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ác
phươ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 ra

trong hệ thống
III.
1.

Phương pháp xây dựng các tài liệu kiểm thử

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ác
mụ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ận

sả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
ai 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ồm
trong 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)
14


2.
a.

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ạch
test 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
Sự bố trí nhân sự
Những người cần training trước khi tham gia
Nơi test
Các tổ chức test bên ngoài sẽ sử dụng và mục đích, trách nhiệm, khả
năng hoàn thành, người liên hệ và các vấn đề hợp tác của họ
Các vấn đề độc quyền thích hợp, phân loại, bảo mật và bản quyền.
Các vấn đề mở
Phụ lục - bảng chú giải, các từ viết tắt, ...v.v.

Test case
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ương
phá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ựng
phần mềm đạt tiêu chuẩn.
b.

Vai trò


c.

Tạo ra các ca kiểm thử tốt nhất có khả năng phát hiện ra lỗi, sai sót của
phần mềm một cách nhiều nhất.
• Tạo ra các ca kiểm thử có chi phí rẻ nhất, đồng thời tốn ít thời gian và
công sức nhất.
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ời
gian 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?
15


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ẫu
nhiê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 con
cá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ểm
thử đượ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ả hai
phươ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ác
phương pháp thiết kế ca kiểm thử hướng hộp đen nào đó và sau đó bổ sung thêm
nhữ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ụng
phương pháp hộp trắng.
Những chiến lược kết hợp đó bao gồm:
Hộp đen

Hộp trắng

1. Phân vùng tương đương

1. Bao phủ câu lệnh

2. Phân tích giá trị biên

2. Bao phủ quyết định


3. Đồ thị nguyên nhân – kết quả

3. Bao phủ điều kiện

4. Đoán lỗi

4. Bao phủ điều kiện – quyết định
5. Bao phủ đa điều kiện.

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. Quy
trì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ụng
phươ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ới
phươ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.
I.
I.1

Xây dựng ứng dụng kiểm thử trên phần mềm Quản Lý Sinh Viên
Khảo sát hệ thống
Khảo sát

16


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ý sinh
viê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 tra
xem 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 sinh
viê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 theo
từng sinh viên. Thông tin chung gồm có ( tên môn thi, phòng thi, ngày thi, thời gian
thi, 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 theo
tê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 file
excel 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ôn
họ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
từ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ấm
thi 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. Bao
gồ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

17


Các use case được mô tả như bảng dưới đây
ST

T

Use Case

Mô 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ên
hoặ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ừng
lớp.
User cũng có thể tra cứu điểm của sinh
viên và export ra file theo template quy
định của trường

3

II.


Đ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

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ủa
chươ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.
18


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

Hì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 bar
button tương ứng trên màn hình. Các tool bar button sẽ hiển thị tooltip để hỗ trợ khi
user di chuột lên
19


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]

-

Quản lý thi
 Nhập điểm: sẽ mở ra màn hình [Nhập điểm]
 Tra cứu điểm: sẽ mở ra màn hình [Tra cứu điểm thi]

-

Điểm danh
 Quản lý điểm danh: sẽ mở ra màn hình [Quản lý điểm danh]

-

Khung nhìn
 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ở
-

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ần

mề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ị

20


Hình 3.2.1.1-1: Màn hình [Sinh viên] khi mới mở

Hình 3.2.1.1-2: Màn hình [Sinh viên] khi thực hiện Sửa

21


Hình 3.2.1.1-3: Màn hình [Sinh viên] khi thực hiện Thêm
Mô tả chức năng
S
TT


N

Hệ thống

C

gười

hức

hức

dùng

năng

năng

được

bị ẩn

kích
1

C Tự động hiển thị toàn bộ
họn
thông tin của tất cả sinh viên
chức
đang có dưới dạng danh sách

năng
và tổng số sinh viên.
[quản
lý sinh
viên]

2

22

C

N Toàn bộ thông tin lên các ô
hấp
tương ứng để có thể xem
đúp
nhưng không thể sửa, đồng
vào
thời kích hoạt thêm các chức
một
năng [Sửa], [Xóa] và [Hủy].
bản ghi

hoạt
1.
[Thêm
sinh
viên]
2. [Tìm
kiếm

sinh
viên].

Thông
hiển thị

báo


3 Chọn
chức
năng
[Thêm]
:
3 Chọn
.1

chức
năng
[Lưu]:

Toàn bộ các ô để
người dùng nhập thông tin
sinh viên muốn thêm mới.

1. [Lưu]
2.
[Hủy].

1.


Sẽ thực hiện xác nhận dữ
liệu. Nếu dữ liệu hợp lệ sẽ
lưu vào DB và hiển thị lại
màn hình ban đầu, đồng thời
hiển thị cả sinh viên mới vào
danh sách.

liệu nhập không hợp
lệ, hãy nhập lại” với
button [OK]
2.
Thông

họn
chức
năng
[Sửa]

23

báo

cảnh cáo: “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 “ Có
lỗi xảy ra nên không


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
báo cho người dùng, đồng
thời đặt con trỏ vào ô [Mã
sinh viên].

.2

báo

cảnh cáo: “Có dữ

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.

3 Chọn
chức
năng
[Hủy]:
4
C

Thô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 đó.

Xóa thông tin đã nhập, không
lưu vào DB và quay lại màn
hình ban đầu.
Cho phép thay đổi bât cứ
thông tin nào của sinh viên
này, trừ [Mã sinh viên].

1 [Lưu] 1.
2.[Hủy] [Thê
m]
thực

Trước khi lưu thì hiển thị
thông báo để xác nhận với
người dùng

hiện
giống
như khi
[Thêm].


2.
[Sửa]
3.
[Xóa]
.

Thông báo xác nhận:
“Bạn có muốn thay
đổi thông tin của sinh
viên này không” với
button [Yes / No]


5 Chọn
chức
năng
[Xóa]:
6 Chọn
chức
năng
[Hủy]:
7 Chức
năng
[Tìm
kiếm
sinh
viên]

Cho phép xóa sinh viên được
chọn. Trước khi xóa phải

hiển thị thông báo để xác
nhận.

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]

Xóa thông tin sinh viên đang
hiển thị và đưa màn hình trở
về trạng thái ban đầu.

Có thể tìm theo tên sinh viên
hoặc theo lớp, hoặc cả 2. Kết
quả tìm được sẽ hiển thị
trong phần danh sách

Yêu cầu xác minh đối với dữ liệu
Tên ô

Mô tả

Loại

Độ dài tối Bắt
đa
buộc

Họ


Họ và đệm

Text box

50



Tên

Tên

Text box

10



Tên đầy đủ

Tự động hiển thị họ, đệm và
tên. Luôn disable

Label
Text box

10




6

Mã sinh viên
Mã portal

Mã sinh viên khi học các lớp
theo chương trình của Aptech
Ấn độ

Text box

Giới tính

Mặc định: không chọn

Radio button

Ngày sinh

Có thể input hoặc chọn

Calendar

Trạng thái

Chỉ được chọn, gồm: Đang
học, Tạm hoãn, Thôi học, Đã
học xong, Chuyển

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,
HDSE, Tester


Combo box

24




Khóa học hiện tại

Chỉ được chọn, gồm: DIM,
HDSE, Tester

Combo box

Ngày tham gia

Có thể input hoặc chọn

Calendar

TLA mail

Địa chỉ email của trường

Text box

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

25

128


×