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

KIỂM THỬ PHẦN MỀM, NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE

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 (342.56 KB, 38 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
======***======

BÁO CÁO:
KIỂM THỬ PHẦN MỀM

NGHIÊN CỨU CÁC KỸ THUẬT
KIỂM THỬ WEBSITE
GVHD: Ths Hồng Quang Huy
Nhóm - Lớp: 12 - 20212IT6013002
Thành viên:

Hà nội, Năm 2022


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE

MỤC LỤC
I.

II.

III.

IV.

Tổng quan về kiểm thử phần mềm

6


1. Khái niệm

6

3. Vai trò của kiểm thử phần mềm

6

4. Một số loại hình kiểm thử phổ biến

7

Lý thuyết về kiểm thử website

9

1. Kiểm thử chức năng (Functionality Testing)

9

2. Kiểm thử tính khả dụng (Usability Testing)

10

3. Kiểm thử database (Database Testing)

11

4. Kiểm thử khả năng tương thích (Compatibility Testing)


12

5. Kiểm thử giao diện (Interface Testing)

14

6. Kiểm thử hiệu năng (Performance Testing)

17

7. Kiểm thử bảo mật (Security Testing)

17

8. Kiểm thử đám đông (Crowd Testing)

17

Kiểm thử cơ sở dữ liệu (Phạm Thành Đô)

19

1. Kiểm thử cấu trúc (Structural)

19

2. Kiểm thử chức năng của cơ sở dữ liệu (Functional)

22


3. Non-functional testing

24

Kiểm thử hiệu năng website (Nguyễn Huy Hưng)

25

1. Các loại kiểm thử hiệu năng website

25

2. Các vấn đề phổ biến về hiệu năng

25

3. Quy trình kiểm thử hiệu năng

26

4. Các thông số được theo dõi trong kiểm thử hiệu năng

27

5. Các trường hợp mẫu trong kiểm thử hiệu năng

29

Nhóm 12



NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
6. Một số công cụ kiểm thử hiệu năng cho website
V.

VI.

Kiểm thử giao diện website (Lê Thảo Vân)

29
31

1. Khái niệm

31

2. Các giai đoạn kiểm tra giao diện

31

3. Phương pháp tiếp cận để kiểm tra giao diện

33

Kiểm thử chức năng website (Khúc Ngọc Việt)

34

1. Kiểm thử liên kết


34

2. Kiểm thử web form

34

3. Kiểm thử cookie

35

4. Kiểm thử HTML và CSS

35

VII. Tổng kết

36

VIII. Tài liệu tham khảo

37

Tài liệu Tiếng Việt

37

Tài liệu tiếng Anh

37


Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE

LỜI MỞ ĐẦU
Ngày nay cơng nghệ thơng tin đã có những bước phát triển mạnh mẽ theo
cả chiều rộng và chiều sâu Máy tính điện tử khơng cịn là một thứ phương tiện
q hiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thơng
dụng của con người khơng chỉ ở cơng sở mà ngay cả trong gia đình. Đứng trước
vài trị của thơng tin hoạt động cạnh tranh gay gắt, các tổ chức và các nghiệp đều
tìm mọi biện pháp để xây dựng và hoàn thiện hệ thống thơng tin của mình nhằm
tin học hóa các hoạt động tác vụ của đơn vị. Hiện nay các công ty tin học hàng
đầu thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản
phẩm nhằm cho phép tiến hành thương mại hóa trên Internet. Thơng qua các sản
phẩm và công nghệ này, chúng ta để nhận ra tầm quan trọng và tính tất yếu của
thương mại điện tử. Với những thao tác đơn giản trên máy có nối mạng internet
bạn sẽ có trong tầm tay những gì mà mình cần mà khơng phải mất nhiều thời
gian. Từ những nhu cầu của người sử dụng mạng Internet và được sự hướng dẫn
tận tình của thầy Hồng Quang Huy, chúng em chọn đề tài " Nghiên cứu các kỹ
thuật kiểm thử website". Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và
cài đặt hệ thống nhưng chắc chắn vẫn không thể tránh khỏi những thiếu sót.
Chúng em rất mong nhận được sự thơng cảm và góp ý của q Thầy cơ.

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
I.


Tổng quan về kiểm thử phần mềm

1.

Khái niệm
Kiểm thử phần mềm là hoạt động thực tiễn sản phẩm hay dịch vụ phần mềm

trong đúng môi trường chúng dự định sẽ được triển khai nhằm cung cấp cho người có
lợi ích liên quan những thông tin về chất lượng của sản phẩm hay dịch vụ phần mềm
ấy. Mục đích của kiểm thử phần mềm là tìm ra các lỗi hay khiếm khuyết phần mềm
nhằm đảm bảo hiệu quả hoạt động tối ưu của phần mềm trong nhiều ngành khác nhau.
Nội dung của hoạt động kiểm thử bao gồm:
- Kế hoạch kiểm thử
- Phương pháp kiểm thử
- Chiến lược kiểm thử và kỹ thuật sử dụng

2.

Lý do chọn đề tài
Trong thời kỳ của Internet of Thing (IoT), khi mà mỗi đồ vật, con người được

cung cấp một định danh của riêng mình, và tất cả có khả năng truyền tải, trao đổi
thơng tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp
giữa người với người, hay người với máy tính. Bên cạnh sự phát triển mạnh mẽ của
các phần mềm không thể tách với công việc kiểm thử phần mềm – là thước đo cho
chuẩn đầu ra của một sản phẩm.
Trong quá trình xây dựng website hay phần mềm, nếu quy trình kiểm thử khơng
được diễn ra, khơng thể đảm bảo được tính an tồn và độ tin cậy cho sản phẩm. Ngược
lại, nếu kiểm thử diễn ra tốt sẽ giúp ta có được một phần mềm an toàn, dễ thao tác, các
mục tiêu sẽ được đáp ứng, chi phí bảo trì và sửa chữa cho sản phẩm sẽ được giảm

thiểu tối đa, giúp cho sản phẩm đi đúng hướng ban đầu đề ra, phần mềm sẽ có sức
thuyết phục với khách hàng… Chính vì vậy kiểm thử là một phần khơng thể thiếu
trong vịng đời sản phẩm.
Nhận thức được sự quan trọng và cũng như để có thể áp dụng được những kiến
thức đã học của môn “Kiểm thử phần mềm” chúng em xin được áp dụng công cụ kiểm
thử tự động vào dự án cụ thể là : “ Nghiên cứu các kỹ thuật kiểm thử website”.

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
3.

Vai trò của kiểm thử phần mềm
Việc tạo ra một sản phẩm phần mềm phải trải qua nhiều giai đoạn, người ta gọi

là quy trình phát triển phần mềm, bắt đầu từ khi có ý tưởng cho đến khi đưa ra sản
phẩm phần mềm thực thi. Khối lượng công việc trong từng giai đoạn của quá trình sản
xuất phần mềm cũng thay đổi theo thời gian.
Giai

Phân

Thiết kế

Thiết kế

Lập

Tích hợp và


Kiểm thử

đoạn

tích yêu

sơ bộ

chi tiết

trình và

kiểm thử tích

hệ thống

kiểm thử

hợp

cầu

đơn vị
1960 -

10%

1970


80%

10%

1980s

20%

60%

20%

1990s

40%

30%

30%

Bảng 1. Tỉ lệ công việc của các giai đoạn phát triển phần mềm
Như vậy, một sản phẩm phần mềm không chỉ đơn giản là các đoạn mã chương
trình mà cịn rất nhiều trong khi lập trình mà cịn xảy ra cao hơn trong các cơng đoạn
khách của quy trình phát triển một sản phẩm phần mềm. Việc kiểm thử cũng vì thế
phải được tiến hành trong tất cả các sản phần tạo nên một sản phẩm phần mềm .
4.

Một số loại hình kiểm thử phổ biến
Hiện nay, do sự phát triển mạnh mã của cơng nghệ phần mềm nên có một số


loại hình kiểm thử tiêu biểu như:
- Kiểm thử phần mềm trên Desktop: đây là các ứng dụng được cài đặt trực tiếp

trên máy tính cá nhân. Đây vẫn đang là những ứng dụng phổ biến nhất.
- Kiểm thử Web hay kiểm thử trên đám mây: với sự lớn mạnh của Internet thì

các ứng dụng web cũng ngày càng phát triển và đang dần thay thế các ứng
dụng trên Desktop truyền thống như Google Document, Microsoft web apps,


Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
- Kiểm thử trên Mobile: ngày nay xã hội với sự phát triển nhanh chóng, các

thiết bị di động (điện thoại thơng minh, máy tính bảng,…) có số lượng người
dùng cũng tăng lên chóng mặt, cùng với đó là số lượng phần mềm phục vụ
cho nhu cầu cũng tăng cao vì vậy đây là một lĩnh vực đầy tiềm năng và thách
thức trong cơng nghệ phần mềm.

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
II.

Lý thuyết về kiểm thử website
Trước khi đi sâu vào chi tiết, cần hiểu kiểm thử website là gì?
Kiểm thử website hay kiểm thử web là kiểm tra ứng dụng web hoặc trang web


của bạn để tìm các lỗi tiềm ẩn trước khi xuất hiện trực tuyến và cơng chúng có thể truy
cập được. Kiểm tra web kiểm tra chức năng, khả năng sử dụng, bảo mật, khả năng
tương thích, hiệu suất của ứng dụng web hoặc trang web.

Trong giai đoạn này, các vấn đề như bảo mật ứng dụng web, hoạt động của
trang web, quyền truy cập của nó đối với người dùng khuyết tật cũng như người dùng
thông thường và khả năng xử lý lưu lượng truy cập sẽ được kiểm tra. Trong Kỹ thuật
phần mềm, các loại kỹ thuật kiểm tra sau có thể được thực hiện tùy thuộc vào yêu cầu
kiểm tra web của bạn.
1.

Kiểm thử chức năng (Functionality Testing)
Việc kiểm thử chức năng đòi hỏi tester phải thực hiện test tất cả các chức năng

chính các link trong trang web, định dạng được sử dụng trong các trang web để gửi và
nhận các thông tin cần thiết từ người dùng. Ngồi ra cịn có kết nối cơ sở dữ liệu, kiểm
tra cookies và xác minh HTML/CSS.
Test links
Kiểm tra tất cả các link trong trang web của bạn đang hoạt động chính xác và
đảm bảo khơng có liên kết (links) nào bị chết bị hỏng. Link được kiểm thử bao gồm:
● Liên kết ngoài trang web
● Liên kết nội bộ
● Liên kết tới các vị trí trong cùng trang
● Liên kết sử dụng để gửi email tới admin hoặc người dùng khác trong trang...
Test Forms
Kiểm tra forms của các trang đảm bảo đã hoạt động như mong đợi, bao gồm
các yêu cầu sau:

Nhóm 12



NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
● Kiểm tra các trường của trang đã hoạt động đúng hay chưa. Ví dụ: nếu người
dùng khơng nhập vào các trường bắt buộc thì có hiển thị thơng báo lỗi hay
khơng?
● Kiểm tra giá trị mặc định của các trường là gì?
● Nhập đầu vào khơng đúng validate của các trường thì sao?
● Thao tác trên các trường: xem, nhập, lưu, sửa, xóa…có ổn định hay khơng
● Các form có thân thiện dễ nhìn và dễ thao tác hay khơng?
Test Cookies
Kiểm thử Cookies có đang hoạt động như mong đợi. Cookies là các tệp được
tạo bởi trang web đã truy cập để lưu trữ thông tin duyệt web, như các tùy chọn trang
web hoặc thông tin đăng nhập của người dùng. Người dùng có thể tùy chỉnh trên trình
duyệt nhằm quản lý cookies, thực hiện các thao tác cho phép lưu, hoặc xóa, hoặc
chặn…để kiểm thử các tính năng lưu hoặc khơng lưu trạng thái đăng nhập, tính năng
bảo mật của ứng dụng web. Test Cookies sẽ bao gồm:
● Kiểm tra cookie (sessions) sẽ bị xóa khi xóa bộ nhớ cache hoặc khi chúng hết
hạn.
● Xóa cookie (sessions) và kiểm tra thơng tin đăng nhập có được yêu cầu khi
bạn truy cập trang web lần sau.
Test HTML and CSS
Xác minh HTML/CSS: việc xác minh này đặc biệt quan trọng khi developer
thực hiện tối ưu hóa trang web cho các cơng cụ tìm kiếm, chủ yếu liên quan tới lỗi cú
pháp HTML. Tester sẽ kiểm thử xem trang web có được nhận diện bởi các cơng cụ tìm
kiếm khác nhau hay khơng (ví dụ: Google, Yahoo, Bing…)
Test business workflow - Bao gồm:
● Kiểm thử các test case từ khi bắt đầu đến lúc kết thúc, giúp người dùng có thể
đi qua theo 1 flow của trang web
● Kiểm thử các test case abnormal để khi người dùng thực hiện một số bước

unexpected thì sẽ thơng báo lỗi hoặc có tương tác phù hợp sẽ được hiển thị để
người dùng có thể biết khi thao tác.
2.

Kiểm thử tính khả dụng (Usability Testing)
Kiểm thử tính khả dụng hiện đã trở thành một phần quan trọng của bất kỳ dự án

nào. Nó có thể được thực hiện bởi Tester, dev, hoặc bất cứ người nào trong dự án.

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
Tính khả dụng của trang web được định nghĩa là trang web dễ sử dụng, có
hướng dẫn sử dụng rõ ràng, rành mạch, mỗi trang đều có menu chính và menu này
phải nhất quán. Tester cần lưu ý những điều này.
Kiểm tra Navigation: Menu, button, textbox, breadcrumb hoặc link đến các
trang khác nhau trên trang web của bạn phải dễ nhìn thấy và nhất quán trên tất cả các
trang web.
Kiểm tra nội dung: Nội dung phải dễ đọc khơng có lỗi chính tả hoặc ngữ pháp,
thân thiện với người dùng. Hình ảnh được sắp xếp gọn gàng, hợp lý.
3.

Kiểm thử database (Database Testing)
Trong kiểm thử database, các bản ghi dữ liệu phía backend đã được đưa lên ứng

dụng web hoặc desktop sẽ được kiểm thử. Dữ liệu đang hiển thị trong ứng dụng web
phải khớp với dữ liệu được lưu trữ trong database.
Những lưu ý khi thực hiện kiểm thử database:
● Người kiểm thử phải hiểu các yêu cầu chức năng, logic nghiệp vụ, luồng ứng

dụng và thiết kế database một cách kỹ lưỡng.
● Người kiểm tra phải tìm ra các bảng (tables), trình kích hoạt (triggers), thủ tục
lưu trữ (stored procedures), dạng xem (views) và con trỏ (cursors) được sử
dụng cho ứng dụng.
● Người kiểm tra nên hiểu logic của các trình kích hoạt, thủ tục lưu trữ, chế độ
xem và con trỏ được tạo.
● Người kiểm tra phải tìm ra các bảng bị ảnh hưởng khi chèn các thao tác cập
nhật và xóa (DML) được thực hiện thơng qua các ứng dụng web hoặc desktop.
Với sự trợ giúp của các mục đã đề cập ở trên, người kiểm thử có thể dễ dàng
viết các kịch bản kiểm thử cho kiểm thử database. Các ca kiểm thử (test cases) mẫu
được sử dụng trong kiểm thử database:
● Xác minh (Verify) tên database: Tên database phải khớp với thông số kỹ thuật.
● Xác minh Bảng, cột, loại cột và giá trị mặc định: Tất cả mọi thứ phải khớp với
thông số kỹ thuật.
● Xác minh xem cột có cho phép null hay khơng.
● Xác minh khóa chính (primary key) và khóa ngoại (foreign key) của mỗi bảng.
● Xác minh thủ tục lưu trữ (stored procedure): tên, nó đã được cài đặt hay chưa.

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
● Xác minh tên tham số, loại và số lượng tham số.
● Kiểm tra các tham số nếu chúng được yêu cầu hoặc khơng.
● Kiểm tra thủ tục lưu trữ bằng cách xóa một số tham số.
● Kiểm tra khi đầu ra (output) bằng 0, các bản ghi bằng 0 sẽ bị ảnh hưởng.
● Kiểm tra thủ tục lưu trữ bằng cách viết các truy vấn SQL đơn giản.
● Kiểm tra xem thủ tục lưu trữ có trả về các giá trị hay không.
● Kiểm tra thủ tục lưu trữ với mẫu dữ liệu đầu vào (input).
● Xác minh hành vi của mỗi cờ (flag) trong bảng.

● Xác minh dữ liệu có được lưu đúng cách vào database sau mỗi lần nộp trang
(page submission).
● Xác minh dữ liệu nếu các hoạt động DML (Cập nhật, xóa và chèn) được thực
hiện.
● Kiểm tra độ dài của mỗi trường (field): Độ dài trường ở front end và back end
phải bằng nhau.
● Xác minh tên database của QA, UAT và sản phẩm. Tên phải là duy nhất.
● Xác minh dữ liệu được mã hóa trong database.
● Xác minh kích thước database. Đồng thời kiểm tra thời gian phản hồi của mỗi
truy vấn được thực thi.
● Xác minh dữ liệu được hiển thị trên front end và đảm bảo dữ liệu đó hiển thị
giống với phía giao diện back end.
● Xác minh tính hợp lệ của dữ liệu bằng cách chèn dữ liệu không hợp lệ vào cơ
sở dữ liệu.
● Xác minh các trình kích hoạt (triggers).
4.

Kiểm thử khả năng tương thích (Compatibility Testing)
Được thực hiện để xác định xem website có hoạt động tương thích với các phần

tử trên hệ thống cụ thể hay khơng, ví dụ: trình duyệt, hệ điều hành, phần cứng, cơ sở
dữ liệu, các vấn đề với kết nối mạng...
Các kiểu của kiểm thử tương thích:
a) Kiểm tra website trên các trình duyệt khác nhau (Internet Explorer, Chrome,
Safari, Firefox, Opera) để đảm bảo website hiển thị đúng cách.

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE

b) Kiểm tra website trên các hệ điều hành khác nhau (Windows, Mac, Linux,
Android, iOS) bởi có thể cơng nghệ đồ họa, api, chính sách là khác nhau.
c) Kiểm tra phiên bản HTML, mã Javascript đang được sử dụng có tương thích
với các phiên bản trình duyệt thích hợp khơng.
d) Kiểm tra tính chính xác của việc hiển thị hình ảnh, hoạt ảnh gif, phơng chữ
trên các trình duyệt khác nhau.
Trong đó, thứ quan trọng nhất để truy cập website là thông qua trình duyệt. Mỗi
trình duyệt lại giải mã trang web theo những cách riêng, nghĩa là trang web có thể xuất
hiện theo các cách khác nhau tùy theo trình duyệt. Nhìn chung, hãy tránh phụ thuộc
vào hành vi cụ thể của trình duyệt, chẳng hạn như dựa vào trình duyệt để phát hiện
chính xác loại nội dung hay mã hóa trong khi nó khơng chỉ định cụ thể. Ngồi ra, có
một số bước ta có thể thực hiện để đảm bảo trang web hoạt động theo cách mong
muốn.
● Thử nghiệm trang web trong càng nhiều trình duyệt càng tốt: Khi đã tạo xong
thiết kế cho trang web, hãy xem lại giao diện và chức năng của trang web trên
nhiều trình duyệt để đảm bảo mọi khách truy cập đều có được trải nghiệm mà ta
đã rất nỗ lực để thiết kế. Nên bắt đầu thử nghiệm càng sớm càng tốt trong quá
trình phát triển trang web. Các loại trình duyệt – và thậm chí các phiên bản của
cùng một trình duyệt – có thể hiển thị trang web theo các cách riêng. Có thể
dùng các dịch vụ như Google Analytics để biết các trình duyệt phổ biến nhất
được dùng để xem trang web.
● Viết HTML hợp lệ và khơng có lỗi: Dù trang web có thể hiển thị đúng cách trên
một số trình duyệt thậm chí khi HTML khơng hợp lệ, nhưng khơng có gì đảm
bảo rằng trang web đó sẽ hiển thị đúng cách trên tất cả trình duyệt – hoặc trên
tất cả trình duyệt trong tương lai. Cách tốt nhất để đảm bảo trang web hiển thị
như nhau trên tất cả trình duyệt là dùng HTML và CSS hợp lệ để viết trang rồi
thử nghiệm trên càng nhiều trình duyệt càng tốt. HTML hợp lệ và khơng có lỗi
là một cách tốt để đảm bảo. Đồng thời, việc sử dụng CSS sẽ giúp tách bản trình
bày khỏi nội dung và có thể giúp các trang kết xuất và tải nhanh hơn. Các công
cụ xác thực (như công cụ xác thực HTML và CSS do W3 Consortium cung

cấp) rất hữu ích cho việc kiểm tra trang web. Ngoài ra, các cơng cụ như HTML

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
Tidy có thể giúp dọn dẹp mã một cách nhanh chóng và dễ dàng. (Nên sử dụng
HTML hợp lệ, tuy nhiên, HTML có thể không phải là một yếu tố ảnh hưởng
đến cách thức Google thu thập dữ liệu và lập chỉ mục trang web.)
● Chỉ định chế độ mã hoá ký tự: Để giúp các trình duyệt hiển thị văn bản trên
trang web, hãy ln ln chỉ định chế độ mã hóa cho văn bản. Hãy đặt chế độ
mã hóa này ở đầu tài liệu (hoặc khung) vì một số trình duyệt sẽ không nhận
dạng được các mục khai báo bộ ký tự xuất hiện sâu trong tài liệu. Ngoài ra, hãy
đảm bảo rằng máy chủ web đang không gửi đi các tiêu đề HTTP xung đột với
nhau. Một tiêu đề chẳng hạn như content-type: text/html; charset=ISO-8859-1
sẽ ghi đè mọi mục khai báo bộ ký tự trên trang.
5.

Kiểm thử giao diện (Interface Testing)
Khi bạn phát triển bất kỳ phần mềm hoặc một trang web nào, nó bao gồm các

thành phần khác nhau trong đó, chẳng hạn như cơ sở dữ liệu, máy chủ, v.v. Kết nối
giúp bạn thiết lập giao tiếp giữa các thành phần này được gọi là Giao diện. Kiểm thử
giao diện là một loại kiểm thử phần mềm, xác minh giao tiếp giữa hai hệ thống phần
mềm. Kiểm tra giao diện là gì trong trình tự sau:
- Kiểm thử giao diện là gì
- Các giai đoạn kiểm thử giao diện
- Các bước liên quan đến kiểm thử giao diện
- Tại sao chúng ta cần kiểm thử giao diện
- Phương pháp tiếp cận để kiểm thử giao diện

Kiểm thử giao diện
Là một loại kiểm thử phần mềm xác minh giao tiếp giữa hai hệ thống phần
mềm khác nhau. Nó kiểm tra xác thực của kết nối được thiết lập.
Kiểm tra giao diện bao gồm kiểm tra hai phân đoạn chính
- Máy chủ web và giao diện máy chủ ứng dụng
- Máy chủ ứng dụng và giao diện máy chủ cơ sở dữ liệu
Các giai đoạn kiểm thử giao diện
Có ba giai đoạn kiểm thử giao diện trong vòng đời của giao diện.

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE

● Cấu hình và phát triển:
Sau khi cấu hình giao diện và khởi tạo phát triển, cấu hình cần được xác minh
theo yêu cầu. Nói một cách dễ hiểu, xác minh sẽ diễn ra.
● Thẩm định
Sau giai đoạn cấu hình và phát triển, việc xác nhận giao diện là cần thiết.
● Sự bảo trì
Sau khi hồn thành dự án, khi dự án đạt đến giai đoạn làm việc, giao diện
được đặt để được giám sát về hiệu suất của nó. Một điều cần lưu ý là mã phải
khơng có lỗi, để thẩm vấn điều này, các thử nghiệm phải được tiến hành để
xác minh rằng bất kỳ mã nào được thêm vào đều khơng mang theo lỗi. Sau khi
hồn thành cơng việc, việc xác nhận dữ liệu và quy trình làm việc sẽ diễn ra.
Vì vậy, điều quan trọng là phải duy trì tính xác thực của chương trình.
Các bước liên quan đến Kiểm tra giao diện
Có một số bước nhất định liên quan đến q trình Kiểm tra giao diện

Nhóm 12



NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
● Kiểm thử đơn vị: Nó kiểm tra chức năng của một phần riêng lẻ của chương
trình. Nó đảm bảo mọi phần của chương trình chạy tốt và được căn chỉnh phù
hợp với phần mềm.
● Kiểm tra chức năng: Nó kiểm tra chức năng trong khi tạo trường hợp thử
nghiệm, xác thực, v.v.
● Kiểm tra bảo mật: Nó kiểm tra cơ chế bảo mật. Nó bao gồm kiểm tra thâm
nhập cùng với xác thực kiểm sốt truy cập, mã hóa, v.v.
● Kiểm tra tải: Bằng cách sử dụng các trường hợp kiểm tra chức năng, nó xác
nhận hiệu suất dưới tải.
● Phát hiện lỗi thời gian chạy: Nó giải quyết các vấn đề về cuộc chạy đua thời
gian chạy, rò rỉ tài nguyên, v.v.
● Kiểm tra quy trình làm việc: Nó được thực hiện để đảm bảo rằng công cụ giao
diện xử lý tốt quy trình cơng việc.
Tại sao chúng ta cần kiểm thử giao diện? Danh sách dưới đây cho thấy sự
cần thiết của kiểm thử giao diện:
- Để đảm bảo rằng người dùng cuối hoặc khách hàng không gặp bất kỳ sự cố
nào khi sử dụng một phần mềm cụ thể.
- Để xác định khu vực ứng dụng nào thường được người dùng cuối truy cập và
kiểm tra xem chúng có thân thiện với người dùng hay không.
- Để xác minh các yêu cầu bảo mật trong khi truyền thông tin giữa các hệ thống
- Để kiểm tra xem giải pháp có khả năng xử lý lỗi mạng giữa máy chủ ứng dụng
và trang web hay không
- Để đảm bảo rằng phần mềm xử lý lỗi thành thạo.
Phương pháp tiếp cận để kiểm tra giao diện
Sau đây là những điểm cần nhớ để thực hiện kiểm tra giao diện thành công:
● Xác định đúng yêu cầu
● Bắt đầu xây dựng các mã nhỏ và sau đó kiểm tra chúng, thay vì trực tiếp tạo ra

các đoạn mã lớn
● Tìm một số cơng cụ tự động hóa
● Đánh dấu điểm bắt đầu và điểm dừng, điều đó cuối cùng sẽ giúp kiểm tra hiệu
suất của bài kiểm tra

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
6.

Kiểm thử hiệu năng (Performance Testing)
Kiểm thử hiệu năng là để website làm việc dưới lượt tải nặng, được phân thành

hai phần: kiểm tra tần suất, kiểm tra lượt tải. Bao gồm:
● Kiểm tra thời gian phản hồi của website với tốc độ kết nối khác nhau.
● Kiểm tra website có xử lý được nhiều yêu cầu người dùng vào cùng một thời
điểm.
● Kiểm tra website có hoạt động tốt trong thời điểm lượt tải cao.
● Kiểm tra dữ liệu đầu vào lớn từ người dùng.
● Kiểm tra hành vi của website khi kết nối với cơ sở dữ liệu.
● Kiểm tra các phương pháp tối ưu hóa như giảm thời gian tải bằng cách bật bộ
nhớ cache trên trình duyệt và phía máy chủ, nén gzip…
7.

Kiểm thử bảo mật (Security Testing)
Kiểm thử bảo mật rất quan trọng đối với trang web thương mại điện tử lưu trữ

thông tin khách hàng nhạy cảm như thẻ tín dụng. Hoạt động kiểm tra sẽ bao gồm:
● Kiểm tra quyền truy cập trái phép vào các trang an tồn khơng được phép

● Các tệp bị hạn chế khơng thể tải xuống nếu khơng có quyền truy cập thích hợp
● Các phiên kiểm tra sẽ tự động bị ngắt sau khi người dùng không hoạt động
trong thời gian dài
● Khi sử dụng chứng chỉ SSL, trang web nên chuyển hướng lại các trang SSL
được mã hóa.
8.

Kiểm thử đám đơng (Crowd Testing)
a) Kiểm thử đám đơng là gì?
Crowd Testing chỉ đơn giản là thử nghiệm người dùng thông qua các nhóm

người rộng hơn. Bạn mở rộng phạm vi người thử nghiệm để có được kết quả hiệu quả.
Những người kiểm tra có thể trải dài trên các vị trí địa lý khác nhau. Họ thậm chí có
thể trải dài các quốc gia và lục địa. Bạn có thể có nhiều loại thiết bị để thử nghiệm.
Crowd Testing cung cấp các thiết bị và môi trường đa dạng, nhiều phiên bản để thử
nghiệm.
Cơ hội phát hiện lỗi tăng lên khi có nhiều người thử nghiệm (đám đơng) hơn.
Hiệu quả về chi phí và kết quả tốt hơn là một số lợi thế chính.

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
b) Các phần thường dùng trong kiểm thử đám đông
-

Kiểm thử chức năng

-


Kiểm thử nội bộ

-

Kiểm thử tính khả dụng

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
III.

Kiểm thử cơ sở dữ liệu (Phạm Thành Đô)
Đối với bất kỳ một ứng dụng nào thì Giao diện (Graphical User Interface –

GUI) chính là thành phần giao tiếp với người dùng. Chính vì thế, nó ln được chú
trọng nhất bởi các nhà quản lý cũng như đội ngũ phát triển.
Nhưng bên cạnh đó, để đảm bảo mọi thơng tin “giao tiếp” ấy là hồn tồn chính
xác, thì Cơ sở dữ liệu (Database) lại là một yếu tố quyết định, là trái tim của ứng dụng.
Hãy cùng xét đến ví dụ một người dùng sử dụng một ứng dụng ngân hàng và thực hiện
các giao dịch trên đó. Từ quan điểm của kiểm thử database, có những điểm quan trọng
sau đây cần phải xác minh:
Ứng dụng lưu trữ và hiển thị thông tin chính xác
1. Khơng có thơng tin bị mất mát trong q trình xử lý
2. Khơng lưu trữ các thơng tin giao dịch chưa hồn thành hoặc bị bỏ qua
3. Khơng thể truy cập thông tin của các người dùng khác
Các loại kiểm thử cơ sở dữ liệu
1. Kiểm thử sơ đồ (Schema)
2. Kiểm thử bảng và cột
3. Kiểm thử thủ tục (Stored Procedures)

4. Kiểm thử Trigger
5. Xác thực máy chủ cơ sở dữ liệu
6. Kiểm thử chức năng của cơ sở dữ liệu
7. Đăng nhập và bảo mật người dùng
8. Kiểm thử phi chức năng
Các loại kiểm thử Cơ sở dữ liệu. Có 3 loại:
1. Kiểm thử cấu trúc (Structural)
2. Kiểm thử chức năng (Functional)
3. Kiểm thử phi chức năng (Non-functional)
1. Kiểm thử cấu trúc (Structural)
Việc kiểm thử cấu trúc database bao gồm việc kiểm tra tất cả các phần tử bên
trong kho lưu trữ dữ liệu được sử dụng chủ yếu cho việc lưu trữ data mà không cho
phép người dùng cuối thao tác trực tiếp. Các truy vấn SQL chính là chìa khóa cho sự
thành cơng của giai đoạn này.
Kiểm tra sơ đồ (Schemas)

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
Mục tiêu chính của việc kiểm tra sơ đồ là để đảm bảo sự các sơ đồ được ánh xạ
giữa front-end và back-end là như nhau. Do đó, chúng ta cũng có thể tham chiếu kiểm
thử sơ đồ như kiểm thử ánh xạ (mapping testing).
Những điểm quan trọng trong việc kiểm tra sơ đồ:
1. Kiểm tra các kiểu dữ liệu của sơ đồ liên kết với cơ sở dữ liệu. Nhiều khi, việc
mapping định dạng của table có thể khơng tương thích với việc mapping định
dạng trên giao diện người dùng của ứng dụng.
2. Cần thiết kiểm tra các trường hợp: table, view, column khơng trùng khớp lẫn
nhau.
3. Ngồi ra, cũng cần thiết phải check các trường hợp dị biến của data (các

trường hợp thay đổi hay data khác thường) trong môi trường tổng thể của ứng
dụng.
Một số cơng cụ hữu ích cho kiểm thử sơ đồ:
DBUnit được tích hợp với Ant rất thích hợp để kiểm thử sơ đồ. SQL Server cho
phép tester có thể test và truy vấn các sơ đồ trong cơ sở dữ liệu của database bằng cách
viết những câu query đơn giản mà không cần thông qua code.
1. Nếu một lập trình viên muốn thay đổi cấu trúc của table hoặc xóa nó, tester
nên kiểm tra tồn bộ các thủ tục và các View mà sử dụng trong bảng tương
thích với các thay đổi.
2. Ví dụ khác là tester muốn kiểm tra sơ đồ thay đổi giữa 2 cơ sở dữ liệu, họ có
thể thực hiện việc đó bằng cách sử dụng những câu query đơn giản.
Kiểm tra Bảng và Cột trong cơ sở dữ liệu
Các loại kiểm thử khác nhau cho cột và cơ sở dữ liệu:
1. Check sự mapping giữa các trường (field) và cột của cơ sở dữ liệu ở back-end
và front-end.
2. Kiểm tra độ dài và quy ước đặt tên của các trường và cột trong database đã
đúng yêu cầu hay chưa.
3. Kiểm tra sự hiện diện của bất kỳ cột/bảng trong cơ sở dữ liệu chưa được sử
dụng/ánh xạ.
4. Kiểm tra sự tương thích giữa kiểu dữ liệu và độ dài của các cột trong cơ sở dữ
liệu và khi hiển thị trên ứng dụng.

Nhóm 12


NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE
5. Các trường trong cơ sở dữ liệu có cho phép người dùng cung cấp dữ liệu đầu
vào mong muốn như trong tài liệu u cầu cụ thể hay khơng.
Kiểm tra khóa và chỉ số:
1. Những yếu tố quan trọng trong kiểm thử khóa và chỉ số bao gồm:

2. Kiểm tra khóa chính và khóa ngoại cần thiết được có tạo trong các bảng yêu
cầu hay không.
3. Kiểm tra các tham chiếu của khóa ngoại có hợp lệ hay khơng.
4. Kiểm tra kiểu dữ liệu của khóa chính và khóa ngoại tương ứng có giống nhau
giữa hai bảng hay khơng.
5. Kiểm tra các khóa và index có tuân thủ các quy ước đặt tên hay khơng.
6. Kiểm tra kích thước và độ dài của các trường và index.
7. Kiểm tra xem clustered index và non-clustered index có được tạo trên các
bảng như được yêu cầu hay không.
Kiểm tra thủ tục (Stored procedures)
1. Những nội dung quan trong nhất đối với kiểm tra thủ tục bao gồm:
2. Dev team đã đáp ứng đúng yêu cầu hay chưa? Coding theo đúng quy ước tiêu
chuẩn? Xử lý các ngoại lệ và lỗi cho tất cả các thủ tục, modun của toàn bộ ứng
dụng đang được test.
3. Dev team đã đảm bảo cho các điều kiện/vòng lặp bằng cách áp dụng các dữ
liệu đầu vào cần thiết cho ứng dụng đang được test hay chưa
4. Dev team đã thực hiện đúng việc TRIM dữ liệu bất cứ khi nào lấy data từ các
bản cần thiết trong database hay chưa.
5. Kết quả của việc thực hiện chạy bằng tay các thủ tục có đúng với u cầu hay
khơng
6. Việc thực hiện chạy bằng tay các thủ tục có đảm bảo các trường trong bảng
được update theo đúng yêu cầu của ứng dụng hay không
7. Việc thực hiện các thủ tục bằng cách gọi thơng qua trigger có đúng hay khơng
8. Kiểm tra xem có các thủ tục nào khơng được sử dụng khơng
9. Kiểm tra việc có phép điều kiện Null hay không trong cơ sở dữ liệu hay không
10.

Kiểm tra xem thực tế tất cả các thủ tục và chức năng có chạy đúng khi cơ

sở dữ liệu là trống hay khơng


Nhóm 12



×