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
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
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
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
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ử
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
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
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
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 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