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

KIỂM THỬ ỨNG DỤNG WEBSITE TRÊN THIẾT BỊ DI ĐỘNG HỆ ĐIỀU HÀNH ANDROID

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.01 MB, 82 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
NGUYỄN THỊ HỒNG
KIỂM THỬ ỨNG DỤNG WEBSITE TRÊN THIẾT BỊ
DI ĐỘNG HỆ ĐIỀU HÀNH ANDROID
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
HƯNG YÊN - 2014
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
NGUYỄN THỊ HỒNG
KIỂM THỬ ỨNG DỤNG WEBSITE TRÊN THIẾT BỊ
DI ĐỘNG HỆ ĐIỀU HÀNH ANDROID
NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: MẠNG MÁY TÍNH & TRUYỀN THÔNG
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
NGƯỜI HƯỚNG DẪN
TH.S ĐỖ THỊ THU TRANG
HƯNG YÊN - 2014
2
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
MỤC LỤC
3
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
DANH SÁCH HÌNH VẼ
4
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
DANH SÁCH BẢNG BIỂU
5
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
DANH SÁCH TỪ VIẾT TẮT


Từ viết tắt Từ đầy đủ Giải thích
AVD Android Virtual Device Máy ảo Android
HĐH Hệ Điều Hành Hệ Điều Hành
JDK Java Development Kit Bộ công cụ phát triển Java
SDK Software Development Kit Bộ công cụ phát triển phần mềm
6
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Lý do chọn đề tài
Như chúng ta đã biết lĩnh vực web rất có tiềm năng mang lại lợi nhuận cao
trong các dự án kinh doanh. Tuy nhiên, thách thức chính mà chúng ta gặp phải đó
chính là nắm bắt các công nghệ liên quan để làm chủ môi trường tốt hơn.
Sự phát triển mạnh mẽ của các ứng dụng di động trên toàn thế giới cho thấy
nhu cầu của người dùng ngày càng cao, tính tiện ích của di động ngày càng được
chú trọng. Trên cơ sở đó, việc kiểm thử ứng dụng di động phải được thực hiện chặt
chẽ trước khi phát hành cho khách hàng. Tháng 7/2008 Apple ra mắt kho ứng dụng
di dộng trực tuyến đầu tiên với 500 ứng dụng cho các sản phẩm iPhone, iPad. Khi
đó thị trường ứng dụng mobile hầu như chưa hề tồn tại. Đến nay, App Store đã có
hơn 400,000 ứng dụng với 10 tỷ lượt tải về, dẫn đầu ngành về dịch vụ ứng dụng cho
di động. Sau thành công của Apple các hãng di động nhận thấy tiềm năng của thị
trường Mobile Apps đã liên tiếp cho ra mắt kho ứng dụng của mình. Tiêu biểu là
Ovi Store của Nokia (55,000 ứng dụng, 760 triệu download), Android Market của
Google (200,000 ứng dụng, 4,5 tỷ download), Góp vào tổng doanh thu hàng năm
ngành lên tới 7 tỷ USD, dự báosẽ đạt 30 tỷ USD trong 3 năm tới. Tại Việt Nam, một
số doanh nghiệp đã xây dựng kho ứng dụng di động riêngnhư F-Store của FPT,
mStore của Tổng công ty Viễn thông Quân đội Viettel, LG Application Mobile của
LG hay Nokia Ovi với phiên bản dành cho thị trường Việt Nam. VTC Mobile, một
trong các đơn vị dẫn đầu thị phần dịch vụ giá trị gia tăng trên di động giai đoạn
2006-2010 tại Việt nam cũng đã hợp tácvới Q-mobile để xây dựng Q-Store, cung
cấp các ứng dụng do Việt Nam xâydựng tới hàng triệu người sử dụng Q Mobile.

Andoird-Hệ điều hành mạnh mẽ và phát triển với tốc độ chóng mặt của Google,
Android là xu hướng và nền tảng của mobile trong tương lai. Điện thoại Android có
nhiều ưu thế bởi nó thân thiện, hợp túi tiền, tùy biến cao, nhiều ứng dụng…hoặc chỉ
đơn giản vì nó đang thống lĩnh trên thị trường.Nhưng ưu thế nổi bật nhất phải kể
đến của Android là hệ mã nguồn mở.
7
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
Xuất phát từ nhu cầu và thực trạng trên, em lựa chọn đề tài “Kiểm thử ứng
dụng website trên thiết bị di động hệ điều hành Android” nhằm mục đích giới
thiệu cơ bản về kiểm thử Website và kiểm thử Website trên thiết bị di động.
1.2 Mục tiêu đề tài
• Nắm được lý thuyết về kiểm thử website như các phương pháp, kỹ thuật,
các vấn đề cần chú ý khi kiểm thử website.
• Tìm hiểu được lý thuyết liên quan đến kiểm thử ứng dụng trên thiết bị di
động, kiểm thử ứng dụng website trên thiết bị di động.
• Trình bày được điểm khác biệt khi kiểm thử ứng dụng website trên máy
tính và trên thiết bị di động hệ điều hành Android.
• Ứng dụng kiểm thử website trên thiết bị di động hệ điều hành Android.
• Xây dựng hệ thống tài liệu liên quan đến kiểm thử các ứng dụng website
trên thiết bị di động và áp dụng kiểm thử trên hệ điều hành Android.
1.3 Giới hạn và phạm vi đề tài
Đề tài tập trung nghiên cứu kiểm thử ứng dụng website, thực hiện kiểm thử
một ứng dụng website thực tế trên thiết bị di động hệ điều hành Android.
1.4 Nội dung thực hiện
• Tìm hiểu tổng quan lý thuyết về kiểm thử website.
• Tìm hiểu quy trình, các phương pháp, các kỹ thuật kiểm thử dự án
website.
• Áp dụng các phương pháp, kỹ thuật kiểm thử website vào kiểm thử ứng
dụng website thực tế.
• Lập được bản testcase mô tả về các trường hợp gây lỗi của dự án

website, đưa ra các kết quả mong đợi và các kết quả thực tế đã thu được
trong quá trình kiểm thử.
• Thực hiện kiểm thử theo bản testcase đã lập.
• Thống kê, báo cáo các lỗi website đã kiểm thử được.
1.5 Phương pháp tiếp cận
• Nghiên cứu các tài liệu trên sách báo, Internet về kiểm thử website trên
thiết bị di động.
8
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
• Tham gia vào các diễn đàn về kiểm thử ứng dụng di động, hỏi đáp về các
vấn đề liên quan đến kiểm thử website trên di động.
• Trao đổi với thầy cô hướng dẫn.
9
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về kiểm thử website
2.1.1 Khái quát
Các ứng dụng web đã được phát triển và trở thành một nền tảng kết nối
thông tin thiết yếu trong nhiều doanh nghiệp. Các ứng dụng web đóng vai trò quyết
định của thương mại điện tử, trao đổi thông tin.
Để có thể đạt được điều này, các ứng dụng web cần phải có hiệu năng cao,
đáng tin cậy. Việc đưa ra một ứng dụng web hoàn hảo cho những người đang và sẽ
sử dụng ứng dụng đã trở thành một thách thức chính trong đảm bảo chất lượng.
Kiểm thử là một trong những công việc quan trọng để có thể đánh giá chất lượng
của một sản phẩm và đương nhiên là các ứng dụng web cũng sẽ không phải là ngoại
lệ. Các phương pháp kiểm thử thông thường và các kỹ thuật sẽ tập trung vào đánh
giá các chức năng yêu cầu của ứng dụng. Tuy nhiên, không thể nào tập trung được
vào hết tất cả các chức năng yêu cầu, bởi có rất nhiều chức năng quan trọng cho
người sử dụng ứng dụng như đó là tính hiệu năng, tính dễ sử dụng, độ tin cậy và
tính bảo mật cần phải được xem xét. Những yêu cầu và mong đợi của người sử

dụng, những vấn đề về nền tảng cấu hình, mô hình nghiệp vụ, sự phát triển và chi
phí cho việc kiểm thử là những vấn đề thường hay gặp phải và thay đổi liên tục đổi
xuyên suốt chu trình của một ứng dụng web. Vì thế, cần thiết phải phát triển một
chiến lược hiệu quả cho việc kiểm thử mà có thể bao quát được giới hạn tổng thể
rộng lớn của những yêu cầu, chức năng cho một ứng dụng web qua đó có thể giúp
cho việc cài đặt, hoàn thành ứng dụng cũng như tránh được các rủi ro có thể gặp.
2.1.2 Mục đích của kiểm thử website
Các ứng dụng web đưa ra những thách thức mới trong việc đánh giá và kiểm
thử. Các ứng dụng web bao gồm nhiều thành phần khách nhau có thể được cung
cấp bởi những nhà phát triển khác nhau. Chất lượng của một ứng dụng web về cơ
bản phụ thuộc vào các thành phần kể trên và khả năng tương tác giữa chúng. Kiểm
10
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
thử là một trong những công cụ quan trọng nhất trong quá trình phát triển một ứng
dụng web để tạo ra những sản phẩm với chất lượng cao đáp ứng được mong đợi của
người dùng. Việc kiểm thử một cách có phương pháp và hệ thống các ứng dụng web
là một điều quan trọng và chúng nên được quan tâm xứng đáng trong quy trình tạo
ra một sản phẩm web. Kiểm thử là một biện pháp nhắm vào việc tìm ra các lỗi,
thiếu sót trong ứng dụng dưới góc độ kỹ thuật. Hiện nay có rất nhiều phương pháp
và kỹ thuật tiên tiến, hiệu quả để kiểm thử những hệ thống phần mềm. Tuy nhiên,
chúng ta không thể áp dụng một cách cứng nhắc những phương pháp hay kỹ thuật
áp dụng cho phần mềm truyền thống lên những ứng dụng web. Vậy vấn đề đặt ra ở
đây là chúng ta cần phải linh hoạt khi áp dụng làm cho những phương pháp này phù
hợp, thích ứng với việc kiểm thử các ứng dụng web.
Kiểm thử các ứng dụng web đã vượt qua giới hạn của kiểm thử những hệ
thống phần mềm truyền thống. Như chúng ta đã biết, một ứng dụng web thường có
rất nhiều nhóm người sử dụng với rất nhiều những nền tảng khác nhau (hệ điều
hành, trình duyệt…), điều này dẫn tới việc kiểm thử một ứng dụng web cần phải có
những phương pháp đặc biệt khác với phần mềm truyền thống. Thông thường, rất
khó để có thể đoán trước được số lượng người sẽ sử dụng một ứng dụng web là bao

nhiêu. Thời gian hồi đáp lại yêu cầu của người sẽ sử dụng một ứng dụng web là bao
nhiêu. Thời gian hồi đáp lại yêu cầu của người sử dụng là một yếu tố then chốt
trong số những yếu tố quyết định thành công của một ứng dụng web trên internet và
nó cần được quan tâm và kiểm thử sớm. Những yếu tố còn lại như khả năng - giá trị
sử dụng, tính bảo mật, tính tương thích với các trình duyệt, hiệu năng cũng rất quan
trọng và cần được quan tâm đến sớm trong công việc kiểm thử.
2.1.3 Các phương pháp kỹ thuật khi kiểm thử ứng dụng website
a) Thử nghiệm liên kết (Link)
Liên kết bên trong một cấu trúc siêu văn bản mà điểm đến không tồn tại một
nút (các trang web, hình ảnh…) được gọi là liên kết hỏng và đại diện nổi tiếng và
thường xuyên xảy ra sai sót trong các ứng dụng web.
11
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
Khi chạy một thói quen kiểm tra liên kết, người ta thường thấy các liên kết
không chỉ là điểm đến không tồn tại trang, nhưng cũng có các trang không được
interlinked với những người khác hoặc cái gọi là các trang mồ côi. Những trang mồ
côi có thể được đạt đến thông qua một liên kết nhưng không có một liên kết đến cấu
trúc siêu văn bản. Để đơn giản cho người sử dụng nó không rõ ràng nơi để đi tới, để
họ rời bỏ trang web. Các trang là thiết kế lý tưởng để họ kết thúc bằng một đề nghị
của nơi người đọc có thể đi tiếp theo.
Ngoài ra, khi vượt qua các liên kết, người ta thường có thể tìm thấy dữ liệu
bổ sung để cung cấp chỉ dẫn tiềm năng lỗi, ví dụđộ sâu và bề rộng của các cơ cấu
chuyển hướng, khoảng cách giữa hai trang liên quan đến các trang, được đo bằng số
lượng các liên kết hoặc lần tải của các trang.
b) Thử nghiệm trình duyệt
Một số lượng lớn các trình duyệt web khác nhau có thể được sử dụng như là
các khách hàng cho các ứng dụng web. Tùy thuộc vào nhà sản xuất (ví dụ:
Microsoft, Mozilla, Netscape, Opera) hoặc phiên bản (ví dụ: trình duyệt internet
Explorer cho Windows XP/2000, Windows 98/ME/NT, hoặc Macintosh), hoặc các
thiết bị phần cứng (ví dụ như màn hình có độ phân giải và độ sâu màu), hoặc cấu

hình (ví dụ: kích hoạt các cookie, script ngôn ngữ, Stylesheet), mỗi trình duyệt web
cho thấy một hành vi khác nhau. Tiêu chuẩn như những quy định của W3C thường
không thực hiện đầy đủ và “nâng cao” do không tương thích nhà cung cấp, mở rộng
số liệu thống kê cụ thể và trình duyệt web và cài đặt có sẵn trên mạng.
Thử nghiệm trình duyệt cố gắng để tìm ra lỗi trong ứng dụng web do không
tương thích khác nhau giữa các trình duyệt web. Nhằm mục đích này, người ta
thường định nghĩa cốt lõi của một ứng dụng web chức năng, thiết kế trường hợp thử
nghiệm phù hợp, và chạy các thử nghiệm trên các hệ thống khác nhau với những
phiên bản trình duyệt khác nhau. Trong những thử nghiệm này, cần hỏi một trong
những câu sau đây:
12
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
- Một trang web có thể được đánh dấu trong một giao dịch, và có thể
người dùng sẽ trở lại trang đó sau này mà không cần phải nhập tên
người dùng và mật khẩu để đăng nhập?
- Người sử dụng có thể sử dụng các ứng dụng web để mở đồng thời
nhiều cửa sổ trong trình duyệt?
- Các ứng dụng web phản ứng như thế nào khi trình duyệt có cookie
hoặc tập lệnh ngôn ngữ ngừng hoạt động?
Để hạn chế số lượng kết hợp có thể có của các trình duyệt, nền tảng, cài đặt,
và nhiều yếu tố ảnh hưởng đến một tập thể quản lý các trường hợp kiểm tra, các cấu
hình của hiện tại hoặc tiềm năng người dùng cần phải phân tích, ví dụ bằng cách
đánh giá các tệp tin sổ ghi và tư vấn thống kê của trình duyệt, để tìm các kết hợp
phổ biến.
c) Kiểm thử khả năng sử dụng
Kiểm tra đánh giá khả năng sử dụng của các vấn đề của sử dụng các mẫu
thiết kế web khác nhau, bố trí tổng thể và sự điều hướng của một ứng dụng web
bằng một tập các đại diện người sử dụng, trọng tâm là sự xuất hiện và khả năng sử
dụng. Một thử nghiệm khả năng sử dụng chính thức thường được tiến hành trong
phòng thí nghiệm thiết lập, sử dụng các phòng kính trang bị máy quay video và một

trạm thu âm. Cả hai dữ liệu định hướng và định tính được thu thập.
Loại thứ hai của việc đánh giá khả năng sử dụng là một đánh giá xem xét.
Một đánh giá xem xét bao gồm một hoặc nhiều chuyên gia giao diện khách áp dụng
một bộ các hướng dẫn để đo khả năng sử dụng của một giải pháp, xác định các khu
vực để khắc phục, và cung cấp các khuyến nghị cho thay đổi thiết kế. Hệ thống
đánh giá khả năng sử dụng các nguyên tắc sử dụng đó phải được theo sau bởi tất cả
các nhà thiết kế giao diện người dùng chẳng hạn như công tác phòng chống lỗi,
cung cấp thông tin phản hồi và nhất quán…
Trong bối cảnh khả năng sử dụng thử nghiệm các vấn đề làm việc có thể truy
cập web cho người dùng bị khuyết tật đã được điều chỉnh. Khả năng tiếp cận có
13
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
nghĩa là người khuyết tật (ví dụ như thị giác, thính giác hoặc nhận thức) có thể nhận
thức, hiểu, điều hướng và tương tác với web.
WAI (The Web Accessibility Initiative) của W3C đã phát triển phương pháp
tiếp cận để đánh giá trang web cho khả năng tiếp cận, mà cũng có liên quan đến thử
nghiệm các ứng dụng web.
d) Load, Stress và kiểm thử tính liên tục
Kiểm thử khả năng chịu tải, áp lực và kiểm thử liên tục được dựa trên các thủ
tục tương tự. Một số yêu cầu được gửi đến các ứng dụng web nhỏ hơn đồng thời
kiểm tra bởi người dùng mô phỏng để đo lường phản ứng lần và thông qua. Các yêu
cầu sử dụng trong các thử nghiệm này được tạo ra bởi một hoặc một vài “máy tải”.
Một ứng dụng kiểm soát phân phối với các tập lệnh kiểm tra trên máy tải, nó cũng
đồng bộ hóa các hoạt động thử nghiệm và thu thập các kết quả thử nghiệm.
Tuy nhiên, kiểm thử khả năng chịu tải, áp lực và kiểm thử tính liên tục có các
mục tiêu kiểm thử khác nhau:
- Một kiểm thử khả năng chịu tải xác minh hay không hệ thống sẽ đáp
ứng đúng thời gian đáp ứng yêu cầu và các yêu cầu thông qua.
- Kiểm tra xác minh sự căng thẳng, áp lực hay không hệ thống phản
ứng một cách kiểm soát trong “những tình huống căng thẳng”. Tình

huống căng thẳng được mô phỏng bằng cách áp dụng điều kiện khắc
nghiệt, chẳng hạn như không thực tế quá tải, hoặc rất nhiều biến động
nạp.
- Kiểm thử tính liên tục có nghĩa là hệ thống được thực hiện trong một
khoảng thời gian dài để khám phá những lỗi tinh vi, khó phát hiện.
e) Kiểm tra tính bảo mật
Tiêu chí quan trọng nhất cho 1 ứng dụng web có lẽ là tính bảo mật. Sự cần
thiết phải quản lý truy cập thông tin, để xác minh danh tính người dùng và để mã
hóa thông tin bí mật là quan trọng tối thượng. Kiểm tra bảo mật là một lĩnh vực
rộng, nó không đại diện cho một kỹ thuật thử nghiệm theo nghĩa đen. Nó liên quan
đến các vấn đề mang tính chất “bảo mật”:
14
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
- Bảo mật: Ai có thể truy cập dữ liệu? Ai có thể sửa đổi và xóa dữ liệu?
- Quyền hạn: Làm thế nào và ở đâu thì có quyền truy cập quản lý? Tất
cả dữ liệu phải được mã hóa? Dữ liệu đã được mật mã như thế nào?
- Thẩm định quyền hạn: Làm thế nào để người dùng hoặc máy chủ xác
định chính mình?
- Trách nhiệm: Đăng nhập như thế nào?
- Tính toàn vẹn: Thông tin được bảo vệ như thế nào để khỏi bị thay đổi
trong quá trình truyền?
f) Test- hướng phát triển
Test hướng phát triển nổi lên từ thử nghiệm đầu tiên tiếp cận được sử dụng
trong Extreme lập trình, nhưng nó không nhất thiết phải cách tiếp cận dự án một
cách nhanh nhẹn. Điều này có nghĩa rằng chúng ta có thể sử dụng kỹ thuật này,
ngay cả trong các dự án thường.
Như tên của nó, kiểm tra hướng phát triển là thử nghiệm mà được tạo ra mã
hóa trước khi làm việc. Mã mới được viết, nếu một thử nghiệm trước đó tạo ra
không thành công, các nhà phát triển phải viết bài kiểm tra trước khi họ tiến hành để
thực hiện. Trong cách này, việc phát triển các thiết kế và tất cả các đơn vị đã thử

nghiệm đơn vị của nó. Thiết kế tự nhiên bao gồm rất nhiều cố kết và cùng các thành
phần lỏng lẻo, tạo điều kiện cho các thử nghiệm.
Sau khi thử nghiệm không thành, phát triển thực hiện những gì là tuyệt đối
cần thiết để thành công chạy kiểm tra càng nhanh càng tốt, mặc dù điều này có
nghĩa là vi phạm một vài nguyên tắc.
2.1.4 Các kỹ thuật kiểm thử trên Website
a) Phân chia lớp tương đương (Equivalence class partitioning)
- Là kỹ thuật chia vùng thông tin nhập vào các chương trình thành các lớp
thông tin. Lớp thông tin biểu diễn thành một tập các giá trị hợp lệ và
không hợp lệ.
- Là quá tình giảm số lượng các test case nhưng vẫn đảm bảo được hiệu
quả tương đương như khi kiểm thử với số lượng test case cũ.
15
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
- Lớp tương đương là một tập các test case kiểm tra những trường hợp
tương tự nhau để khám phá những lỗi tương tự nhau.
b) Kiểm tra luồng điều khiển (Control flow testing)
Hình 2-1: Kiểm tra luồng điều khiển
c) Kiểm tra luồng dữ liệu (Data flow testing)
- Kỹ thuật lựa chọn một số đường diễn tiến của chương trình dựa vào việc
cấp phát, định nghĩa và sử dụng những biến trong chương trình.
- Kiểm thử có thể bao trùm tất cả các nhánh của chương trình.
d) Kiểm tra giao dịch (Transsaction testing)
- Kiểm tra các giao dịch tại thời điểm bắt đầu, kết thúc của từng xử lý.
- Ví dụ web đặt hàng qua mạng, sẽ phải xử lý giao dịch nào trước như chọn
hàng trước khi đặt hàng.
e) Kiểm tra miền (Domain testing)
- Test lựa chọn một số trường hợp kiểm thử tại các giá trị biên(trên, dưới)
của miền dữ liệu được nhập và ứng dụng website.
- Nguyên tắc của phân tích giá trị biên:

 Nếu điều kiện đầu vào xác định một phạm vi được chỉ định bởi 2 giá
trị a và b, những trường hợp kiểm thử sẽ được thiết kế tại các giá trị
biên a và b, và trên a và dưới b.
 Nếu điều kiện đầu vào xác định một phạm vi được chỉ định bởi tập
hợp nhiều giá trị, những trường hợp kiểm thử sẽ được thiết kế tại các
16
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
giá trị biên min và max của tập hợp đó, các giá trị lớn hơn max và nhỏ
hơn min cũng được kiểm thử.
 Áp dụng hai nguyên tắc trên cho giá trị trả về.
f) Kiểm tra lặp (Loop testing)
Hình 2-2: Các loại vòng lặp
- Kiểm tra vòng lặp trong code web.
- Kiểm tra vòng lặp khi test hành vi toàn hệ thống
g) Kiểm tra cú pháp (Syntax testing)
Test định dạng: ngày, tháng, năm, số, text…theo một định dạng xác định
trước.
h) Kiểm tra trạng thái (State machine testing)
- Kiểm tra trạng thái khi có sự chuyển đổi trạng thái của các đối tượng.
- Ví dụ: khi có tài khoản đăng nhập và Web thì sẽ được download những
tiện ích, tài liệu của web, khi không có tài khoản chỉ có thể giới hạn việc
xem thông tin trên web mà không có nhiều sự tương tác với ứng dụng
web.
17
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
2.1.5 Những vấn đề cần chú ý khi test website
Các trang web là các ứng dụng client/server (các máy chủ web và “trình
duyệt” của khách hàng) cơ bản. Cần xem xét đến sự tương tác giữa các trang
HTML, dịch vụ web, thông tin liên lạc đã được mã hóa, kết nối Internet, tường lửa,
các ứng dụng chạy trong các trang web (như javascript, flash, plug-in các ứng

dụng), nhiều ứng dụng có thể chạy ở phía máy chủ… Ngoài ra, có rất nhiều loại
máy chủ và các trình duyệt, các phiên bản khác nhau nhưng đôi khi sự khác biệt
giữa chúng, các biến đổi trong tốc độ kết nối, công nghệ thay đổi nhanh chóng, các
tiêu chuẩn và giao thức. Kết quả cuối cùng là kiểm thử các trang web có thể trở
thành một nỗ lực lớn đang diễn ra. Những điều cần xem xét khác có thể bao gồm:
- Tải mong muốn trên máy chủ là gì (ví dụ: số lượt truy cập trên một
đơn vị thời gian?) loại hiệu năng yêu cầu là gì (như thời gian đáp ứng
của máy chủ web, thời gian đáp ứng của truy vấn cơ sở dữ liệu).
Những loại công cụ cần thiết để thử nghiệm hiệu năng (ví dụ như load
testing tool, các công cụ có sẵn khác có thể điều chỉnh, thiết bị tạo
tải…)?
- Đối tượng mục tiêu là ai? Loại và phiên bản nào của trình duyệt sẽ
được họ sử dụng, và mức độ bao quát sẽ kiểm thử cho các thay đổi
này? Loại kết nối nào sẽ được họ sử dụng? Họ nằm trong nội bộ của
một tổ chức (nếu như vậy, thì tốc độ kết nối có khả năng cao và các
trình duyệt tương tự nhau) hoặc bên ngoài internet (nếu như vậy, thì
có nhiều tốc độ kết nối và các loại trình duyệt khác nhau)?
- Những hiệu năng nào mong muốn trên phía máy khách (ví dụ: trang
web sẽ xuất hiện nhanh như thế nào, flash sẽ nhanh như thế nào, các
ứng dụng applet… thời gian tải và chạy)?
- Thời gian nghỉ cho server và việc bảo trì/nâng cấp nội dung sẽ cho
phép hay không? Bao nhiêu?
- Loại bảo mật nào (firewalls, encryption, passwords, functionality…)
sẽ được yêu cầu và mong muốn sẽ làm gì? Có thể kiểm thử như thế
nào?
18
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
- Các yêu cầu quốc tế hóa/nội địa hóa/ngôn ngữ có yêu cầu hay không,
và làm thế nào để kiểm tra các điều này?
- Mức độ tin cậy kết nối Internet của trang web sẽ được yêu cầu như thế

nào? Và ảnh hưởng đến hệ thống dự phòng hoặc các yêu cầu kết nối
dự phòng và kiểm thử như thế nào?
- Quy trình sẽ được yêu cầu để quản lý cập nhật nội dung trang web, và
các yêu cầu cho việc bảo trì, theo dõi và điều khiển nội dung, đồ họa,
link… của trang web là gì?
- HTML và mô tả chi tiết (spec) liên quan nào sẽ được sử dụng? Mức
độ chặt chẽ thế nào? Các thay đổi dự định sẽ được phép đối với các
trình duyệt?
- Liệu có bất kỳ tiêu chuẩn hoặc yêu cầu đối với sự giao diện và/hoặc
đồ họa của một phần hoặc một trang web?
- Liệu có bất kỳ quá trình phát triển thực tế/tiêu chuẩn sử dụng cho các
thành phần và nhận dạng của trang web (components và identifiers),
nó có thể tác động đáng kể đến việc kiểm thử tự động.
- Liên kết nội bộ và bên ngoài sẽ được xác nhận và cập nhật như thế
nào? Mức độ thường xuyên ra sao?
- Cả hệ thống sản phẩm có thể được kiểm thử hết, hoặc sẽ tách riêng
một phần hệ thống để kiểm thử? Trình duyệt caching (lưu bộ nhớ
đệm) như thế nào, thay đổi thiết lập tùy chọn trong trình duyệt, thay
đổi kết nối, và vấn đề "tắc nghẽn giao thông" của Internet trong thế
giới thực sẽ được tính toán cho vào kiểm thử?
- Làm thế nào mở rộng hay tùy biến nhật ký (log) của máy chủ và các
yêu cầu báo cáo; chúng có được coi là một phần của hệ thống và
chúng có được yêu cầu thử nghiệm không?
- Các thành phần như flash, applet, javascript, ActiveX component… sẽ
được bảo trì, theo dõi, điều khiển, test như thế nào?
a) Kiểm thử chức năng
Test tất cả các links trong trang web, kết nối cơ sở dữ liệu, định dạng được sử
dụng trong các trang web để gửi/nhận những thông tin cần thiết từ người dùng,
kiểm tra cookie.
19

Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
 Kiểm tra tất cả các liên kết(links):
- Kiểm tra các links liên kết ngoài trang web
- Kiểm tra tất cả các links nội bộ
- Kiểm tra tra các links tới các vị trí trong cùng trang
- Kiểm tra các links sử dụng để gửi mail tới admin hoặc người dùng
khác từ trang web
- Kiểm tra xem có trang trống nào không
- Kiểm tra các links bên trong tất cả các links nói trên
 Kiểm tra form của tất cả các trang:
Form là phần cơ bản của bất kỳ trang web nào. Form được sử dụng để nhận
thông tin từ người dùng và tương tác với họ. Vậy những gì cần phải được kiểm tra
trong form?
- Kiểm tra tất cả trường bắt buộc
- Kiểm tra các giá trị mặc định của các trường
- Các đầu vào sai cho các trường
- Kiểm tra các form bất kỳ: xóa, xem, sửa
 Kiểm thử cookie:
Cookies là các file nhỏ được lưu trong máy người dùng. Đây là cách cơ bản
để duy trì các phiên làm việc, đặc biệt là các phiên đăng nhập. Kiểm tra ứng dụng
bằng cách chọn “cho phép lưu” (enable) hoặc “không cho phép lưu” (disable)
cookies từ trình duyệt của bạn. Kiểm tra các cookies có được mã hóa trước khi ghi
vào máy người dùng? Nếu bạn đang kiểm thử cookies (ví dụ cookies hết hạn sau
khi kết thúc phiên làm việc), hãy kiểm tra các phiên đăng nhập và trạng thái của
người dùng sau khi phiên làm việc kết thúc. Kiểm tra bảo mật ứng dụng bằng cách
xóa các cookies.
 Xác minh HTML/CSS:
Nếu bạn đang tối ưu hóa trang web của bạn cho các công cụ tìm kiếm
(Search engines) thì việc xác minh HTML/SCC rất quan trọng. Việc xác minh chủ
yếu là các lỗi cú pháp HTML. Kiểm tra xem trang web có được nhận diện với các

công cụ tìm kiếm khác nhau hay không?
 Kiểm thử cơ sở dữ liệu:
20
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
Sự nhất quán về dữ liệu rất quan trọng trong ứng dụng web. Kiểm tra tính
toàn vẹn của dữ liệu và các lỗi khi bạn tạo/sửa/xóa các forms hoặc thực hiện bất kỳ
chức năng nào có liên quan tới CSDL.
Kiểm tra tất cả các truy vấn CSDL có được thực thi chính xác không? Dữ
liệu có được lấy và cập nhật chính xác không?
b) Kiểm thử tính khả dụng
 Kiểm thử cho chuyển hướng:
Chuyển hướng nghĩa là cách thức người dùng lướt web (xem các trang
webs), sử dụng các điều khiển khác nhau như các nút bấm, các hộp (textbox,
listbox…) hay cách người dùng sử dụng các đường links trong các trang để lướt
web.
 Kiểm thử tính khả dụng:
Trang web phải dễ sử dụng. Cung cấp các hướng dẫn rõ ràng, rành mạch.
Kiểm thử xem các hướng dẫn đó có đúng như những gì nó phải đáp ứng không?
Mỗi trang đều cần có menu chính và menu này phải nhất quán.
 Kiểm thử nội dung:
Nội dung trang web phải hợp lý và dễ hiểu. Kiểm tra các lỗi chính tả, các
màu tối sẽ gây phiền phức cho người dùng và do đó không nên được sử dụng, có
thể theo một vài chuẩn nào đó được sử dụng cho việc xây dựng nội dung web. Đây
là những chuẩn được chấp nhận phổ biến như đã chú ý ở trên, về màu sắc, fonts,
frames…
Nội dung cần phải đầy đủ ý nghĩa. Tất cả các đường links được gán phải làm
việc tốt. Các tranh ảnh phải được đặt đúng chỗ với đúng kích thước, có một vài
chuẩn cơ bản nên theo khi phát triển ứng dụng web.
 Các thông tin hỗ trợ người dùng:
21

Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
Như lựa chọn tìm kiếm, sơ đồ trang web, các file hỗ trợ…Sơ đồ trang web
cần có trong tất cả các links trong trang web với cây thư mục để hỗ trợ chuyển
hướng. Kiểm tra tất cả cá links trong sơ đồ.
Tùy chọn “Tìm kiếm trong trang web” sẽ giúp người dùng tìm kiếm các
trang nội dung một cách dễ dàng và nhanh chóng, tất cả các mục cần được phô bày
và phải được xác minh.
c) Kiểm tra giao diện
 Các giao diện chính:
- Giao diện web server và server ứng dụng
- Giao diện server ứng dụng và giao diện server cơ sở dữ liệu
Kiểm tra tất cả các tương tác giữa các servers có được thực thi đúng không?
Các lỗi phải được nắm bắt chính xác, nếu server CSDL hoặc web server trả lại bất
kỳ thông điệp lỗi nào cho bất kỳ truy vấn nào từ server ứng dụng thì server ứng
dụng phải bắt được và hiển thị thông điệp cảnh báo đó cho người sử dụng ngay lập
tức. Kiểm tra điều gì sẽ xảy ra nếu người dùng ngắt giao dịch đột ngột? Kiểm tra
điều gì xảy ra nếu kết nối tới web server bị khởi động lại?
 Danh sách các mục cần kiểm tra giao diện
• Kiểm tra về tính thẩm mỹ của giao diện (Aesthetic check):
- Kiểm tra tra màu nền chung của toàn bộ màn hình có được set đúng
theo yêu cầu không?
- Kiểm tra tra màu chữ, font, font size của tất cả các textbox, label có
set đúng theo yêu cầu không?
- Kiểm tra background (màu nền) của tất cả các textbox, label có set
đúng theo yêu cầu không?
- Kiểm tra tra màu chữ và màu nền của các textbox trong chế độ read-
only có được set đúng theo yêu cầu hay không?
- Kiểm tra tất cả các control trên màn hình có được canh đều hay
không? (Label, textbox, checkbox, list…)
- Kiểm tra tra mặc định tất cả các ký tự chữ và ký tự số. Ngoại trừ

trường hợp có yêu cầu cụ thể.
- Kiểm tra mặc định tất cả các số đều canh phải. Ngoại trừ trường hợp
có yêu cầu cụ thể.
22
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
- Kiểm tra tất cả các msg thông báo trên màn hình có được viết đúng
chính tả hay không?
- Kiểm tra tất cả các giá trị input chữ hoa hay chữ thường có được hiển
thị đúng hay không?
- Kiểm tra tất cả các textbox có yêu cầu set border hay không?
- Kiểm tra độ phân giải của màn hình có được set theo đúng chuẩn yêu
cầu hay không? Ví dụ: độ phân giải tối thiểu là 800x600.
• Kiểm tra tính hợp lệ (Validation check)
 Datatype varcher, nvarchar, ntext
- Kiểm tra maxlength
- Phân biệt chữ hoa/thường
- Phân biệt ký tự unicode
- Cho phép null hay không
- Cho phép nhập ký tự đặc biệt hay không?
 Datatype (int, tinyint, float):
- Kiểm tra maxlength
- Kiểm tra giá trị max, min
- Có cho phép nhập ký tự chữ hay không?
- Cho phép nhập ký tự đặc biệt hay không?
- Có cho phép nhập ký tự số 2 byte hay không?
- Cho phép null hay không?
- Không được phép nhập blank ở vị trí đầu tiên của field số.
- Không được phép nhập blank ở vị trí cuối cùng của field số.
- Kiểm tra lỗi chia cho 0
- Kiểm tra giá trị 0 cho tất cả các tính toán

- Kiểm tra giá trị trong giới hạn max, min
- Kiểm tra giá trị bằng giá trị max, min
 Datatype (datetime):
- Kiểm tra maxlength
- Kiểm tra ngày hợp lệ
- Có cho phép nhập chữ hay không?
- Có cho phép nhập ký tự đặc biệt hay không?
- Có cho phép nhập ký tự số 2 byte hay không?
- Kiểm tra format theo kiểu nào?
- Kiểm tra đối với trường hợp năm nhuần có được tính đúng không?
- Kiểm tra giá trị 00 và 13 đối với tháng
- Kiểm tra giá trị 00 và 32 đối với ngày
- Kiểm tra giá trị 28 , 29, 30 -Feb có được tính đúng không?
 Datatype (bit):
- Chỉ được phép nhập 0 hoặc 1
23
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
- Có cho phép null hay không?
- Kiểm tra nhập ký tự số 2 byte 0 hoặc 1
• Kiểm tra tính thân thiện của chương trình (Usability check):
- Tất cả các danh sách có được sort hay không? Mặc định là sort theo
alphabel. Ngoại trừ trường hợp có yêu cầu sort cụ thể.
- Tất cả các giá trị ngày tháng có được format theo đúng yêu cầu hay
không?
- Tất cả các button trên màn hình có được gán với phím tắt tương ứng
hay không?
- Tất cả các phím tắt được gán có họat động đúng hay không?
- Thứ tự Tab có theo đúng trình tự Top left bottom right hay không?
Ngọai trừ trường hợp có yêu cầu set thứ tự riêng biệt.
- Kiểm tra tất cả các field read-only đều không có thứ tự tab

- Kiểm tra tất cả các field disable đều không có thứ tự tab
- Kiểm tra vị trí focus có được đặt ngay field đầu tiên hay control đầu
tiên khi load màn hình hay không? Ngọai trừ có trường hợp yêu cầu
set vị trí focus cụ thể.
- Trong trường hợp lỗi input, Khi hiển thị msg lỗi, có focus về vị trí lỗi
sau khi đóng cửa sổ thông báo hay không?
- Trong trường hợp lỗi thao tác, khi hiển thị msg lỗi, có focus về vị trí
trước đó sau khi đóng cửa sổ popup hay không?
- Trong trường hợp gọi cửa sổ popup , sau khi đóng của sổ có focus về
vị trí trước đó hay không?
- Trong trường hợp chưa đóng cửa sổ popup, thì không được phép
focus xuống trang đang xử lý data.
• Kiểm tra tính ràng buộc dữ liệu (data integrity conditions)
- Data có được lưu khi đóng cửa sổ hay không?
- Kiểm tra chiều dài tối đa của tất cả các field, và đảm bảo các ký tự
đều không bị cắt.
- Kiểm tra giá trị max/min đối với ký tự số.
d) Kiểm thử khả năng tương thích
 Kiểm thử khả năng tương thích của trang web là một phần rất quan
trọng.
Trong đó ta thực hiện các việc sau:
24
Kiểm thử ứng dụng website trên thiết bị di động hệ điều hành Android
- Kiểm thử sự tương thích với trình duyệt
- Kiểm thử sự tương thích với hệ điều hành
- Kiểm thử sự tương thích với thiết bị di động
- Kiểm thử sự tương thích với tùy chọn các thiết bị ngoại vi (máy in…)
 Tương thích với trình duyệt:
Một vài ứng dụng phụ thuộc rất nhiều vào trình duyệt. Các trình duyệt khác
nhau có các cấu hình khác nhau và trang web của bạn cần tương thích với nó. Trang

web của bạn phải được lập trình đáp ứng tương thích với các platform của trình
duyệt. Nếu bạn sử dụng Javascript, AJAX để xây dựng các chức năng giao diện
người dùng, kiểm thử bảo mật hay xác minh, hãy kiểm tra tải trên trình duyệt cho
ứng dụng của mình.
Kiểm thử các ứng dụng web trên các trình duyệt khác nhau như IE, Firefox,
Netscape, AOL, Safari, Opera với các phiên bản khác nhau.
 Tương thích với hệ điều hành:
Một vài chức năng trong ứng dụng web của bạn có thể không tương thích với
tất cả các hệ điều hành. Tất cả các công nghệ mới được sử dụng trong phát triển
web như thiết kế đồ họa, giao diện được gọi như các API khác có thể không có sẵn
trong mọi hệ điều hành.
Hãy kiểm thử các ứng dụng web của mình trên các hệ điều hành khác nhau
như Windows, Unix, MAC, Linux, Solaris…
 Trình duyệt trên thiết bị di động:
Nếu nhận được tùy chọn “in trang” thì phải đảm bảo tính chính xác của
fonts, liên kết trang, đồ họa…Các trang phải được khớp với cỡ giấy.
e) Kiểm thử hiệu năng
 Ứng dụng web phải được duy trì với tải lớn.
Kiểm thử hiệu năng bao gồm:
- Kiểm thử tải
- Kiểm thử áp lực
 Kiểm thử hiệu năng ứng dụng với các tốc độ kết nối mạng khác nhau.
25

×