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

Đặc tả chức năng phền mềm website đơn vị vận chuyể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 (558.35 KB, 100 trang )

Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP`
1. Thông tin chung
Tên đề tài

Tìm hiểu kiểm thử chức năng và ứng
dụng kiểm thử Website quản lý giao
vận của công ty cổ phần CNTT An

Họ và tên sinh viên:
Điện thoại liên lạc:
Email:
Lớp:
Hệ đào tạo:
Đồ án tốt nghiệp được thực hiện tại:
Thời gian làm ĐATN:
2. Mục tiêu của ĐATN

Việt />Vũ Hồng Sơn
Cơng Nghệ Phần Mềm
Đại học chính quy
Hà Nội
2020

Tìm hiểu kiểm thử chức năng và ứng dụng kiểm thử Website quản lý giao vận của công ty
cổ phần CNTT An Việt />3. Các nhiệm vụ cụ thể của ĐATN
- Tìm hiểu về kiểm thử và các loại kiểm thử
- Các loại kiểm thử chức năng
- Tạo testcase
- Kiểm thử chức năng Website quản lý giao vận


4. Lời cam đoan của sinh viên:
Tôi – Vũ Hồng Sơn – cam kết ĐATN là cơng trình nghiên cứu của bản thân tôi dưới sự
hướng dẫn của ThS. Lê Văn Hưng
Các kết quả nêu trong ĐATN là trung thực, khơng phải là sao chép tồn văn của bất kỳ
cơng trình nào khác.
Hà Nội, ngày

tháng

năm

Tác giả ĐATN

Vũ Hồng Sơn

5. Xác nhận của giáo viên hướng dẫn về mức độ hồn thành của ĐATN và cho phép
bảo vệ:
VŨ HỒNG SƠN

11

Lớp CNPM


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
Hà Nội, ngày

tháng năm

Cán bộ hướng dẫn


VŨ HOÀNG SƠN

22

Lớp CNPM


Đồ án tốt nghiệp chun ngành Cơng Nghệ Phần Mềm

TĨM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Từ khi Internet phát triển, các trang web thương mại điện tử ra đời để phục vụ việc
mua sắm hàng hóa của mọi người. Nó giúp tiết kiệm thời gian cho người mua đồng thời
giúp tiết kiệm được chi phí quảng cáo hàng hóa của các doanh nghiệp. Một trang web
thương mại điện tử tốt là chìa khóa thành cơng cốt lõi của một doanh nghiệp. Do đó, để có
trang web tốt thì việc kiểm thử rất là quan trọng. Mục đích của đề tài là tìm hiểu những
kiến thức tổng quan nhất về kiểm thử chức năng và cách thiết kế các trường hợp kiểm thử
(Testcase) trong kiểm thử website, tạo testcase và kiểm thử chức năng website
Chương 1 - Trình bày tổng quan về kiểm thử phần mềm cũng như khái niệm kiểm
thử phần mềm, mục đích, mục tiêu và các mức kiểm thử phần mềm. Chương này cũng đề
cập đến việc sử dụng các kỹ thuật kiểm thử hộp trắng và hộp đen để thiết kế dữ liệu kiểm
thử.
Chương 2 - Cơ sở lý thuyết kiểm thử chức năng. Mô tả chi tiết các thành phần
chính của kỹ thuật kiểm thử chức năng
Chương 3 - Kiểm thử chức năng website thương mại điện tử
Cuối cùng là một số kết luận và hướng phát triển
Sau quá trình tìm hiểu và thực hiện, đồ án đã giải quyết được các vấn đề đã đề ra
ban đầu, giải quyết từng bước và đặt ra những vấn đề mới giúp tăng tính logic và hồn
thiện đồ án hơn. Thơng qua việc tìm hiểu các tài liệu trong nước và ngoài nước, cũng như
tiếp xúc các đồng nghiệp có kinh nghiệm, tác giả đã có được nhiều kiến thức bổ ích và hữu

hiệu hơn cho đồ án cũng như tích lũy kinh nghiệm cho tương lai.

VŨ HOÀNG SƠN

33

Lớp CNPM


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

LỜI CẢM ƠN
Để đồ án này đạt kết quả tốt đẹp, tác giả đã nhận được sự hỗ trợ, giúp đỡ của nhiều
cơ quan, tổ chức, cá nhân. Với tình cảm sâu sắc, chân thành, cho phép tác giả được bày tỏ
lòng biết ơn sâu sắc đến tất cả các cá nhân và cơ quan đã tạo điều kiện giúp đỡ trong quá
trình học tập và nghiên cứu đề tài.
Tác giả đồ án xin bày tỏ lòng biết ơn đến lãnh đạo Trường Đại………………
Phịng Cơng tác chính trị sinh viên, các Khoa Phòng ban chức năng đã trực tiếp và gián
tiếp giúp đỡ tác giả trong suốt quá trình học tập và nghiên cứu đề tài.
Tác giả xin gửi tới các thầy cơ khoa Cơng nghệ thơng tin nói chung, các thầy cơ
chun ngành Cơng nghệ phần mềm nói riêng lời chào trân trọng, lời chúc sức khỏe và lời
cảm ơn sâu sắc. Với sự quan tâm, dạy dỗ, chỉ bảo tận tình chu đáo của thầy cơ, đến nay tác
giả đã có thể hồn thành đồ án tốt nghiệp:
"Tìm hiểu kiểm thử chức năng và ứng dụng kiểm thử website quản lý giao vận của
công ty cổ phần CNTT An Việt ".
Đặc biệt tác giả xin gửi lời cảm ơn chân thành nhất tới thầy giáo Lê Văn Hưng đã
quan tâm giúp đỡ, hướng dẫn hoàn thành tốt đồ án này trong thời gian qua.
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một sinh viên, đồ án
này khơng thể tránh được những thiếu sót. Tác giả rất mong nhận được sự chỉ bảo, đóng
góp ý kiến của các thầy cơ để có điều kiện bổ sung, nâng cao kiến thức của mình, phục vụ

tốt hơn công tác thực tế sau này.
Xin chân thành cảm ơn!

VŨ HOÀNG SƠN

44

Lớp CNPM


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

MỤC LỤC

VŨ HOÀNG SƠN

55

Lớp CNPM


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

DANH MỤC CÁC HÌNH VẼ

VŨ HỒNG SƠN

66

Lớp CNPM



Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

DANH MỤC CÁC TỪ VIẾT TẮT

ST
T

Từ viết tắt

1

CNTT

2

QA

3

STT

VŨ HOÀNG SƠN

Từ tiếng Anh

Từ và nghĩa tiếng Việt

Công nghệ thông tin

Quality Assurance

Đảm bảo chất lượng
Số thứ tự

77

Lớp CNPM


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

DANH MỤC CÁC BẢNG BIỂU


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

MỞ ĐẦU
1. Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài
Trong giai đoạn phát triển của công nghệ thông tin, nghành công nghệ phần mềm
đang ngày một chiếm vị trí quan trọng trong xu hướng phát triển kinh tế cơng nghiệp hóa,
hiện đại hóa của đất nước ta. Cùng với sự phát triển của công nghệ phần mềm, lỗi phần
mềm và chất lượng phần mềm luôn là thách thức lớn với bản thân ngành phần mềm khi
thực tế đã chứng minh, kiểm thử phần mềm là giai đoạn chiếm đến hơn 40% thời gian,
kinh phí và nguồn nhân lực phát triển dự án phần mềm. Tuy nhiên ở Việt Nam hiện nay,
việc kiểm thử phần mềm vẫn chưa thực sự được nhìn nhân đúng đắn với tầm quan trọng
của nó. Điều này thể hiện ở tỷ lệ kỹ sư kiểm thử phần mềm ở Việt Nam còn khá thấp, cứ 5
lập trình viên thì mới có 1 kỹ sư kiểm thử, trong khi tỷ lệ này theo chuẩn quốc tế là 3:1.
Thêm vào đó mức độ đáp ứng của kỹ sư kiểm thử phần mềm ở Việt Nam chưa cao.
Nguyên nhân của việc này đều đến từ sự thếu hụt của các đơn vị đào tạo chuyên sâu về

kiểm thử và nguyên nhân sâu xa vẫn là vấn đề kiểm thử ở Việt Nam vẫn chưa được chuyên
nghiệp hóa và đầu tư đúng mức.
Kiểm thử phần mềm là một quá trình liên tục, xuyên suốt mọi giai đoạn phát triển
phần mềm để đảm bảo rằng phần mềm thỏa mãn các yêu cầu thiết kế và các yêu cầu đó
đáp ứng nhu cầu của người dùng. Các kỹ thuật kiểm thử phần mềm đã và đang được
nghiên cứu, và việc kiểm thử phần mềm đã trở thành quy trình bắt buộc trong các dự án
phát triển phần mềm trên thế giới. Kiểm thử phần mềm là hoạt động rất tốn kém, mất thời
gian và khó phát hiện được hết lỗi. Vì vậy, việc kiểm thử phần mềm địi hỏi phải có chiến
lược phù hợp, một kế hoạch hợp lý và thực hiện được quản lý chặt chẽ.
Website chính là cột mốc quan trọng, thể hiện được sự uy tín và chất lượng của
doanh nghiệp thông qua một trang web được thiết kế chuyên nghiệp và chỉnh chu để
thuyết phục khách hàng sử dụng dịch vụ, sản phẩm.
Web quản lý giao vận mang đến cho khách hàng một một mô hình kiểm sốt tài xế,
hàng hố dễ dàng. Quản trị có thể thêm các danh mục sản phẩm một cách không giới hạn
và tất cả công việc quản trị thêm mới các sản phẩm trở nên đơn giản. Trang web rõ ràng,
bố cục khoa học giúp người dùng tìm kiếm và theo dõi được nội dung cần thiết một cách
nhanh chóng và dễ dàng. Nội dung trình bày một cách hợp lý, vừa phải, kết hợp các yếu tố
hình ảnh. Website quản lý giao vận là trang thông tin điện tử được thiết lập để phục vụ quy
trình hoạt động vận chuyển hàng hoá, kiểm soát đường đi, tối ưu việc giao hàng, quãng
đường.
VŨ HOÀNG SƠN

9

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

2. Tính cấp thiết, ý nghĩa khoa học và thực tiễn của đề tài

Do tốc độ phát triển công nghệ thông tin nhanh, việc sử dụng mạng Internet đã trở
nên phổ biến. Người sử dụng Internet để tìm kiếm thơng tin và xu hướng giao dịch thương
mại trên Internet ngày càng nhiều. Với bán hàng online người mua có thể khơng cần phải
đến trực tiếp cửa hàng mà vẫn có thể xem và sở hữu sản phẩm, ngược lại, người bán có thể
giao hàng và vận chuyển một cách dễ dàng đến tay người dùng nhanh chóng và tiện lợi.
Việc vận chuyển đặt tài xế qua website, ứng dụng khá phổ biến và thu được số lượng đơn
hàng khá lớn. Với hệ thống qui trình được thiết lập bài bản, việc giao vận thông qua
website sẽ tạo ra được lợi nhuận rất cao và hoạt động về lâu dài sẽ xây dựng được thương
hiệu trên thị trường. Có thể nói websie giao vận chính là kênh vận chuyển hàng đầu hiện
nay. Như vậy nhu cầu thiết kế website quản lý giao vận là điều cần thiết và công việc kiểm
thử chức năng website là việc không thể thiếu.

3. Mục tiêu của đề tài
Tìm hiểu kiểm thử chức năng và ứng dụng kiểm thử chức năng vào webiste giao
vận />
4. Nhiệm vụ cụ thể của đề tài
- Tìm hiểu về kiểm thử và các loại kiểm thử
- Các loại kiểm thử chức năng
- Tạo testcase
- Kiểm thử chức năng Webiste giao vận

5. Phương pháp thực hiện
- Phương pháp nghiên cứu lý thuyết: nghiên cứu và tìm hiểu lý thuyết về tổng quan
kiểm thử phần mềm, các loại kiểm thử phần mềm, kiểm thử chức năng
- Phương pháp thực nghiệm: thực hiện kiểm thử chức năng trên trang Web
6. Bố cục của đồ án
Chương 1: Tổng quan về kiểm thử phần mềm
Chương 2: Cơ sở lý thuyết về Kiểm thử chức năng
Chương 3: Kiểm thử chức năng Webiste quản lý giao vận
Kết luận và hướng phát triển của đề tài trong tương lai


VŨ HOÀNG SƠN

10

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

CHƯƠNG 1 TỔNG QUAN
1.1 Khái niệm phần mềm, phần mềm ứng dụng
Phần mềm là tập hợp những câu lệnh được viết bằng một hoặc nhiều ngơn ngữ lập
trình theo một trật tự xác định nhằm tự động thực hiện một số chức năng, cơng việc nào đó.
Nếu phần cứng là phần khơng thể thay đổi được thì phần mềm được coi là phần
biến của máy tính. Phần mềm được chia thành hai phần là phần mềm hệ thống và phần
mềm ứng dụng. Trong đó phần mềm hệ thống bao gồm hệ điều hành và bất kỳ chương
trình nào hỗ trợ phần mềm ứng dụng còn phần mềm ứng dụng là chương trình làm người
dùng làm việc trực tiếp quan tâm.
Phần mềm ứng dụng là một chương trình máy tính được thiết kế để trợ giúp thực
hiện một nhóm các chức năng, nhiệm vụ, hoạt động của người dùng. Các phần mềm ứng
dụng được chia làm hai loại là phần mềm ứng dụng đa năng (xử lý văn bản, hệ quản trị cơ
sở dữ liệu, bảng tính,…) và các phần mềm ứng dụng chuyên biệt (kế toán, marketing, nghe
nhạc,..)
1.2 Kiểm thử phần mềm
1.2.1 Khái niệm kiểm thử phần mềm
Kiểm thử phần mềm là việc kiểm tra kết quả thực hiện của chương trình máy tính
xem có đúng với mục tiêu đã đặt ra với nó hay khơng thơng qua việc thực hiện ở một số
mẫu thử. Hiểu một cách đơn giản, kiểm thử là chạy một chương trình để xác nhận bất kỳ lỗ
hổng, lỗ sai hay những yêu cầu bị bỏ quên, những yêu cầu không đúng so với thực tế đề ra

Theo IEEE Standard Glossary of Software Engineering Terminology, kiểm thử
phần mềm là quá trình khảo sát một hệ thống hay các thành phần dưới những điều kiện xác
định; quan sát, ghi lại kết quả, và đánh giá một khía cạnh nào đó của hệ thống hay thành
phần nào đó.
Kiểm thử là giai đoạn quan trọng đảm bảo chất lượng phần mềm.
Kiểm thử là tiến trình xem xét, kiểm tra lại đặc tả, phân tích, thiết kế và mã hóa
nhằm phát hiện lỗi phần mềm, xác minh phần mềm có đúng đặc tả, thiết kế; có đáp ứng
nhu cầu người dùng, có hoạt động hiệu quả khơng.
Hoạt động kiểm thử nhằm mục đích kiểm tra xem phần mềm làm ra có đúng đặc tả
(u cầu, phân tích, thiết kế) và có đáp ứng đúng u cầu người dùng hay khơng. Đây
chính là hai hoạt động cốt yếu để đảm bảo chất lượng phần mềm, diễn ra trong suốt quá
trình phát triển phần mềm.

VŨ HOÀNG SƠN

11

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
Theo tiêu chuẩn ANSI/IEEE 1059, kiểm thử có thể được định nghĩa như một q
trình của việc phân tích các thành phần của phần mềm để dị tìm sự khác biệt giữa phần
mềm thực tế đang tồn tại và những điều kiện được yêu cầu – requirement (đó là thiếu sótdefect, sai sót – error, lỗi – bug). Từ đó đánh giá được chất lượng phần mềm.
1.2.2 Vai trò của kiểm thử phần mềm
Kiểm thử phần mềm là hoạt động nhằm tìm kiếm và phát hiện ra lỗi các phần mềm.
Kiểm thử phần mềm đảm bảo sản phẩm phần mềm đáp ứng chính xác, đầy đủ và
đúng theo yêu cầu của khách hàng đề ra.
Hoạt động kiểm thử phần mềm đóng vai trị rất quan trọng trong q trình phát
triển phần mềm. Trên thực tế khơng có một phần mềm nào được tạo ra hồn hảo và khơng

có lỗi. Lúc này, kiểm thử phần mềm sẽ có nhiệm vụ chỉ ra lỗi và sai sót trong các giai đoạn
phát triển sản phẩm. Lỗi phần mềm cần được phát hiện và sửa chữa càng sớm càng tốt, nếu
không sẽ gây ra nhiều thiệt hại nghiêm trọng. Điển hình như năm 1985, máy xạ trị Therac25 của Canada do lỗi phần mềm mà phát ra tia gây chết người đã giết chết ít nhất 5 người
và nhiều người bị thương nặng. Hay có thể kể đến một lỗi phần mềm khác vào tháng 4
năm 1996: Mã hoạt động cho tên lửa Ariane 4 được sử dụng lại trong phiên bản tiếp theo
Ariane 5. Tuy nhiên, rắc rối đã xảy ra khi mã này thực hiện quá trình chuyển đổi số chứa
dấu phấy động 64 bit sang ký hiệu số nguyên 16 bit. Động cơ trong Ariane 5 có tốc độ
nhanh hơn đã khiến các số 64 bit trở lên lớn hơn so với Ariane 4, gây tình trạng q tải và
sập máy tính điều khiển. Hệ thống backup cũng gặp trục trặc ngay 0,05 giây sau đó và thiết
bị xử lý cơ sở của tên lửa bị tiếp quá nhiều năng lượng. Và chỉ sau 40 giây sau khi phóng
Ariane 5 đã phát nổ
Việc kiểm thử phần mềm một cách tỉ mỉ, chi tiết sẽ đảm bảo phần mềm ít lỗi
nghiêm trọng nhất có thể, đồng thời làm giảm chi phí sửa chữa và thiệt hại khơng đáng có
trong tương lai.
1.2.3 Mục tiêu của kiểm thử phần mềm
Việc thực hiện kiểm thử phần mềm nhằm những mục tiêu sau:
- Bằng việc kiểm thử sẽ tìm ra lỗi trong phần mềm và thiết lập chất lượng của phần
mềm
- Đảm bảo phần mềm đáp ứng đúng yêu cầu đề ra
- Kiểm thử phần mềm giúp chúng ta biết rằng phần mềm đang được thử nghiệm
thành cơng

VŨ HỒNG SƠN

12

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

- Kiểm thử phần mềm giúp xác nhận được rằng phần mềm đủ điều kiện đến tay
người sử dụng
- Kiểm thử phần mềm để đảm bảo chất lượng phần mềm
- Kiểm thử phần mềm cung cấp và duy trì một sản phẩm chất lượng cho khách
hàng
1.2.4 Cấp độ kiểm thử phần mềm
Cấp độ kiểm thử phần mềm là một quá trình trong đó mọi thành phần của phần
mềm đều được kiểm tra. Để kiểm tra hành vi và hiệu suất của quá trình kiểm thử phần
mềm cần chia thành nhiều cấp độ kiểm thử (Hình 1.1) là kiểm thử đơn vị, kiểm thử tích
hợp, kiểm thử hệ thống và kiểm thử chấp nhận.

Hình 1.1 Cấp độ kiểm thử phần mềm
(Nguồn: Internet [19])
Cấp độ kiểm thử đơn vị chủ yếu do lập trình viên trực tiếp thực hiện trước khi cài
đặt chuyển giao cho đội kiểm thử thực hiện những ca kiểm thử chính thống. Phần mềm khi
phát triển sẽ bao gồm nhiều đơn vị chức năng hợp thành. Mỗi lập trình viên sẽ đảm nhiệm
việc phát triển một hay nhiều đơn vị chức năng. Sau khi hoàn thành chức năng của mình
lập trình viên sẽ tiến hành kiểm thử chức năng đó một cách cơ lập nhằm phát hiện ra lỗi và
khắc phục trước khi tích hợp với các đơn vị chức năng khác. Ưu điểm của kiểm thử đơn vị
VŨ HOÀNG SƠN

13

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
là có thể giảm lỗi trong các tính năng mới được phát triển hoặc khi thay đổi chức năng hiện
có. Và việc phát hiện các lỗi ngay từ giai đoạn đầu trong quá trình phát triển phần mềm sẽ
giúp giảm chi phí kiểm tra. Ngồi ra, kiểm thử đơn vị cũng có thể cải thiện thiết kế và cho

phép tái cấu trúc mã tốt hơn. Mặc dù có nhiều ưu điểm nhưng kiểm thử đơn vị lại bị giới
hạn bởi các tình huống và bộ dữ liệu kiểm thử mà lập trình viên sử dụng để kiểm thử
chương trình.
Sau khi kiểm thử đơn vị được tiến hành bởi chính lập trình viên viết ra nó, các đơn
vị chức năng sẽ được ghép lại với nhau để tạo thành hệ thống đầy đủ và có thể làm việc
được. Ở trạng thái độc lập riêng rẽ, các đơn vị chức năng hoạt động tốt khơng có nghĩa là
khi ghép lại sẽ khơng xuất hiện lỗi. Vì vậy phải tiếp tục kiểm thử để phát hiện ra những lỗi
kể trên. Ở mức kiểm thử tích hợp, các đơn vị chức năng được kết hợp lại với nhau và tiến
hành kiểm thử chúng theo phương pháp tăng dần để đảm bảo cụm các đơn vị chức năng sẽ
làm việc ổn định trong môi trường thử nghiệm.
Sau khi tất cả các đơn vị chức năng đã được tích hợp lại với nhau tạo thành một hệ
thống hoàn chỉnh, kiểm thử hệ thống sẽ được thực thi để đảm bảo sản phẩm phần mềm đáp
ứng đầy đủ các yêu cầu trong bản đặc tả yêu cầu phần mềm. Đây là công việc tốn nhiều
công sức nhất trong quá trình kiểm thử phần mềm. Đồng thời cũng sử dụng nhiều kỹ thuật
kiểm thử khác nhau như: kiểm thử giao diện người dùng, kiểm thử chức năng, kiểm thử
hiệu năng, kiểm thử tính dễ dùng,... để hồn tất cơng việc kiểm thử trong cấp độ này.
Khi kiểm thử hệ thống hoàn tất, phần mềm được coi như đã sẵn sàng cho việc đưa
vào sử dụng thực tế. Lúc này, phần mềm cần được tiến hành kiểm thử chấp nhận bởi chính
khách hàng và thành viên đội dự án. Kiểm thử chấp nhận thường được thực hiện dưới hình
thức cho một nhóm người dùng thử sản phẩm phần mềm để phát hiện các lỗi và nhận phản
hồi từ người dùng. Trong đó, phiên bản alpha dành cho đội phát triển phần mềm và phiên
bản beta được cung cấp cho người sử dụng thật để đưa ra đánh giá trong môi trường thực
tế. Ở thời điểm hiện tại, kiểm thử chấp nhận được coi là cấp độ quy chuẩn bắt buộc khơng
thể thiếu trong quy trình phát triển của nhiều sản phẩm phần mềm.
1.2.5 Các phương pháp kiểm thử
Hiện nay có rất nhiều phương pháp được áp dụng trong kiểm thử phần mềm. Trong
đó có hai phương pháp kiểm thử được sử dụng phổ biến nhất đó là kiểm thử tĩnh và kiểm
thử động:

VŨ HOÀNG SƠN


14

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
Kiểm thử tĩnh là loại kiểm tra được thực hiện bằng tay hoặc bằng một bộ công cụ.
Loại kiểm tra này thực hiện kiểm tra đoạn mã, tài liệu yêu cầu, thiết kế và đưa ra nhận xét,
lưu nhận xét vào tài liệu công việc. Sử dụng phương pháp kiểm thử tĩnh giúp tìm ra lỗi và
mã độc tiềm ẩn trong ứng dụng phần mềm. Kiểm thử tĩnh có thể được thực hiện trên các
tài liệu làm việc như yêu cầu kỹ thuật, tài liệu thiết kế, mã nguồn, kế hoạch kiểm tra, kịch
bản thử nghiệm và các trường hợp thử nghiệm, nội dung trang web. Kiểm thử tĩnh thường
được tiến hành trước nhằm tạo ra kịch bản cho kiểm thử động. Có bốn kỹ thuật kiểm thử
tĩnh. Thứ nhất, đó là kỹ thuật kiểm duyệt (Inspection). Mục đích chính của kỹ thuật này là
tìm ra các khiếm khuyết. Việc kiểm tra sẽ được thực hiện bởi người kiểm duyệt. Đây là
loại đánh giá thơng thường có một danh sách kiểm tra được chuẩn bị để kiểm tra xem tài
lài liệu cơng việc hồn thành tới đâu. Thứ hai là kỹ thuật hướng dẫn (Walk-through). Trong
loại kỹ thuật này, người lãnh đạo mở một cuộc họp để giải thích sản phẩm. Những người
tham gia có thể đặt ra những câu hỏi nếu chưa hiểu và ghi chú lại, phục vụ cho việc hồn
thành cơng việc. Kỹ thuật thứ ba là nhận xét chuyên môn (Technical reviews). Trong loại
kiểm tra này, kiểm tra về kỹ thuật sẽ được kiểm tra một vòng. Các kế hoạch kiểm tra và
chiến lược kiểm thử được tiến hành để kiểm tra xem phần mềm đã được thực hiện theo
đúng các thông số kỹ thuật và tiêu chuẩn hay chưa. Cuối cùng là kỹ thuật nhận xét khơng
chính thức (Informal reviews): Kỹ thuật kiểm thử tĩnh trong đó tài liệu được xem xét, nhận
xét một cách khơng chính thức và đưa ra các ý kiến khơng chính thức.
Kiểm thử động được thực hiện trong môi trường thực thi chạy chương trình ứng
dụng, đánh giá trạng thái hoạt động của phần mềm. Kiểm thử động là quá trình xử lý một
cách tự động các bước thực hiện trong các ca kiểm thử. Hình thức sử dụng các cơng cụ để
kiểm tra tự động phần mềm nhằm rút ngắn thời gian kiểm thử. Quy trình kiểm thử động

gồm bốn bước. Bước thứ nhất là viết kịch bản kiểm thử, dùng công cụ kiểm thử để ghi lại
các thao tác lên phần mềm cần kiểm tra và tự động sinh ra mã nguồn kiểm thử. Bước tiếp
theo, chỉnh sửa để kịch bản kiểm thử thực hiện kiểm tra theo đúng yêu cầu đặt ra, làm theo
trường hợp kiểm thử cần thực hiện. Bước thứ ba, chạy kịch bản kiểm thử, giám sát hoạt
động kiểm tra phần mềm của kịch bản kiểm thử. Cuối cùng là kiểm tra kết quả thông báo
sau khi thực hiện kiểm thử tự động. Ưu điểm của phương pháp kiểm thử động là có độ
chính xác cao, chu kỳ kiểm thử diễn ra trong thời gian ngắn. Bởi vì được thực hiện tự động
trên máy nên phương pháp này cần ít nhân lực trong q trình kiểm thử hơn. Tuy nhiên,

VŨ HOÀNG SƠN

15

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
phương pháp này lại làm tốn nhiều chi phí và thời gian cho việc tạo các kịch bản kiểm thử
và việc phát triển công cụ kiểm thử tự động.
1.2.6 Các kỹ thuật kiểm thử
Mục tiêu của kiểm thử là phải thiết kế các trường hợp kiểm thử có khả năng phát
hiện nhiều lỗi nhất với thời gian và công sức tối thiểu. Do đó có thể chia các kỹ thuật kiểm
thử thành ba loại: kiểm thử hộp trắng, kiểm thử hộp đen và kiểm thử hộp xám. Cụ thể:
Kiểm thử hộp trắng sử dụng các ca kiểm thử để kiểm tra mã nguồn ở mức các mô
đun đơn vị nhằm mục đích phát hiện ra các lỗi trong các thủ tục (thuật toán), các luồng
điều khiển, các trạng thái của chương trình (dữ liệu). Kiểm thử hộp trắng là sự kiểm thử
dựa trên việc phân tích chương trình. Kỹ thuật chính ở đây là xác định đường đi của
chương trình (điều khiển) từ đầu vào đến đầu ra. Mục đích của kiểm thử hộp trắng là kiểm
tra tất cả các đường đi có thể, đảm bảo mọi lệnh đều được thực hiện ít nhất một lần trong
một ca thử nghiệm nào đó. Ưu điểm đầu tiên của kỹ thuật kiểm thử hộp trắng là cho phép

kiểm tra cấu trúc bên trong của phần mềm với mục đích đảm bảo rằng tất cả các câu lệnh
và điều kiện sẽ được thực hiện ít nhất một lần. Thứ hai, việc kiểm tra kỹ càng hơn, có thể
bao phủ hầu hết các đường dẫn. Thứ ba, kỹ thuật này rất thích hợp trong việc tìm kiếm lỗi
và các vấn đề trong mã lệnh. Các lập trình viên có thể tự kiểm tra. Thứ tư là giúp tối ưu
việc mã hóa. Cuối cùng, do yêu cầu kiến thức cấu trúc bên trong của phần mềm nên việc
kiểm soát lỗi được tối đa nhất. Tuy nhiên, việc kiểm thử sẽ không thể phát hiện được lỗi do
dữ liệu. Đồng thời khó thực hiện được tất cả các trường hợp kiểm thử vì vịng lặp kiểm tra
thường lớn. Bên cạnh đó, các bài kiểm tra thường rất phức tạp, địi hỏi phải có các nguồn
lực tay nghề cao, với kiến thức sâu rộng về lập trình và thực hiện.
Kiểm thử hộp đen sử dụng các ca kiểm thử được thiết kế dựa trên đặc tả yêu cầu,
tài liệu người dùng nhằm mục đích phát hiện ra các khiếm khuyết, các lỗi của từng mơ đun
chương trình và tồn bộ hệ thống. Vì khơng có mối liên quan nào tới mã lệnh nên kiểm thử
hộp đen sẽ đánh giá khách quan phần mềm, người kiểm thử có thể khơng hiểu biết về mã
lệnh và tìm ra lỗi mà nhóm phát triển khơng tìm ra. Và bởi vì khơng biết phần mềm được
xây dựng như thế nào, cho nên sẽ dẫn đến có thể một mơ đun được thiết kế nhiều ca kiểm
thử trong khi nhiều mô đun không được kiểm thử.
Kiểm thử hộp xám là sự kết hợp giữa kiểm thử hộp trắng và kiểm thử hộp đen. Kỹ
thuật này địi hỏi phải có sự truy cập tới cấu trúc dữ liệu và giải thuật bên trong cho việc
thiết kế các ca kiểm thử, nhưng là kiểm thử ở mức người sử dụng hay mức hộp đen. Việc

VŨ HOÀNG SƠN

16

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
thao tác tới dữ liệu đầu vào và định dạng dữ liệu đầu ra là không rõ ràng, giống như một
chiếc “hộp xám”, bởi vì đầu vào và đầu ra rõ ràng là ở bên ngoài “hộp đen” mà chúng ta

vẫn gọi về hệ thống được kiểm tra. Sự khác biệt này đặc biệt quan trọng khi quản lý kiểm
thử tích hợp giữ hai modun mã lệnh được viết bởi hai chuyên viên thiết kế khác nhau,
trong đó chỉ giao diện là được đưa ra để kiểm thử. Kiểm thử hộp xám có thể cũng bao gồm
cả thiết kế đối chiếu để quyết định, ví dụ giá trị biên hay thơng báo lỗi.
1.2.7 Trường hợp kiểm thử (Test case)
Trường hợp kiểm thử (Test case) là một tập hợp các đầu vào thử nghiệm, điều kiện
thực thi và kết quả mong đợi được phát triển cho một mục tiêu cụ thể [18].
Trong quá trình kiểm thử phần mềm, thiết kế test case là một bước rất quan trọng
và có ảnh hưởng trực tiếp đến chất lượng phần mềm. Một bộ testcase tốt phải có mức độ
bao phủ tồn bộ phần mềm. Khi thiết kế các test case, các kiểm thử viên cần bám sát các
tài liệu kiểm thử như kế hoạch kiểm thử, tài liệu đặc tả,.v.v. để khơng bị bỏ sót bất kỳ
trường hợp nào. Thiết kế các test case càng chi tiết thì càng sớm phát hiện được nhiều lỗi
phần mềm. Từ đó mà các lập trình viên có thể nhanh chóng khắc phục lỗi và cải thiện chất
lượng phần mềm.
Thơng thường, một test case có chứa các thơng tin như Bảng 1.1.
ST
T

Thành phần

Mô tả

1

Mã test case

Mỗi test case chỉ có duy nhất một mã.

2


Mức độ ưu tiên

Mức độ ưu tiên sẽ giúp các kiểm thử viên, lập trình viên và
quản lý dự án dễ dàng kiểm soát chất lượng phần mềm ở thời
điểm hiện tại. Mức độ ưu tiên của test case có 3 loại là thấp,
trung bình và cao.

3

Người thực hiện

Tên của người viết test case.

4

Ngày thực hiện

Ngày mà test case được viết.

5

Người kiểm thử

Tên của người thực hiện kiểm thử.

6

Ngày kiểm thử

Ngày mà test case được kiểm thử.


7

Mục đích kiểm Tên test case phải ngắn gọn, dễ hiểu, chẳng hạn như “Kiểm
thử
tra in báo cáo đơn hàng”.

8

Tiền điều kiện

9

Các bước
hiện

VŨ HỒNG SƠN

Điều kiện cần hồn thành trước khi thực thi test case.

thực Nêu chi tiết các bước thực hiện kiểm tra test case.

17

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
10


Dữ liệu kiểm thử

Dữ liệu kiểm thử cụ thể cho từng test case. Kiểm thử viên có
thể nhập dữ liệu kiểm thử trực tiếp vào phần “Dữ liệu kiểm
thử” hoặc tạo một tập tin riêng biệt cho 1 hoặc nhiều test case.

11

Kết quả
muốn

12

Kết quả hiện tại

Kết quả so với “Kết quả mong muốn” ở thời điểm hiện tại.
Kết quả hiện tại là “Passed” khi giống với “Kết quả mong
muốn”, là “Failed” khi không đạt yêu cầu.

13

Ghi chú

Những ghi chú về kết quả sau khi thực hiện kiểm tra test case.

14

Loại kiểm thử

Lựa chọn Test case được kiểm thử thủ công hay tự động.


mong Kết quả mong muốn từ các bước thực hiện test case.

Bảng 1.1 Cấu trúc thông thường của một test case

Hình 1.2 : Biểu mẫu Testcase của Cơng ty cổ phần phát triển CNTT An Việt

1.2.8 Các nguyên tắc của kiểm thử
Để kiểm thử đạt hiệu quả thì khi tiến hành kiểm thử phần mềm cần phải tuân thủ
một số nguyên tắc sau:
Nguyên tắc 1: Kiểm thử chỉ ra sự hiện diện của lỗi
Kiểm thử có thể chỉ ra sự có mặt của lỗi, nhưng khơng thể chứng minh rằng phần
mềm khơng có lỗi. Việc kiểm thử làm giảm xác suất các khuyết tật chưa được tìm thấy
trong phần mềm, nhưng ngay cả khi khơng có lỗi được tìm thấy, đó cũng khơng phải là
một bằng chứng đúng đắn để khẳng định rằng phần mềm khồng có lỗi

VŨ HỒNG SƠN

18

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
Nguyên tắc 2: Kiểm thử đầy đủ, tồn bộ là khơng thể
Kiểm thử toàn bộ (kết hợp tất cả các yếu tố đầu vào và điều kiện tiên quyết) là
không khả thi trừ những trường hợp nhỏ và đơn giản. Thay vì kiểm thử đầy đủ, nên sử
dụng những đánh giá rủi ro và nỗ lực để ưu tiên tập trung kiểm thử
Nguyên tắc 3: Cần bắt đầu giai đoạn kiểm thử càng sớm càng tốt
Hoạt động kiểm thử nên bắt đầu càng sớm càng tốt trong chu trình phát triê phần

mềm và cần được tập trung vào các mục tiêu xác định
Nguyên tắc 4: Phân nhóm lỗi để xác định một số module tập trung nhiều lỗi
nhất
Thông thường, lỗi tập trung ở một số module, thành phần chức năng chính của hệ
thống. Nếu xác định được điều này chúng ta sẽ tập trung vào tìm kiếm lỗi quanh khu vực
được xác định. Nó được coi là một trong những cách hiệu quả nhất để thực hiện kiểm tra
hiệu quả.
Để hiểu rõ hơn nguyên tắc này, ta cần xem xét 3 điều sau:
- Nguyên tắc tổ gián: chỗ nào có 1 vài con gián thì ở đâu đó xung quanh nó sẽ có cả
tổ gián -> có rất nhiều gián -> chỗ nào có 1 vài bug thì xung quanh, gần chỗ đó sẽ có nhiều
bug.
- Ngun tắc Pareto (80/20): thơng thường 20% chức năng quan trọng trong một
chương trình có thể gây ra đến 80% tổng số bug phát hiện được trong chương trình đó.
- Kiểm thử tồn bộ là khơng thể (ngun tắc thứ 2): do đó cần phải ananlysis (phân
tích) + priorities (tính tốn mức độ ưu tiên) để quyết định tập trung vào test chỗ nào.
=> Test kỹ chức năng quan trọng => tìm bug => test những gì liên quan và những
chức năng gần nó để tìm ra bug nhiều hơn.
Nguyên tắc 5: Pestcide paradox
Nguyên tắc kiểm thử cũng như nguyên tắc sử dụng thuốc trừ sâu, khi chúng ta sử
dụng một loại thuốc trừ sâu mãi thì sẽ bị nhờn thuốc nên phải thay đổi loại thuốc khác.
Trong kiểm thử phần mềm, khi dùng đi dùng lại một bộ kiểm thử thì sẽ đến lúc khơng thể
tìm ra lỗi mới nữa. Chính vì vậy các bộ kịch bản kiểm thử phải được thường xuyên xem
xét và cập nhật, phù hợp với từng thành phần khác nhau của phần mềm, mang lại khả năng
tìm thấy lỗi lớn nhất

VŨ HOÀNG SƠN

19

Lớp CNPM A K60



Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
Nguyên tắc 6: Kiểm thử được thực hiện khác nhau trong những bối cảnh khác
nhau
Nguyên tắc này là việc testing phụ thuộc vào ngữ cảnh, test trong nhiều ngữ cảnh
khác nhau.
Để hiểu rõ hơn chúng ta xét ví dụ sau:
Ví dụ: Một chương trình có tên “Calculator” có nhiều chức năng nhưng:
- Nếu test chương trình này cho mẫu giáo thì chỉ cần test cộng trừ là được.
- Nếu test chương trình này cho cấp 2 thì cộng trừ nhân chia.
- Nếu test chương trình này cho đại học thì tích phân, đạo hàm…
Ngun tắc 7: Suy nghĩ khơng có lỗi là một sai lầm
Việc khơng tìm thấy lỗi trên sản phẩm không đồng nghĩa với việc sản phẩm đã sẵn
sàng để tung ra thị trường. Khơng tìm thấy lỗi cũng có thể là do các trường hợp kiểm thử
được tạo ra chỉ nhằm kiểm tra những tính năng được làm đúng theo yêu cầu thay vì tìm
kiếm lỗi mới. Đồng thời việc tìm ra và sửa lỗi sẽ khơng có tác dụng nếu như hệ thống được
xây dựng mà không sử dụng được hoặc là không đáp ứng được nhu cầu mong đợi của
người dùng.

VŨ HOÀNG SƠN

20

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VỀ KIỂM THỬ CHỨC NĂNG

Kiểm thử chức năng là một trong 4 loại kiểm thử chính thuộc mức kiểm thử thứ 2 –
Kiểm thử tích hợp (Integration Test) trong kiểm thử phần mềm. Vậy kiểm thử chức năng
có mục đích và vai trị như thế nào trong kiểm thử phần mềm?
2.1 Quy trình kiểm thử chức năng
2.1.1 Khái niệm
Quy trình kiểm thử phần mềm bao gồm một loạt các hành động đã được lập kế
hoạch, thực thi và kết quả được ghi lại và tài liệu hóa. Q trình này tập trung vào sự tồn
tại của lỗi trong các dự án phần mềm được phát triển [14]. Và khơng có quy trình kiểm thử
phần mềm tiêu chuẩn cố định nào trên thế giới, nhưng về cơ bản quy trình kiểm thử bao
gồm những giai đoạn: phân tích yêu cầu, lập kế hoạch kiểm thử, thiết kế kịch bản kiểm
thử, thiết lập môi trường kiểm thử, thực hiện kiểm thử và đóng chu trình kiểm thử.

Hình 2.1 Quy trình kiểm thử phần mềm
2.1.2 Phân tích u cầu
Đầu vào của giai đoạn phân tích yêu cầu bao gồm các tài liệu như: tài liệu đặc tả
yêu cầu, tài liệu thiết kế hệ thống, tài liệu khách hàng yêu cầu về các tiêu chí chấp nhận
của sản phẩm,..
Giai đoạn đầu tiên trong quy trình kiểm thử phần mềm là giai đoạn phân tích yêu
cầu. Người kiểm thử sẽ đọc hiểu, nghiên cứu và phân tích cụ thể các yêu cầu trong tài liệu
đặc tả của dự án hoặc tài liệu khách hàng. Thông qua hoạt động này, người kiểm thử sẽ
nắm bắt được các yêu cầu mà dự án đưa ra bao gồm yêu cầu kiểm thử chức năng và phi
chức năng nào. Ngồi ra, trong q trình phân tích, nghiên cứu tài liệu, nếu có câu hỏi phát
sinh hay đề xuất giải quyết, người kiểm thử sẽ đưa ra câu hỏi với các bên liên quan để hiểu
chính xác hơn về yêu cầu của sản phẩm.
Đầu ra của giai đoạn phân tích yêu cầu bao gồm tài liệu chứa các câu hỏi và câu trả
lời liên quan đến nghiệp vụ của hệ thống, tài liệu báo cáo tính khả thi, phân tích rủi ro của
việc kiểm thử phần mềm.

VŨ HOÀNG SƠN


21

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
2.1.3 Lập kế hoạch kiểm thử
Đầu vào của giai đoạn lập kế hoạch kiểm thử là các tài liệu đặc tả đã được cập nhật
thông qua các câu hỏi và trả lời được đưa ra trong giai đoạn phân tích yêu cầu, tài liệu báo
cáo tính khả thi, phân tích rủi ro của việc kiểm thử phần mềm.
Giai đoạn lập kế hoạch kiểm thử nhằm xác định một số yếu tố quan trọng về phạm
vi dự án, phương pháp tiếp cận, các nguồn lực và lập kế hoạch thiết kế công việc kiểm tra.
Trong đó, bản kế hoạch kiểm thử sẽ bao gồm các nội dung:
Thứ nhất, liệt kê các chức năng cần kiểm thử.
Thứ hai, xác định và trả lời các câu hỏi sau: Cần làm những cơng việc gì? Thời gian
thực hiện trong bao lâu? Chức năng nào thực hiện trước, chức năng nào thực hiện sau? Ai
là người thực hiện?
Thứ ba, xác định những điều kiện tối thiểu để bắt đầu hoạt động kiểm thử cho từng
chức năng.
Cuối cùng, xác định điều kiện kết thúc việc kiểm thử.
Đầu ra của giai đoạn lập kế hoạch kiểm thử bao gồm các tài liệu như bản kế hoạch
kiểm thử, test estimation, test schedule.
2.1.4 Thiết kế kịch bản kiểm thử
Đầu vào của giai đoạn thiết kế kịch bản kiểm thử là test plan, test estimation, test
schedule, các tài liệu đặc tả đã được cập nhật. Giai đoạn này gồm các hoạt động:
Review tài liệu: Review lại tất cả các tài liệu nhằm xác định cơng việc cần làm, các
cơng việc có khác gì so với dự án trước khách hàng đưa cho, chức năng nào cần kiểm tra,
chức năng nào không cần kiểm tra lại nữa.
Viết test case/ check list: Thiết kế kịch bản kiểm thử sao cho bao phủ được tất cả
các trường hợp kiểm thử có thể xảy ra cũng như đáp ứng đầy đủ các tiêu chí của sản phẩm.

Chuẩn bị dữ liệu kiểm thử: Cùng với việc tạo ra các test case chi tiết, đội kiểm thử
cũng cần chuẩn bị trước các dữ liệu kiểm thử cho các trường hợp cần thiết như test data,
test script.
Review test case/ check list: Sau khi hoàn thành, các thành viên trong đội kiểm thử
hoặc test leader cũng cần review lại test case đã tạo để có thể bổ sung, hỗ trợ lẫn nhau
nhằm tránh những sai sót trong thiết kế test case và rủi ro về sau.
Sau khi hoàn thành thiết kế kịch bản kiểm thử, đội kiểm thử sẽ có các tài liệu bao
gồm: test design, test case, check list, test data, test automation script.

VŨ HOÀNG SƠN

22

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
2.1.5 Thiết lập môi trường kiểm thử
Đầu vào của giai đoạn cài đặt môi trường kiểm thử là test plan, smoke test
case, test data.
Thiết lập môi trường kiểm thử là giai đoạn cũng rất quan trọng trong vòng đời phát
triển phần mềm. Môi trường kiểm thử quyết định bởi các điều kiện phần cứng và phần
mềm trong từng dự án. Thiết lập mơi trường kiểm thử có thể thực hiện song song với giai
đoạn sinh ca kiểm thử. Tuy nhiên, nhóm kiểm thử có thể khơng cần tham gia vào giai đoạn
này nếu đã có các bên liên quan khác hỗ trợ, nhiệm vụ của nhóm kiểm thử chỉ là yêu cầu
môi trường kiểm thử cần thiết.
Đầu ra của giai đoạn này là môi trường đã được cài đặt đúng theo yêu cầu, sẵn sàng
cho việc kiểm thử.
2.1.6 Thực hiện kiểm thử
Nhóm kiểm thử thực hiện kiểm thử theo kế hoạch và danh sách ca kiểm thử đã

chuẩn bị từ giai đoạn trước. Các lỗi phát hiện ở giai đoạn này được thơng báo lại cho nhóm
phát triển phần mềm để chỉnh sửa và thực hiện kiểm thử lại.
Tài liệu đầu vào của giai đoạn này là test plan, test design, test case, check list, test
data, test automation script.
Các hoạt động cụ thể trong giai đoạn này là: thực hiện kiểm thử theo kế hoạch; làm
tài liệu về kết quả kiểm thử, cập nhật lại các lỗi trong ca kiểm thử; kiểm thử lại các lỗi đã
được chỉnh sửa; kiểm tra để đóng lỗi; và báo cáo thường xuyên cho quản lý dự án và khách
hàng về tình hình thực hiện dự án.
Đầu ra của giai đoạn này là kết quả kiểm thử (test results), danh sách các lỗi tìm
được (defect reports).
2.1.7 Đóng chu trình kiểm thử
Nhóm kiểm thử sẽ họp, thảo luận và phân tích những bài học rút ra sau quá trình
kiểm thử, đưa ra chiến lược cho những lần kiểm thử kế tiếp hoặc chia sẻ kinh nghiệm cho
những dự án tương tự.
Các hoạt động cụ thể trong giai đoạn đóng chu trình kiểm thử là: Thứ nhất, người
kiểm thử phần mềm thực hiện tổng kết, báo cáo kết quả về việc thực thi các ca kiểm thử.
Chức năng nào đã hoàn thành, chưa hoàn thành hay trễ tiến độ bàn giao. Sau đó tiến hành
đánh giá việc hồn thành quy trình kiểm thử dựa vào thời gian, mức độ bao phủ, chi phí và

VŨ HỒNG SƠN

23

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
chất lượng. Cuối cùng là phân tích kết quả kiểm thử để tìm ra sự phân bố lỗi theo loại và
mức độ nghiêm trọng.
Kết thúc một chu trình kiểm thử là một phần mềm đã đạt yêu cầu và sẵn sàng bàn

giao cho khách hàng.
2.2 Kiểm thử chức năng
Kiểm thử chức năng là một loại kiểm thử hộp đen (black box) và testcase của nó
được dựa trên đặc tả của ứng dụng phần mềm/ thành phần đang test. Các chức năng được
test bằng cách nhập vào các giá trị nhập và kiểm tra kết quả đầu ra, và ít quan tâm đến cấu
trúc bên trong của ứng dụng
Nó là một qui trình cố gắng tìm ra các khác biệt giữa đặc tả bên ngoài của phần
mềm và thực tế mà phần mềm cung cấp. Với các đặc tả bên ngoài của phần mềm là đặc tả
chính xác về hành vi của phần mềm theo góc nhìn của người dùng.
2.3 Phương pháp kiểm thử chức năng
2.3.1 Phân vùng tương đương (Equivalence partitioning)
Phân vùng tương đương là phương pháp chia các điều kiện đầu vào thành những
vùng tương đương nhau. Tất cả các giá trị trong một vùng tương đương sẽ cho một kết quả
đầu ra giống nhau. Vì vậy chúng ta có thể test một giá trị đại diện trong vùng tương đương.
Các lớp tương đương được xác định bằng cách lấy mỗi trạng thái đầu vào (thường là một
câu hay một cụm từ trong đặc tả) và phân chia nó thành 2 hay nhiều nhóm.
Các bước thực hiện:
Thiết kế Testcase bằng phương pháp phân vùng tương đương được tiến hàng theo
hai bước:
- Xác định các lớp tương đương
- Xác định các ca kiểm thử
Ưu, nhược điểm:
- Ưu điểm: Vì mỗi vùng tương đương ta chỉ cần test trên các phần tử đại diện nên
số lượng testcase được giảm đi khá nhiều nhờ đó mà thời gian thực hiện test cũng giảm
đáng kể
- Nhược điểm: Khơng phải với bất kỳ bài tốn nào cũng áp dụng kỹ thuật này. Có
thể bị lách lỗi ở biên nếu chỉ chọn giá trị ở khoảng giữa của miền tương đương.
Ví dụ: Xác định phân vùng tương đương và testcase thích hợp theo yêu cầu: Zip
code: 5 chữ số


VŨ HOÀNG SƠN

24

Lớp CNPM A K60


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm
Phân vùng tương đương Zip code
 Ký tự số:
+ Không nhập ký tự nào
+ Nhập > 5 ký tự
+ Nhập < 5 ký tự
+ Nhập = 5 ký tự
 Ký tự chữ
 Ký tự đặc biệt
- Bảng các lớp tương đương
Điều kiện vào
Số zip code

Các lớp tương đương hợp lệ
Các ký tự số
Nhập 5 ký tự

Các lớp tương đương không hợp lệ
Các ký tự chữ
Các ký tự đặc biệt
Nhập > 5 ký tự
Nhập < 5 ký tự


Bảng 2.1 Các lớp tương đương
- Phát triển thành test case







Nhập Zip code = số => hợp lệ
Nhập Zip code = chữ => không hợp lệ
Nhập Zip code = ký tự đặc biệt => không hợp lệ
Nhập Zip code = 5 ký tự số => hợp lệ
Nhập Zip code > 5 ký tự số => không hợp lệ
Nhập Zip code < 5 ký tự số => khơng hợp lệ
2.3.2 Phân tích giá trị biên (Boundary value analysis)
Đây là phương pháp test mà chúng ta sẽ test tất cả các giá trị ở vùng biên của dữ
liệu vào và dữ liệu ra. Chúng ta sẽ tập trung vào các giá trị biên chứ khơng test tồn bộ dữ
liệu. Thay vì chọn nhiều giá trị trong lớp tương đương làm đại diện, phân tích giá trị biên
yêu cầu chọn một hoặc vài giá trị là các cạnh của lớp tương đương để làm điều kiện test.
Test các giá trị biên chúng ta chỉ cần test các phần sau: Thay vì phải test tồn bộ
vùng cần test ta có thể test 6 hoặc 4 case vẫn đảm bảo là hệ thống hoạt động tốt. Boundary
conditions là các vị trí ở giữa, trên và dưới các biên của lớp tương đương.
Một số điểm lưu ý:
Một số điểm cần lưu ý khi sử dụng phương pháp này:
- Luôn test trường hợp 0 nếu nó nằm trong vùng kiểm tra và một vài trường hợp
nếu nó nằm ngồi vùng bởi vì 0 là giá trị khá đặc biệt

VŨ HOÀNG SƠN


25

Lớp CNPM A K60


×