TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
_______________🙞🙞🙞_______________
BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN KIỂM THỬ PHẦN MỀM
Đề tài: Nghiên cứu các kỹ thuật kiểm thử
trên nền tảng di động
GVH :
ThS. Hồng Quang
D
Huy
Nhóm : 3
Mã
:
lớp
20212IT6013002
Hà Nội, 2022
2
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
_______________🙞🙞🙞_______________
BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN KIỂM THỬ PHẦN MỀM
Đề tài: Nghiên cứu các kỹ thuật kiểm thử
trên nền tảng di động
GVHD
:
Nhóm
:
Mã lớp
:
Sinh viên thực hiện :
ThS. Hồng Quang Huy
3
20212IT6013002
1.
Hà Nội, 2022
LỜI CẢM ƠN
Trải qua quá trình trao đổi với các thành viên trong lớp cũng như sự
giảng dạy, chỉ bảo tận tình cũng như những kinh nghiệm của thầy giáo bộ mơn.
Chúng em đã có khái niệm rõ ràng hơn về kiểm thử phần mềm, cũng như đặc
thù của ngành kiểm thử. Hiểu được tầm quan trọng của một phần mềm tốt khi
được đưa đến tay khách hàng hay doanh nghiệp một cách hồn chỉnh nhất, ít lỗi
nhất có thể. Chính vì vậy, chúng em xin gửi lời cảm ơn chân thành đến thầy.
Nhóm sinh viên thực hiện!
Mục Lục
LỜI CẢM ƠN
1
CHƯƠNG 1: MỞ ĐẦU
3
1.1
1.2
1.3
1.4
1.5
1.6
TÊN ĐỀ TÀI
ĐẶT VẤN ĐỀ
MỤC TIÊU ĐỀ TÀI
MỤC ĐÍCH ĐỀ TÀI
BỐ CỤC ĐỀ TÀI
PHƯƠNG PHÁP THỰC HIỆN
3
3
4
4
5
5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
6
2.1 Khái niệm kiểm thử phần mềm
2.2 Tầm quan trọng của kiểm thử phần mềm
2.3 Khái niệm kiểm thử Mobile
2.4 Phân loại ứng dụng mobile
2.5 Thử thách đối với kiểm thử trên Mobile
6
6
7
7
7
CHƯƠNG 3: CÁC KỸ THUẬT KIỂM THỬ MOBILE
9
3.1 Tổng quan
3.2 Kiểm thử chức năng (Functional testing)
3.3 Kiểm thử hiệu năng (Performance testing)
3.4 Kiểm thử bảo mật (Security testing)
3.5 Kiểm thử tính khả dụng (Usability testing)
3.6 Kiểm thử khả năng tương thích (Compatibility testing)
3.7 Kiểm thử phục hồi (Recoverability testing)
9
10
11
12
13
14
15
CHƯƠNG 4: TÌM HIỂU VỀ THIẾT BỊ THỰC VÀ TRÌNH GIẢ LẬP 16
1
4.1 Khái niệm
4.2 So sánh Simulator và Emulator
4.3 Ưu điểm
4.4 Nhược điểm
16
16
17
18
CHƯƠNG 5: ỨNG DỤNG THỰC TIỄN
20
5.1
5.2
5.3
5.4
PHẦN MỀM KIỂM THỬ: KATALON
KỊCH BẢN KIỂM THỬ
DỮ LIỆU KIỂM THỬ
THỰC HIỆN
20
21
24
24
CHƯƠNG 6: KẾT LUẬN
32
TÀI LIỆU THAM KHẢO
33
CHƯƠNG 1: MỞ ĐẦU
1. 1 Tên đề tài
Nghiên cứu các phương pháp kiểm thử trên nền tảng di động.
1.2 Đặt vấn đề
Hiện nay, thời đại công nghệ phát triển, kéo theo sự phát triển của các
thiết bị điện tử thơng minh, nổi bật trong số đó là điện thoại. Điện thoại là thiết
bị thơng minh khó có thể thiếu đối với con người hiện nay, có những ưu điểm
như tính kết nối giữa con người với con người và với vạn vật, tính hiệu quả, giải
trí và đặc biệt là chức năng ứng dụng của chúng, chúng phục vụ con người trong
mọi lĩnh vực như giải trí, theo dõi tin tức, học tập, thực hiện giao dịch ngân
hàng, mua bán, lịch trình, quản lý cơng việc, tìm kiếm thơng tin, kiểm tra sức
khỏe v.v.
Ví dụ 1 số các ứng dụng trên điện thoại phổ biến đối với bản thân chúng
em cũng như đối với con người nói chung như: Zalo - Ứng dụng trợ giúp nhắn
tin và gọi video, ZingMP3 - Ứng dụng nghe nhạc của người Việt, ZaloPay Ứng dụng giao dịch, thanh toán tiền, v.v.
Với mức độ sử điện thoại ngày càng tăng và lý do chính để sử dụng điện
thoại chính là việc sử dụng các tiện ích, các ứng dụng chạy trên nó. Thực tế cho
thấy rằng, để giữ chân người dùng sử dụng điện thoại nhiều hơn, đồng nghĩa với
việc sử dụng các ứng dụng chạy trên nó lâu hơn, thường xuyên hơn cho các mục
2
đích khác nhau thì địi hỏi các ứng dụng phải đáp ứng được yêu cầu sử dụng của
người dùng, ứng dụng phải dễ sử dụng, ổn định, chất lượng và đáng tin cậy.
Khoảng 50% sản phẩm bị đánh giá kém trên các cửa hàng ứng dụng dựa trên
các mối quan tâm như sự cố, hiệu suất kém và hao pin. Mọi người đều trải qua
sự thất vọng và dẫn đến việc xóa khỏi hệ thống ứng dụng đó và có 77% người
dùng xóa ứng dụng sau 72 giờ.
Cho nên vấn đề kiểm thử cho ứng dụng di động đang được các nhà phát
triển, các nhà nghiên cứu đầu tư để đề xuất các giải pháp, các phương pháp, kỹ
thuật kiểm thử nhằm nâng cao chất lượng của sản phẩm, nâng cao độ tin cậy và
hiệu năng. Tính đa dạng của các thiết bị di động, băng thông hạn chế, bộ nhớ và
dung lượng lưu trữ bị giới hạn, nguồn năng lượng, độ tin cậy của các mạng
không dây và đa dạng người dùng là những vấn đề thách thức lớn nhất mà các
nhà phát triển cũng như kiểm thử phải đầu tư nghiên cứu để đưa ra các giải pháp
hiệu quả cho phát triển ứng dụng di động hiện nay.
1.3 Mục tiêu đề tài
- Tìm hiểu, hiểu được kiểm thử phần mềm là gì nói chung, và hiểu được
về các phương pháp kiểm thử trên thiết bị di động nói riêng qua
Internet kết hợp với lý thuyết được giảng dạy trên trường.
- Tìm được các bug (lỗi) phát sinh trong quá trình các Dev thực hiện
việc coding.
- Đảm bảo được chất lượng của phần mềm nói chung và trên thiết bị di
động nói riêng.
- Ngăn ngừa lỗi.
- Áp dụng những gì tìm hiểu được vào chính sản phẩm của bản thân
mình để tự tin hơn với thành quả của mình.
1.4 Mục đích đề tài
Nhằm đảm bảo tính trải nghiệm của người dùng, hạn chế được những rủi
ro, lỗi chương trình khơng đáng có trên các ứng dụng di động làm cho người
3
dùng khơng hài lịng, bị ức chế dẫn đến việc giảm uy tín của cơng ty với người
dùng, gây ra việc mất đi nguồn khách hàng tiềm năng.
Nhằm tạo ra những phần mềm tốt nhất, tối ưu nhất trên nền tảng di động,
mang lại trải nghiệm tốt nhất đến cho người dùng, tạo được ấn tượng tốt đẹp,
gây dựng uy tín với khách hàng, đối tác.
4
1.5 Bố cục đề tài
Chương 1: Mở đầu
Chương 2: Cơ sở lý thuyết
Chương 3: Các kỹ thuật kiểm thử mobile
Chương 4: Tìm hiểu về thiết bị thực và trình giả lập
Chương 5: Ứng dụng thực tiễn
Chương 6: Kết luận
1.6 Phương pháp thực hiện
− Tìm hiểu lý thuyết
− Áp dụng thực tiễn
5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Khái niệm kiểm thử phần mềm
Kiểm thử phần mềm là quá trình khảo sát một hệ thống hay thành phần
dưới những điều kiện xác định, quan sát và ghi lại các kết quả và đánh giá một
khía cạnh nào đó của hệ thống hay thành phần đó.
Kiểm thử phần mềm là hoạt động thực thi một chương trình, khảo sát 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 là tìm ra 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. Giúp người xây dựng hệ thống và khách
hàng thấy được hệ thống đã chạy như mong muốn, yêu cầu hay chưa?
2.2 Tầm quan trọng của kiểm thử phần mềm
Thứ nhất, trách nhiệm hiệu quả về chi phí. Kiểm thử phần mềm giúp
nhanh chóng phát hiện các lỗi của phần mềm, giúp giảm chi phí sửa chữa.
Thứ hai, trách nhiệm bảo mật. Sản phẩm được phát hiện và sửa lỗi giúp
loại bỏ các rủi ro và các vấn đề sớm, làm tăng độ tin cậy cho sản phẩm. Đối với
ngành công nghệ phần mềm, vấn đề bảo mật là yếu tố cực kỳ nhạy cảm, nó liên
quan trực tiếp đến việc sở hữu, sử dụng của người dùng. Vì vậy, việc kiểm thử
phần mềm giúp hoàn thiện nhất sản phẩm phần mềm, tránh những lỗ hổng bảo
mật đáng tiếc, tăng độ tin tưởng cho người sử dụng.
Thứ ba, trách nhiệm về chất lượng sản phẩm. Ngoài vấn đề bảo mật như
trên, sản phẩm phần mềm được kiểm tra sẽ đảm bảo được độ tin cậy, hiệu suất
hoạt động cao, đảm bảo được các u cầu, tính năng cần thiết của nó. Sản phẩm
đưa đến tay khách hàng phải là một sản phẩm đạt đủ các yêu cầu của khách hàng
về hình thức, giao diện, cấu trúc, tính năng,…và đảm bảo khơng cịn bất cứ lỗi
nào trên sản phẩm.
6
Thứ tư, trách nhiệm với niềm tin của khách hàng. Một sản phẩm càng
chỉn chu, càng hoàn thiện, chất lượng càng cao sẽ tạo ra những trải nghiệm
người dùng tốt nhất, từ đó càng tạo được niềm tin và uy tín với khách hàng và
đối tác
2.3 Khái niệm kiểm thử Mobile
Kiểm thử Mobile (Ứng dụng di động) là quá trình mà một ứng dụng phần
mềm được phát triển cho các thiết bị di động và chúng sẽ được kiểm thử về chức
năng, khả năng sử dụng, tính nhất quán hay hiệu năng sử dụng của nó.
Kiểm thử ứng dụng di động có thể được kiểm thử tự động hoặc thủ công trên
các thiết bị di động thực tế hoặc qua các chương trình giả lập di động: Emulator
hay Simulator.
2.4 Phân loại ứng dụng mobile
Có 3 loại ứng dụng mobile chính:
-Ứng dụng gốc (Native apps): Là ứng dụng được tạo riêng trên một nền tảng
giống như di động hoặc máy tính bảng.
-Ứng dụng di động (web_Mobile web apps): Là các ứng dụng phía server để
truy cập vào các website trên di động sử dụng các trình duyệt khác nhau
như: Chrome, Firefox bằng cách kết nối tới một mạng di động hoặc mạng
không dây giống như WIFI
-Ứng dụng lai (Hybrid apps) : Là sự kết hợp giữa ứng dụng gốc và ứng dụng
web. Chúng chạy trên các thiết bị hoặc offline và chúng được viết bằng các
công nghệ web như HTML5 và CSS.
Việc phân loại được các ứng dụng mobile sẽ làm cho quy trình kiểm thử diễn ra
chính xác hơn.
2.5 Thử thách đối với kiểm thử trên Mobile
Nhiều kiểm thử viên có quan điểm “Nếu tơi đã kiểm thử phần mềm trên máy
tính, tơi có thể kiểm thử phần mềm trên SmartPhone.” Mặc dù phương pháp
kiểm thử là tương tự nhau nhưng cần phải trau dồi thêm nhiều kiến thức...Thực
tế kiểm thử kiểm thử ứng dụng di động gặp nhiều thách thức hơn so với kiểm
thử ứng dụng trên laptop, là do:
7
-Sự đa dạng các thiết bị di động với cấu hình phần cứng khác nhau như
bàn phím cứng, bàn phím ảo, màn hình cảm ứng, kích thước màn hình,...
-Nhiều hãng di động như IPhone,Bphone, Samsung, Nokia,...
-Hệ điều hành di động khác nhau bao gồm Android, IOS,Blackberry,..Mỗi
hệ điều hành lại có nhiều phiên bản như IOS 10.3.2, IOS 9.3.3, Android
7.1.2, Android 6.0.1,...Hệ điều hành thường xuyên được cập nhật và
khuyến khích lặp lại một chu kỳ kiểm thử để đảm bảo ứng dụng hoạt động
bình thường.
-Thiết bị di động có ít bộ nhớ hơn so với máy tính.
-Thường kết nối mạng 2G, 3G, 4G hoặc WIFI bất ổn định so với máy tính
8
CHƯƠNG 3: CÁC KỸ THUẬT KIỂM THỬ
MOBILE
3.1 Tổng quan
Kiểm thử Mobile bao gồm 6 kỹ thuật chính :
1. Kiểm thử chức năng (Functional testing)
2. Kiểm thử hiệu năng (Performance testing)
3. Kiểm thử an ninh (Security testing)
4. Kiểm thử tính khả dụng (Usability testing)
5. Kiểm thử tương thích (Compatibility testing)
6. Kiểm thử khả năng phục hồi (Recoverability testing)
Đối với một ứng dụng trên điện thoại chúng ta phải sử dụng tất cả các kỹ
thuật kiểm thử nói trên nhưng người kiểm thử phải biết ứng dụng đó thuộc loại
gì và nhấn mạnh vào các kỹ thuật kiểm thử cần thiết . Ví dụ như nhấn mạnh vào
kỹ thuật kiểm thử an ninh (Security testing) trong các ứng dụng của ngân hàng,
…
Các yếu tố có liên quan đến việc kiểm thử Mobile:
1. Loại ứng dụng được phân chia dựa trên tính chuyên môn: ngân hàng,
game, xã hội, kinh doanh,…
2. Loại đối tượng mà ứng dụng hướng đến: người tiêu dùng, doanh
nghiệp, giáo dục,…
3. Kênh phân phối sẽ sử dụng để truyền bá ứng dụng: apple app store,
google play, phân phối trực tiếp,…
Phần tiếp theo của báo cáo sẽ trình bày chi tiết hơn về các kỹ thuật kiểm thử.
Lưu ý - Để hiểu rõ hơn, chúng ta sẽ giả định rằng chúng ta đang kiểm thử một
ứng dụng di động cho hệ thống đặt vé máy bay trực tuyến.
9
3.2 Kiểm thử chức năng (Functional testing)
a, Khái niệm
Kiểm thử chức năng (Functional Testing) là bước kiểm thử cơ bản nhất
cho bất kỳ một ứng dụng nào để đảm bảo rằng nó được làm việc theo đúng các
yêu cầu, quy định đã đặt ra. Tương tự như các ứng dụng user-interface cơ bản
khác, các ứng dụng di động cần đến sự tương tác giữa con người với chúng.
b, Mục đích
Mục đích của kiểm thử chức năng đó là kiểm thử từng chức năng của ứng
dụng. Qua đó có thể kiểm tra các yêu cầu chức năng đã đề xuất trước đó có đạt
hay khơng. Nhờ có kiểm thử chức năng mà bạn có thể tránh được những việc
kiểm thử dư thừa các chức năng không cần thiết.
c, Kịch bản kiểm thử
-Xác nhận rằng việc hiển thị điểm xuất phát, điểm đến và giờ khởi hành
của các chuyến bay phải chính xác.
-Xác nhận những chuyến bay đã cất cánh không được hiển thị trong kết
quả tìm kiếm của khách hàng.
-Xác nhận tính năng thanh tốn qua thẻ tín dụng hoạt động nhanh chóng
và chính xác sau khi khách hàng đã đặt và lựa chọn loại vé phù hợp.
- Xác nhận rằng ứng dụng hỗ trợ bất kỳ giao dịch cổng thanh toán nào
như Visa, Mastercard, Paypal, v.v. theo yêu cầu của ứng dụng.
-Xác nhận rằng người dùng nhận được thông báo lỗi như “Khơng có kết
nối Internet” bất cứ khi nào khơng có kết nối mạng.
10
3.3 Kiểm thử hiệu năng (Performance testing)
a, Khái niệm
Kiểm thử hiệu năng (Performance Testing) là kỹ thuật kiểm thử nhằm xác
định băng thông, khả năng xử lý, khả năng mở rộng hay nói chung là hiệu năng
của hệ thống dưới khối lượng truy cập, khối được công việc xác định. Kết quả
của kiểm thử hiệu năng phục vụ việc điều tra, đo lường, đánh giá hiệu năng thực
của hệ thống
b, Mục đích
Sau đây là các mục đích chính của kiểm thử hiệu năng
-Đánh giá hiệu năng sản phẩm: Dự đoán hoặc ước tính hiệu năng thực của
sản phẩm
-Đánh giá hạ tầng triển khai: Xác định được ngưỡng của hệ thống đối với
hạ tầng triển khai hiện tại, xác định được các tài nguyên cần thiết để mở
rộng hệ thống trong tương lai
-Tìm ra các vấn đề ảnh hưởng tới hệ thống và điều chỉnh hệ thống: Từ các
kết quả có được qua các bài test và quá trình giám sát sản phẩm trong quá
trình test, tìm ra được vấn đề ảnh hưởng tới hiệu năng (Các nút cổ chai) từ
đó sửa đổi, cải thiện hiệu năng sản phẩm
c, Kịch bản kiểm thử
-Xác nhận rằng việc check về các chuyến bay chuyến bay có sẵn chỉ mất
một khoảng thời gian hợp lý.
-Xác nhận rằng trong khi đang check các chuyến bay có sẵn, điện thoại di
động hoạt động bình thường và không treo.
-Xác nhận hiệu suất của ứng dụng khi mạng được thay đổi thành WIFI từ
3G / 4G hoặc ngược lại.
-Xác nhận rằng mức tiêu thụ pin của ứng dụng trong các điều kiện sử
dụng khác nhau.
11
3.4 Kiểm thử bảo mật (Security testing)
a, Khái niệm
Kiểm thử bảo mật là một loại kiểm thử phần mềm nhằm khám phá các lỗ
hổng, mối đe dọa, rủi ro trong một ứng dụng phần mềm và ngăn chặn các
cuộc tấn công độc hại từ những kẻ xâm nhập .
b, Mục đích
Mục đích của kiểm tra bảo mật là kiểm tra tất cả các lỗ hổng và điểm yếu
có thể có của hệ thống phần mềm có thể dẫn đến việc mất thông tin, doanh thu,
danh tiếng dưới tay của nhân viên hoặc người ngoài của Tổ chức. Và xác định
các mối đe dọa trong hệ thống, đo lường các lỗ hổng tiềm ẩn của nó, để hệ thống
khơng ngừng hoạt động hoặc bị khai thác. Nó cũng giúp phát hiện tất cả các rủi
ro bảo mật có thể có trong hệ thống và giúp các nhà phát triển khắc phục các sự
cố này thơng qua mã hóa.
c, Kịch bản kiểm thử
-Chắc chắn rằng ứng dụng có hệ thống bảo vệ bằng mật khẩu mạnh và nó
khơng cho phép kẻ tấn công lấy, thay đổi hoặc khôi phục mật khẩu của
người dùng khác.
-Chắc chăn rằng các ứng dụng không được thực thi với các thông tin của
cùng một người dùng trên hai thiết bị di động khác nhau trong cùng một
thời điểm.
-Chắc chắn rằng một phiên làm việc tự động hết hạn, nếu nó vẫn khơng
hoạt động trong thời gian hơn 15 phút.
-Để tránh việc lưu trữ dữ liệu không an tồn trong bộ đệm bàn phím của
các ứng dụng.
12
3.5 Kiểm thử tính khả dụng (Usability testing)
a, Khái niệm
Kiểm thử tính khả dụng (Usability testing) là một kỹ thuật được thực hiện
trong thiết kế tương tác người dùng làm trung tâm để đánh giá một sản phẩm
hay dịch vụ bằng cách kiểm tra nó với người dùng đại diện. Rất dễ hiểu điều này
khi đưa ra một ví dụ như: Khi thực hiện kiểm thử một trang web, nếu trang web
rất khó để sử dụng thì người dùng sẽ khơng bao giờ quay lại trang đó, nếu nội
dung trang hoặc các chi tiết rất khó để đọc hoặc hiểu thì người dùng cũng sẽ rời
khỏi trang.
b, Mục đích
Mục đích của Kiểm thử tính khả dụng (Usability testing) :
●
Là để nhận ra bất kỳ vấn đề khả năng sử dụng, thu thập dữ liệu định tính
và định lượng và thiết lập hoàn của người tham gia với sản phẩm
●
Là một yếu tố quan trọng đảm bảo chất lượng. Nó là thước đo tiềm năng
của sản phẩm để thực hiện các mục tiêu của người dùng
●
Là một phương pháp mà theo đó người dùng sử dụng một sản phẩm nào
đó ở một chức năng nhất định để đo lường tính dễ sử dụng của sản phẩm,
thời gian công việc, và nhận thức của người dùng thông qua những trải
nghiệm
●
Đây là cách thức tốt nhất để tiếp cận người dùng vì tính thực tế gần gũi
với hệ thống thực của sản phẩm. Từ đó rút ra được lợi ích từ thử nghiệm
khả năng sử dụng là các trang web hoặc các ứng dụng web, tài liệu, giao
diện máy tính, sản phẩm tiêu dùng, và các thiết bị
●
Trong thử nghiệm khả năng sử dụng chủ yếu là thử nghiệm kiểm tra sự dễ
dàng sử dụng giao diện người dùng. Tester có thể kiểm tra các ứng dụng
thân thiện với người dùng
●
Kiểm tra khả năng sử dụng là một thử nghiệm thực sự về cách người dùng
sử dụng một trang web & xác định rằng cho dù người dùng có cảm giác
13
thoải mái với các ứng dụng khác hoặc những trang web theo các thông số
khác nhau như; thời gian truy cập, trình duyệt và layout, tốc độ và nội
dung
c, Kịch bản kiểm thử
-Đảm bảo rằng các nút bấm phải có kích thước đúng yêu cầu và phù hợp
với kích thước ngón tay của người sử dụng.
-Đảm bảo rằng các nút, có cùng chức năng cũng phải có cùng màu nhằm
phục vụ thói quen của người dùng.
3.6 Kiểm thử khả năng tương thích (Compatibility testing)
a, Khái niệm
Kiểm thử khả năng tương thích (Compatibility testing): Là loại kiểm thử
để xác định xem phần mềm có tương thích với các yếu tố khác của hệ thống hay
khơng, ví dụ: Trình duyệt, Hệ điều hành hoặc phần cứng,…
b, Mục đích
Mục đích của Compatibility testing là đánh giá xem phần mềm có hoạt
động tốt hay khơng trong một trình duyệt, Hệ điều hành, phần cứng hoặc phần
mềm cụ thể.
c, Kịch bản kiểm thử
-Xác minh rằng ứng dụng được cài đặt thành công với thiết bị có hệ điều
hành khác hay hay khơng.
-Xác minh rằng các chức năng như: tìm kiếm chuyến bay, thanh tốn,..
được thực hiện thành cơng với thiết có hệ điều hành khác hay hay không.
-Xác minh rằng giao diện của ứng dụng có phù hợp với kích thước màn
hình của thiết bị khơng, có văn bản / nút điều khiển nào bị ẩn hoặc không
thể truy cập được hay không.
14
3.7 Kiểm thử phục hồi (Recoverability testing)
a, Khái niệm
Kiểm thử phục hồi là khi bạn bắt buộc phần mềm của bạn thất bại để xác
minh rằng việc phục hồi từ thất bại là có thể và thực hiện đúng.
b, Mục đích
Khả năng hồi phục sau sự cố rất quan trọng đối với bất kỳ doanh nghiệp
nào. Mức độ quan trọng của doanh nghiệp hoặc sản phẩm của bạn xác định mức
độ thử nghiệm phục hồi trọng yếu.Các sản phẩm quan trọng có tính phụ thuộc
cao và khả năng phục hồi nhanh chóng và do đó các doanh nghiệp này phải đầu
tư thời gian và tiền bạc để tiến hành kiểm tra phục hồi kỹ lưỡng.
Thử nghiệm phục hồi bao gồm việc đo lường và xác định những điều sau:
●
Phải mất bao lâu để hệ thống của bạn tiếp tục hoạt động bình thường?
●
Tỷ lệ phần trăm các kịch bản mà hệ thống của bạn có thể phục hồi thành
cơng?
●
Hệ thống có thể phục hồi tất cả các dữ liệu bị mất?
●
Người dùng có thể kết nối lại thành cơng? Bằng cách trả lời những câu
hỏi này và luôn làm việc để cải thiện kết quả, công ty và sản phẩm của
bạn sẽ được chuẩn bị tốt hơn cho khi xảy ra khủng hoảng.
c, Kịch bản kiểm thử
-Xác thực tình huống và khôi phục ứng dụng hiệu quả sau các trường hợp
gián đoạn / sự cố không mong muốn.
-Xác minh cách ứng dụng xử lý giao dịch khi mất điện hoặc mất kết nối
mạng .
-Xác nhận khi kết nối bị tạm dừng, hệ thống cần thiết lập lại để khôi phục
dữ liệu bị ảnh hưởng trực tiếp bởi việc kết nối bị tạm dừng.
15
CHƯƠNG 4: TÌM HIỂU VỀ THIẾT BỊ THỰC
VÀ TRÌNH GIẢ LẬP
4.1 Khái niệm
4.1.1 Thiết bị thật trong kiểm thử
Kiểm thử trên thiết bị thực cho phép chạy các ứng dụng di động và kiểm
tra chức năng của thiết bị. Kiểm thử trên thiết bị thực đảm bảo rằng ứng dụng sẽ
hoạt động trơn tru trên thiết bị di động của khách hàng.
4.1.2 Trình giả lập
Là chương trình phần mềm cho phép mobile bắt chước các tính năng của
máy tính hoặc phần mềm di động khác hoặc ngược lại, cho phép máy tính bắt
chước các tính năng và phần mềm của các thiết bị di động. Được thực hiện bằng
cách cài đặt chúng vào máy tính hoặc di động.
4.2 So sánh Simulator và Emulator
Về cơ bản, cả hai Emulator/Simulator đều chỉ về các chương trình Giả
Lập thiết bị di động, nhưng bên cạnh đó, hai thứ có những khác biệt rất đặc
trưng.
Emulator
Các chương trình thuộc về Emulator
hướng về giả lập các cơng việc bên
trong của thiết bị.
Simulator
Các chương trình thuộc về Simulator
hướng về giả lập các hành vi của thiết
bị.
Các chương trình thuộc về Emulator Các chương trình thuộc về Simulator
giả lập cả phần cứng lẫn phần mềm – chỉ có thể giả lập được phần mềm –
Hardware/Software.
Software.
Được viết bằng hợp ngữ
Phù hợp, dễ dàng hơn khi Debug
Được viết bằng ngôn ngữ cấp cao
Khó khăn trong việc Debug
16
4.3 Ưu điểm
4.3.1 Thiết bị thật trong kiểm thử di động
- Thiết bị thực cho phép tester kiểm tra gần như tất cả các tình huống cho các
ứng dụng di động. Các thiết bị này được vận hành bằng ngón tay và mô phỏng
việc sử dụng thực tế, giúp hỗ trợ kiểm tra trong các tình huống bối cảnh thực
tế.
- Thiết bị thực cho phép tester kiểm tra ngay cả các vấn đề về tính khả dụng
như giao diện của ứng dụng, độ phân giải màu của màn hình, hình ảnh có sáng
hay khơng trong cả điều kiện ngày và đêm, v.v.
- Các thiết bị thực cho phép kiểm tra các vấn đề về hiệu suất nghiêm ngặt như
làm việc với ứng dụng trong 15 giờ liên tục, vấn đề này thì các trình mơ phỏng
khơng thể thực hiện được.
- Có thể dễ dàng thực hiện các kịch bản về pin.
- Có thể dễ dàng mơ phỏng các tình huống ngắt như cuộc gọi đến hoặc có
SMS.
- Có thể dễ dàng mơ phỏng màn hình màu chính xác.
- Các thiết bị thật có xu hướng hoạt động nhanh hơn Emulator/simulator.
- Mức lưu trữ bộ nhớ của các thiết bị có xu hướng thấp hơn nhiều so với
Emulator, do đó có thể xác nhận chính xác các vấn đề liên quan đến bộ nhớ.
4.3.2 Trình giả lập trong kiểm thử di động
- Trong thực tế sẽ xảy ra tình huống: thời gian thực hiện ngắn và việc mua
device cần thiết là khơng thể. Do đó, cần sử dụng emulator/simulator trong
trường hợp này để kiểm thử ứng dụng.
- Trong thực tế do ngân sách ít và giao diện thiết bị hay gặp lỗi nên việc đầu tư
mua thiết bị để kiểm thử bị hạn chế. Nên Emulator/simulator được sử dụng để
giải quyết tình huống này.
- Emulator/simulator trong hầu hết các trường hợp là phần mềm mở và miễn
phí, có thể dễ dàng tải xuống từ Internet và sẵn sàng để kiểm thử.
17