1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu appium và ứng dụng minh họa

84 269 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 84
Dung lượng 4,39 MB
File đính kèm Tìm hiểu Appium và ứng dụng minh họa.rar (4 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với sự phát triển như vũ bão của công nghệ thông tin nói chung và công nghệ phần mềm nói riêng, việc phát triển phần mềm ngày càng được hỗ trợ bởi nhiều công cụ tiên tiến, giúp cho việc xây dựng phần mềm bớt khó khăn và hiệu quả hơn. Tuy nhiên, vì độ phức tạp của phần mềm và những giới hạn về thời gian và chi phí, cho dù các hoạt động đảm bảo chất lượng phần mềm nói chung và kiểm thử nói riêng ngày càng chặt chẽ và khoa học, vẫn không đảm bảo được rằng các sản phẩm phần mềm đang được ứng dụng không có lỗi. Lỗi vẫn luôn tiềm ẩn trong mọi sản phẩm phần mềm và cũng có thể gây những thiệt hại không đáng có. Kiểm thử phần mềm là một quá trình liên tục, xuyên suốt mọi giai đoạn phát triển phần mềm để đảm bảo rằng phần mềm thoả mãn các yêu cầu thiết kế và các yêu cầu đó đáp ứng các nhu cầu của người dùng. Các kỹ thuật kiểm thử phần mềm đã và đang được nghiên cứu, và việc kiểm thử phần mềm đã trở thành quy trình bắt buộc trong các dự án phát triển phần mềm trên thế giới. Kiểm thử phần mềm là một hoạt động rất tốn kém, mất thời gian, và khó phát hiện được hết lỗi. Vì vậy, việc kiểm thử phần mềm đòi hỏi phải có chiến lược phù hợp, một kế hoạch hợp lý và việc thực hiện được quản lí chặt chẽ. Với sự phát triển của khoa học công nghệ, chưa bao giờ người sử dụng điện thoại thông minh lại có nhiều tiện ích phục vụ cuộc sống như bây giờ. Theo thống kê, hiện nay, tại Việt Nam đang có khoảng 15.000 ứng dụng mang lại lợi ích mọi mặt cho người dùng. Theo một khảo sát của công ty Appota, một công ty chuyên nghiên cứu hành vi sử dụng di động, trong số 22 triệu người dùng điện thoại thông minh ở Việt Nam trung bình một người dùng gần 10 ứng dụng tiện ích trên điện thoại. Trong vòng 3 năm, tỷ lệ cài đặt ứng dụng là 72% ở khu vực thành thị và 53% ở nông thôn. Và với việc những chiếc điện thoại thông minh đang ngày càng được sử dụng nhiều hơn nhằm đáp ứng nhu cầu giải trí đa dạng của người dùng. Từ một chiếc điện thoại thông thường chỉ được cài đặt sẵn vài ba ứng dụng của nhà sản xuất thì nay với các thiết bị chạy các hệ điều hành nhúng (Android, IOS, v.v.) ta có thể dễ dàng đáp ứng được các nhu cầu của người dùng bằng cách cài thêm các phần mềm bên thứ ba mà không gây ra trở ngại nào. Vì vậy việc kiểm thử các phần mềm chạy trên di động để xem chúng có đáp ứng được các yêu cầu đề ra ban đầu hay không trước khi phát hành sản phẩm tới tay người tiêu dùng là hết sức quan trọng. Đó là lý do em chọn đề tài “Tìm hiểu Appium và ứng dụng minh họa” làm đồ án tốt nghiệp.

Trang 1

HỌC VIỆN NÔNG NGHIỆP

VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

CỘNG HOÀ XÃ HỘI CHỦNGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

KHÓA LUẬN TỐT NGHIỆP

Đề tài: Tìm hiểu Appium và ứng dụng minh họa

Họ và Tên sinh viên: Nguyễn Kiều Duyên

Mã sinh viên: 591844

Lớp: K59.QLTT

Giảng viên hướng dẫn: Ths Lê Thị Minh Thùy

Hà Nội – 2018

Trang 3

LỜI CẢM ƠN

Thời gian được học tập, nghiên cứu tại Học Viện Nông Nghiệp Việt Nam

là khoảng thời gian tuyệt vời nhất đối với em Em xin gửi lời cảm ơn chân thànhđến toàn thể các thầy cô trong trường nói chung, các thầy cô trong khoa Côngnghệ thông tin nói riêng, thầy cô đã luôn tạo điều kiện thuận lợi cho em trongquá trình học tập, cho em những bài học quý giá, truyền bao nhiêu kiến thức vàđộng lực để cố gắng trong suốt thời gian qua

Đặc biệt em xin gửi lời cảm ơn đến Ths Lê Thị Minh Thùy người đã tậntình giúp đỡ, chỉ bảo và hướng dẫn em trong suốt quá trình thực hiện khóa luậntốt nghiệp Nhờ những hướng dẫn của cô mà đồ án của em mới có thể hoànthành và đạt được kết quả như hôm nay

Lời cuối cùng em xin gửi lời cảm ơn đến gia đình, bạn bè những ngườiluôn động viên, quan tâm đến em, tiếp thêm động lực cho em cố gắng Thànhcông của em ngày hôm nay một phần quan trọng là có sự đóng góp của tất cảmọi người

Mặc dù em đã rất cố gắng hoàn thành đồ án nhưng chắc chắn không thểtránh khỏi thiếu sót Kính mong thầy cô đóng góp ý kiến để em có thể hoànthiện kiến thức của bản thân

Em xin chân thành cảm ơn!

Hà Nội, ngày 3 tháng 12 năm 2018 Sinh viên thực hiện

Nguyễn Kiều Duyên

Trang 4

LỜI CẢM ƠN i

DANH MỤC VIẾT TẮT v

DANH MỤC CÁC HÌNH vi

Chương 1: Mở đầu 1

1.1 Đặt vấn đề 1

1.2 Tình hình nghiên cứu 2

1.2.1 Tình hình nghiên cứu ngoài nước 2

1.2.2 Tình hình nghiên cứu trong nước 3

1.3 Mục đích và yêu cầu 5

1.3.1 Mục đích 5

1.3.2 Yêu cầu 5

1.4 Nội dung nghiên cứu 6

Chương 2: Cơ sở lý thuyết 7

2.1 Khái niệm kiểm thử phần mềm 7

2.2 Mục tiêu kiểm thử phần mềm 7

2.3 Vai trò kiểm thử phần mềm 8

2.4 Quy trình kiểm thử phần mềm [4] 9

2.4.1 Lập kế hoạch kiểm thử (Test Plan) 9

2.4.2 Đặc tả tình huống kiểm thử, thực hiện kiểm thử (Test cases) 10

2.4.3 Báo cáo kiểm thử (Test report) 10

2.4.4 Các mức kiểm thử 11

2.5 Các phương pháp kiểm thử phần mềm[4] 11

2.5.1 Kiểm thử hộp đen (Black Box Testing) 11

2.5.2 Kiểm thử hộp trắng(White Box Testing) : 13

2.5.3 Kiểm thử hộp xám (Gray-box Testing) 14

2.6 Các kỹ thuật kiểm thử 15

2.6.1 Kỹ thuật phân vùng tương đương 15

2.6.2 Kỹ thuật phân tích giá trị biên 15

Trang 5

2.7.1 Selenium 16

2.7.2 QTP (HP UFT) 17

2.7.3 Rational Function Tester 17

2.7.4 WATIR 18

2.7.5 SilkTest 18

2.8 So sánh kiểm thử tự động và kiểm thử thủ công 19

Chương 3: Công cụ kiểm thử tự động Appium 21

3.1 Appium là gì 21

3.2 Phần mềm Appium Studio [5] 22

3.3 Appium Studio tích hợp trong Eclipse 23

Chương 4: Sử dụng Appium thực hiện kiểm thử ứng dụng 24

4.1 Ứng dụng di động “Sổ thu chi Misa” 24

4.1.1 Đăng ký 24

4.1.2 Đăng nhập 24

4.1.3 Ghi chép thu chi 25

4.1.4 Tài khoản 31

4.1.5 Hạn mức chi 32

4.1.6 Tổng quan 34

4.1.7 Khác 37

4.2 Xây dựng kịch bản kiểm thử 38

4.3 Áp dụng Appium test ứng dụng 42

4.3.1 Test case cho chức năng đăng nhập 42

4.3.2 Test case cho chức năng thu tiền 44

4.3.3 Test case cho chức năng chi tiền 45

4.3.4 Test case cho chức năng thêm hạn mức 46

Chương 5: Kết luận và đề nghị 48

PHỤ LỤC 50

Phần 1: Hướng dẫn cài JDK 50

Trang 6

2 Cài đặt 50

3 Tạo biến môi trường 52

4 Xác minh Java được cài đặt đúng hay không 54

Phần 2 Hướng dẫn cài đặt Android SDK 55

1 Download Android Studio 55

2 Các cài đặt đòi hỏi 55

3 Cài đặt 56

4 Tạo biến môi trường 56

Phần 3: Hướng dẫn cài đặt Appium 57

1 Download Appium 57

2 Cài đặt Appium 58

Phần 4: Hướng dẫn cài đặt Eclipse 60

1 Download Eclipse 60

2 Các cài đặt đòi hỏi 61

3 Cài đặt 61

Trang 7

DANH MỤC VIẾT TẮT

IEEE Institude of Electrical and Electronics EngineersSRS Software Requirement Speccification

QTP Quick Test Professional

WATIR Web Application Testing in Ruby

API Application Programing Interface

IDE Integrated Development Environment

Trang 8

DANH MỤC CÁC HÌNH

Hình 2.1: Quy trình kiểm thử phần mềm 9

Hình 4.1: Giao diện đăng ký 24

Hình 4.2: Giao diện đăng nhập 25

Hình 4.3: Giao diện thu tiền 26

Hình 4.4: Giao diện ghi chép chi tiền 27

Hình 4.5: Giao diện chuyển khoản 29

Hình 4.6: Giao diện điều chỉnh số dư 30

Hình 4.7: Giao diện tài khoản 31

Hình 4.8: Giao diện thêm tài khoản 32

Hình 4.9: Giao diện thêm hạn mức 33

Hình 4.10: giao diện tài chính hiện tại 34

Hình 4.11: Giao diện tình hình chi 35

Hình 4.12: Giao diện tình hình chi 36

Hình 4.13: Giao diện phân tích chi tiêu 36

Hình 4.14: Giao diện khác 37

Hình 4.15 Test case đăng nhập 43

Hình 4.16: Test case thu tiền 44

Hình 4.17: Test case chi tiền 45

Hình 4.18: Test case thêm hạn mức 46

Hình 4.19: Kết quả chạy test case 47

Trang 9

CHƯƠNG 1: MỞ ĐẦU

1.1 Đặt vấn đề

Với sự phát triển như vũ bão của công nghệ thông tin nói chung và côngnghệ phần mềm nói riêng, việc phát triển phần mềm ngày càng được hỗ trợ bởinhiều công cụ tiên tiến, giúp cho việc xây dựng phần mềm bớt khó khăn và hiệuquả hơn Tuy nhiên, vì độ phức tạp của phần mềm và những giới hạn về thờigian và chi phí, cho dù các hoạt động đảm bảo chất lượng phần mềm nói chung

và kiểm thử nói riêng ngày càng chặt chẽ và khoa học, vẫn không đảm bảo đượcrằng các sản phẩm phần mềm đang được ứng dụng không có lỗi Lỗi vẫn luôntiềm ẩn trong mọi sản phẩm phần mềm và cũng có thể gây những thiệt hạikhông đáng có

Kiểm thử phần mềm là một quá trình liên tục, xuyên suốt mọi giai đoạn pháttriển phần mềm để đảm bảo rằng phần mềm thoả mãn các yêu cầu thiết kế vàcác yêu cầu đó đáp ứng các nhu cầu của người dùng Các kỹ thuật kiểm thửphần mềm đã và đang được nghiên cứu, và việc kiểm thử phần mềm đã trởthành quy trình bắt buộc trong các dự án phát triển phần mềm trên thế giới.Kiểm thử phần mềm là một hoạt động rất tốn kém, mất thời gian, và khó pháthiện được hết lỗi Vì vậy, việc kiểm thử phần mềm đòi hỏi phải có chiến lượcphù hợp, một kế hoạch hợp lý và việc thực hiện được quản lí chặt chẽ

Với sự phát triển của khoa học công nghệ, chưa bao giờ người sử dụng điệnthoại thông minh lại có nhiều tiện ích phục vụ cuộc sống như bây giờ Theothống kê, hiện nay, tại Việt Nam đang có khoảng 15.000 ứng dụng mang lại lợiích mọi mặt cho người dùng

Theo một khảo sát của công ty Appota, một công ty chuyên nghiên cứu hành

vi sử dụng di động, trong số 22 triệu người dùng điện thoại thông minh ở Việt

Trang 10

Nam trung bình một người dùng gần 10 ứng dụng tiện ích trên điện thoại Trongvòng 3 năm, tỷ lệ cài đặt ứng dụng là 72% ở khu vực thành thị và 53% ở nôngthôn.

Và với việc những chiếc điện thoại thông minh đang ngày càng được sử dụngnhiều hơn nhằm đáp ứng nhu cầu giải trí đa dạng của người dùng Từ một chiếcđiện thoại thông thường chỉ được cài đặt sẵn vài ba ứng dụng của nhà sản xuấtthì nay với các thiết bị chạy các hệ điều hành nhúng (Android, IOS, v.v.) ta cóthể dễ dàng đáp ứng được các nhu cầu của người dùng bằng cách cài thêm cácphần mềm bên thứ ba mà không gây ra trở ngại nào Vì vậy việc kiểm thử cácphần mềm chạy trên di động để xem chúng có đáp ứng được các yêu cầu đề raban đầu hay không trước khi phát hành sản phẩm tới tay người tiêu dùng là hếtsức quan trọng

Đó là lý do em chọn đề tài “Tìm hiểu Appium và ứng dụng minh họa” làm

đồ án tốt nghiệp

1.2 Tình hình nghiên cứu

1.2.1 Tình hình nghiên cứu ngoài nước.

Một nghiên cứu được tiến hành bởi NIST trong năm 2002 cho biết rằngcác lỗi phần mềm gây tổn thất cho nền kinh tế Mỹ 59,5 tỷ đô mỗi năm, hơn mộtphần ba chi phí này có thể tránh được nếu việc kiểm thử phần mềm được thựchiện tốt hơn.Người ta thường tin rằng, một kiếm khuyết nếu được tìm ra sớmhơn thì chi phí để sửa chữa nó sẽ rẻ hơn Ví dụ, một vấn đề được tìm thấy saukhi đã ra bản phần mềm chính thức rồi sẽ có chi phí gấp 10-100 lần khi giảiquyết vấn đề từ lúc tiếp nhận yêu cầu [6]

Khi các ứng dụng càng ngày càng trở nên phức tạp thì việc kiểm thử ứngdụng bằng các test tool cho phép các nhà sản xuất kiểm trả chức năng, khả năng

Trang 11

sử dụng, tính nhất quán và bảo mật Các ứng dụng di động được dự kiến sẽ chạytrên các thiết bị khác nhau với các tài nguyên khác nhau, các điều kiện mạngkhác nhau và nhiều hệ điều hành Điều này đòi hỏi kiểm thử phần mềm cầnnghiêm ngặt hơn và đảm bảo chất lượng, được thực hiện hiệu quả với các công

cụ kiểm thử và tự động hóa phần mềm tốt

Appium được phát triển từ nền tảng hệ thống Selenium (kế thừa các đốitượng, cấu trúc và cú pháp) nên Appium có khả năng làm việc với nhiều nềntảng khác nhau, iOS và Android, trên cùng một mã kiểm thử (cross-platforms) Khả năng cross-platforms của Appium đến từ việc sử dụng các thư viện củaAppium, thông qua một chương trình server, chuyển các câu lệnh sử dụng trong

mã kiểm thử thành các lệnh UIAutomation (với iOS) hay UIAutomator (vớiAndroid) để tương tác với thiết bị

Appium ban đầu được phát triển bởi Dan Cuellar vào năm 2011 dưới cáitên "iOSAuto", được viết bằng ngôn ngữ lập trình C# Chương trình này cónguồn mở vào tháng 8 năm 2012 bằng cách sử dụng giấy phép Apache 2 Vàotháng Giêng năm 2013, Sauce Labs đã đồng ý tài trợ cho phát triển Appium vàthúc đẩy mã của nó được viết lại sử dụng Node.js

Vào cuối năm 2013, Appium đã được trình bày tại các hội nghị và buổihọp mặt trên khắp nước Mỹ, cũng như ở Anh, Ba Lan, Bồ Đào Nha và Úc Đầunăm 2013, đã phát hành hỗ trợ Android và Selendroid, biến Appium trở thànhnền tảng tự động hóa đa nền tảng đầu tiên Dự án cũng tiếp tục thu hút ngườidùng và cộng tác viên và đến cuối năm 2013, đã có hơn 1.000 cam kết

Appium bắt đầu phát triển và trưởng thành đáng kể Vào tháng 5 năm

2014, đã phát hành Appium 1.0, là cột mốc quan trọng trong quá trình phát triểncủa Appium Appium đã giành được giải thưởng Bossie 2014 của InfoWorld vềphần mềm máy tính để bàn và phần mềm di động nguồn mở tốt nhất Appiumcũng được chọn là một Rookie nguồn mở của nămbởi phần mềm Duck đen

Trang 12

Vào tháng 10 năm 2016, Appium gia nhập JS Foundation ban đầu là mộtchương trình cố vấn, nó đã tốt nghiệp vào tháng 8 năm 2017.

1.2.2 Tình hình nghiên cứu trong nước

Hiện nay, việc sử dụng các công cụ tự động hóa cho việc kiểm thử thiết bị

di động là khá thấp, có một thực tế là kiểm thử phần mềm Việt Nam đã đi sau rấtnhiều nước khác Về mặt số lượng thì thấp hơn rất nhiều sơ với Mỹ, Ấn Độ hayTrung Nước Tuy nhiên, với sự thay đổi ngày càng lớn từ các ứng dụng máy tính

để bàn sang ứng dụng di động sẽ làm tăng việc sử dụng tự động các công cụkiểm thử cho các ứng dụng di động Một số công cụ tự động để thử nghiệm trênđiện thoại di động bao gồm nhưng không giới hạn như Robotium, RunnerRanorex, Appium, Appium Studio và UI Automator

Trong giai đoạn 2005 - 2010, Việt Nam được đánh giá là một tâm điểmthu hút đầu tư về gia công phần mềm (outsourcing) trên thế giới Trong đó,ngành kiểm thử phần mềm (software testing) hiện đang là một trong những phânkhúc phát triển mạnh nhất của toàn mảng outsourcing Đặc biệt là trong năm

2009, TP.HCM đã được xếp vào danh sách 6 thành phố phát triển nhất trên thếgiới về ngành kiểm thử phần mềm của Global Service Media [1]

Theo nhận định chung của các chuyên gia VISTACon 2010 từ Microsoft,McAfee, Electronic Arts và LogiGear, so với Ấn Độ và Trung Quốc – vốn là 2trung tâm kiểm thử phần mềm của thế giới, Việt Nam dù là nước đang phát triểnnhưng tích lũy khá đầy đủ nền tảng cho các dự án đầu tư về gia công kiểm thửphần mềm [1]

Về xu hướng kiểm thử phần mềm, đang phát triển mạnh ở Việt Nam làcác xu hướng về kiểm thử trên nền web, kiểm thử app mobile; đặc biệt là kiểmthử tự động, sử dụng các công cụ hỗ trợ đang được nhiều công ty, doanh nghiệphướng đến và ưu tiên phát triển Appium đã nổi lên là một trong những test toolphổ biến nhất để thử nghiệm các ứng dụng di động và đã được xác nhận hiệu quả

Trang 13

bởi những Tester và Developer về tính dễ sử dụng Nó là một tool mã nguồn mởcho phép tự động hóa web gốc, web di động và ứng dụng lai trên nền tảng iOS vàAndroid Ứng dụng gốc là những ứng dụng được viết bằng iOS, Android hoặcWindows SDK Ứng dụng web di động là các ứng dụng web được truy cập bằngtrình duyệt dành cho thiết bị di động Ứng dụng lai có trình bao bọc xung quanh

“ chế độ xem web” một điều khiển gốc cho phép tương tác với nội dung web.Các dự án như Apache Cordova hoặc Phoneapp giúp dễ dàng xây dựng các ứngdụng bằng cách sử dụng công nghệ web sau đó được gói thành một trình bao bọcgốc, tạo ra một ứng dụng lai

Một số công ty lớn đang sử dụng Appium như là Công ty cổ phần xuấtkhẩu phần mềm Tinh Vân , FINGROUP - Tầng 21, tháp A - tòa nhà Sông Đà -Phạm Hùng - Hà Nội, Công Ty Cổ Phần Công Nghệ Vmodev Hà Nội - Tầng 4tòa nhà TTC -19 Duy Tân - Cầu Giấy - Hà Nội,…

1.3 Mục đích và yêu cầu

1.3.1 Mục đích

Đề tài tìm hiểu cơ sở lý thuyết về kiểm thử nói chung và kiểm thử trên diđộng nói riêng cũng như cách triển khai công cụ kiểm thử phần mềm tự động đểgiảm nhân lực kiểm thử và đảm bảo chất lượng phần mềm hơn với công việckiểm thử bằng tay Mục tiêu chính của đề tài là nghiên cứu về kiểm thử trên thiết

bị di động sử dụng bằng Appium

Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động(test automation) các ứng dụng mobile như native app, hybrid app, mobile webapp

Ở đề tài này em sẽ tìm hiểu Appium để kiểm thử “ứng dụng mang tên

Sổ Thu Chi MISA – một ứng dụng hỗ trợ quản lý tài chính cá nhân”.

Trang 14

1.3.2 Yêu cầu

a Lý thuyết

- Hiểu được các khái niệm cơ bản về kiểm thử phần mềm, quy trình kiểm

thử và vận dụng theo đúng quy trình

- Kiểm thử trên thiết bị di động.

- Khái niệm về Appium

- Ưu, nhược điểm của Appium

- Các tính năng chính của Appium

- Các thành phần cơ bản của Appium

b Ứng dụng

- Biết cài đặt và sử dụng Appium trong quá trình kiểm thử.

- Tìm hiểu và phân tích yêu cầu người dùng của ứng dụng.

- Áp dụng Appium tiến hành kiểm thử tự động cho các ứng dụng UI trên

Trang 15

+ Khái niệm về Appium

+ Ưu, nhược điểm của Appium

- Các tính năng chính của Appium

- Các thành phần cơ bản của Appium

- Viết đề cương làm khóa luận tốt nghiệp

b Ứng dụng

- Biết cài đặt và sử dụng Appium trong quá trình kiểm thử.

- Tìm hiểu và phân tích yêu cầu người dùng của ứng dụng.

- Áp dụng Appium tiến hành kiểm thử tự động cho các ứng dụng UI trên

thiết bị di động

- Thực hiện viết testcase, thực hiện kiểm thử và log bug lên công cụ quản lý

lỗi

- Viết báo cáo kiểm thử

- Hoàn thiện báo cáo

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Khái niệm kiểm thử phần mềm

Theo tác giả Chung và cộng sự, Kiểm thử phần mềm là quá trình khảo sát

hệ thống hay thành phần của hệ thống dưới những điều kiện xác định, sau đó

Trang 16

quan sát, ghi lại các kết quả và đánh giá một khía cạnh nào đó của hệ thống haythành phần hệ thống đang được kiểm thử [2].

Kiểm thử phần mềm là quá trình thực thi một chương trình với mục đíchtìm lỗi [3]

Kiểm thử phần mềm (kiểm tra, thử nghiệm) là một cuộc kiểm tra đượctiến hành để cung cấp cho các bên liên quan thông tin về chất lượng của sảnphẩm hoặc dịch vụ được kiểm thử Kiểm thử có thể cung cấp cho doanh nghiệpmột quan điểm, một cách nhìn độc lập về phần mềm để từ đó cho phép đánh giá

và thấu hiểu được những rủi ro trong quá trình triển khai phần mềm [1]

Tóm lại, Kiểm thử phần mềm (Software testing) là hoạt động nhằm tìmkiếm, phát hiện các lỗi của phần mềm; đảm bảo sản phẩm phần mềm đáp ứngchính xác, đầy đủ và đúng theo yêu cầu của khách hàng đã đặt ra; cung cấp mụctiêu, cái nhìn độc lập về phần mềm, cho phép việc đánh giá và hiểu rõ hơn cácrủi ro khi thực thi phần mềm

2.2 Mục tiêu kiểm thử phần mềm

Kiểm thử phần mềm sẽ giúp hoàn thiện các ứng dụng phần mềm hoặc sảnphẩm so với yêu cầu kinh doanh và người sử dụng Nó rất quan trọng để đảmbảo kiểm thử tốt để kiểm thử các ứng dụng phần mềm hoàn toàn và chắc chắnrằng nó hoạt động tốt và theo các thông số kỹ thuật

Việc xác định phạm vi kiểm tra các trường hợp kiểm thử nên được thiết

kế tốt với khả năng tối đa của việc tìm kiếm các lỗi hiệu quả và được tính toán là

số lỗi báo cáo cho mỗi trường hợp kiểm thử

Kiểm tra phần mềm để chắc chắn kiểm thử đang thực hiện đúng cách và

hệ thống đã sẵn sàng để sử dụng Kiểm thử bao phủ các lĩnh vực khác nhau như:chức năng của các ứng dụng, khả năng tương thích của các ứng dụng với các hệ

Trang 17

điều hành, phần cứng và các loại khác nhau của các trình duyệt, thực hiện kiểmthử để kiểm tra hiệu năng của các ứng dụng để đảm bảo rằng hệ thống đáng tincậy và không có trục trặc hay không nên có bất kỳ vấn đề cản trở Xác định rằngcác ứng dụng có thể được triển khai một cách dễ dàng với máy tính và không cóbất kỳ sự cố Do đó các ứng dụng rất dễ dàng để cài đặt, tìm hiểu và sử dụng.

Kiểm thử phần mềm cho phép tạo ra những đánh giá khách quan về mức

độ phù hợp của hệ thống các yêu cầu đã nêu và thông số kỹ thuật

Kiểm tra xác nhận rằng hệ thống đáp ứng các yêu cầu khác nhau baogồm: chức năng, hiệu suất, độ tin cậy, an toàn, khả năng sử dụng và như vậy.Việc xác nhận này được thực hiện để đảm bảo rằng chúng tôi đang xây dựng hệthống phù hợp

Xác nhận để đảm bảo đang xây dựng hệ thống phù hợp Ngoài việc giúp đưa

ra quyết định, các thông tin từ các kiểm thử phần mềm giúp quản lý rủi ro

Mục tiêu chính của kiểm thử phần mềm là:

- Tìm các bug phát sinh do dev tạo ra khi code

- Đạt được sự tự tin và cung cấp thông tin về mức độ chất lượng

- Để ngăn ngừa lỗi

- Đảm bảo rằng kết quả cuối cùng đáp ứng các yêu cầu kinh doanh và người sử dụng

- Để đạt được sự tín nhiệm của khách hàng bằng cách cung cấp cho họ một sản phẩm chất lượng

Trang 18

2.3 Vai trò kiểm thử phần mềm

Kiểm thử phần mềm là một hoạt động giữ vai trò rất quan trọng để bảođảm chất lượng phần mềm và là hoạt động mang tính sống còn trong các dự ánsản xuất hoặc gia công phần mềm Vì vậy, kiểm thử phần mềm đã trở thành quitrình bắt buộc trong các dự án phát triển phần mềm trên thế giới

Làm gì cũng cần kiểm tra, đánh giá thì mới biết được liệu nó có đạt đượcnhững gì được mong đợi, có sai sót gì không

Kiểm thử phần mềm để tránh được những rủi ro, lỗi phát sinh trong suốtquá trình tạo ra sản phẩm Lỗi phát hiện càng sớm càng giúp tránh được rủi ro

và chi phí

2.4 Quy trình kiểm thử phần mềm [4]

Mục đích của kiểm thử là thiết kế một chuỗi các trường hợp kiểm thử mà

có khả năng phát hiện lỗi cao Để cho việc kiểm thử đạt được kết quả tốt cần có

sự chuẩn bị về kế hoạch kiểm thử, thiết kế các trường hợp kiểm thử và các dữliệu kiểm thử cho các trường hợp Đây chính là đầu vào cho giai đoạn kiểm thử

Và sản phẩm công việc của giai đoạn kiểm thử chính là “báo cáo kiểm thử” màtài liệu hóa tất cả các trường hợp kiểm thử đã chạy, dữ liệu đầu vào, đầu ra mongđợi, đầu ra thực tế và mục đích của kiểm thử

Trang 19

Hình 2.1: Quy trình kiểm thử phần mềm 2.4.1 Lập kế hoạch kiểm thử (Test Plan)

Lập kế hoạch kiểm thử là một tài liệu mô tả các mục tiêu, phạm vi,phương pháp tiếp cận, và tập trung vào nỗ lực kiểm thử phần mềm

Cấu trúc chung của một test plan:

+ Tên project (Tên dự án)

+ Danh sách các module cần test

+ Ngày bắt đầu, ngày kết thúc

+ Danh sách các test case

+ Nhân sự tham gia

+ Tài nguyên sử dụng (Servers, Workstations, Printers,…)

Trang 20

2.4.2 Đặc tả tình huống kiểm thử, thực hiện kiểm thử (Test cases)

Test case mô tả một dữ liệu đầu vào (input), hành động (action) và một kếtquả mong đợi (expected response), để xác định một chức năng của ứng dụngphần mềm hoạt động đúng hay không

Một trường hợp kiểm thử có thể có các phần đặc thù khác nhau như mãtest case, tên test case, mục tiêu kiểm thử, các điều kiện kiểm thử, các yêu cầu

về dữ liệu đầu vào, các bước thực hiện và các kết quả mong đợi

Gồm 3 bước cơ bản:

- Mô tả: Đặc tả các điều kiện cần cố để tiến hành kiểm tra

- Nhập: Đặc tả đối tượng hoặc dữ liệu cần thiết, được sử dụng làm đầuvào để thực hiện kiểm tra

- Kết quả mong chờ: Kết quả trả về từ đối tượng kiểm tra

Quá trình phát triển test case có thể giúp tìm ra lỗi trong các yêu cầu hoặcthiết kế của ứng dụng, vì nó đòi hỏi phải tư duy hoàn toàn thông qua các hoạtđộng của ứng dụng

2.4.3 Báo cáo kiểm thử (Test report)

Báo cáo kiểm thử thể hiện tiến độ kiểm thử, tiến độ sửa lỗi và số lượng lỗiđược tìm thấy hay còn tồn của dự án Nó là công cụ để phục vụ cho đánh giá haygiám sát dự án có kịp tiến độ hay không, có thể bàn giao cho khách hàng haykhông và các vấn đề cần giải quyết khi mà số lượng lỗi còn nhiều, gây ra các rủi

ro về tiến độ hoàn thành của dự án để có những điều chỉnh kịp thời

Trang 21

2.4.4 Các mức kiểm thử

Quy trình kiểm thử phần mềm sẽ được thực hiện theo các giai đoạn như sau:

 Kiểm thử thành phần (Unit test):

- Do kiểm thử viên thực hiện

- Các nhóm kiểm thử lớn dần cho đến khi thành một hệ thống

- Mục đích: Tìm ra lỗi trong các giao diện và giao tiếp giữa các thành phần

 Kiểm thử hệ thống (System test)

- Kiểm thử cả hệ thống về chức năng chính, sự liên kết giữa các modulesvới nhau, kiểm thử giao diện…

- Do kiểm thử viên thực hiện

- Mục đích: Chứng thực rằng hệ thống đã được tích hợp với các hệ thốngbên ngoài hoặc hệ thống thứ 3 đã được xác minh trog các yêu cầu của hệ thống

Trang 22

 Kiểm thử chấp nhận (Acceptance test): Kiểm tra xem phần mềm đãđúng với yêu cầu của khách hàng hay chưa, do khách hàng thực hiện.

2.5 Các phương pháp kiểm thử phần mềm[4]

2.5.1 Kiểm thử hộp đen (Black Box Testing)

Kiểm thử hộp đen là phương pháp kiểm thử dựa trên đầu vào và đầu racủa chương trình để kiểm thử mà không quan tâm tới mã chương trình bên trongđược viết ra sao Tester xem phần mềm như là một hộp đen

Trong khi đó kiểm thử hộp đen không yêu cầu kỹ sư kiểm thử cần phải cóbất kỳ kiến thức về mã hoặc thuật toán của chương trình Nó kiểm tra các chứcnăng của hệ thống tức là những gì hệ thống được cho là cần phải làm dựa trêncác đặc tả yêu cầu (Requirement document)

Kiểm thử dựa trên đặc tả tập trung vào kiểm tra tính thiết thực của phầnmềm theo những yêu cầu thích hợp Do đó, kiểm thử viên nhập dữ liệu vào, vàchỉ thấy dữ liệu ra từ đối tượng kiểm thử

Kiểm thử dựa trên đặc tả là cần thiết, nhưng không đủ để ngăn chặnnhững rủi ro chắc chắn

Trang 23

- Phân biệt được rõ ràng quan điểm của người dùng với quan điểm của nhàphát triển.

- Không cần đòi hỏi những kiến thức về ngôn ngữ lập trình ở các tester để

có thể kiểm thử hệ thống

 Nhược điểm

- Bị giới hạn ở độ bao phủ của các trường hợp kiểm thử

- Sẽ không hiệu quả bởi thực tế các tester bị giới hạn kiến thức về hệ thống

- Độ bao phủ sẽ bị thiếu vì tester không kiểm tra được các đoạn lệnh của hệthống hoặc tập trung vào các dòng lệnh dễ xảy ra lỗi

- Sẽ khó để có thể thiết kế đầy đủ các trường hợp kiểm thử

2.5.2 Kiểm thử hộp trắng(White Box Testing) :

Các trường hợp kiểm thử được thiết kế dựa vào cấu trúc mã hoặc cáchthức làm việc của chương trình Người kiểm thử truy cập vào mã nguồnchương trình và có thể kiểm tra nó, lấy đó làm cơ sở để hỗ trợ việc kiểm thử.Một số phương pháp kiểm thử hộp trắng như:

- Kiểm thử giao diện lập trình ứng dụng – API testing

- Bao phủ mã lệnh – Code coverage: tạo các kiểm tra để đpá ứng 1 số tiêuchuẩn về bao phủ mã lệnh

Trang 24

- Phương pháp gán lỗi.

- Phương pháp kiểm thử hoán chuyển

- Kiểm thử tĩnh: kiểm thử bở một trình thông dịch hoặc biên dịch mà xácnhận tính hợp lệ về cú pháp chương trình

 Ưu điểm

- Đối với những tester có kiến thức về ngôn ngữ lập trình sẽ rất dễ dàng đểphát hiện ra những lỗi ở trong các dòng lệnh

- Giúp tối ưu hóa các dòng lệnh của hệ thống

- Các dòng lệnh không cần thiết hoặc các dòng lệnh có khả năng mang đếncác lỗi tiềm ẩn sẽ bị loại bỏ

- Các tester có kiến thức về ngôn ngữ lập trình sau khi đã thực hiện phươngpháp này thì sẽ dễ dàng đạt được độ bao phủ lớn nhất khi thực hiện thiết kế cáctrường hợp kiểm thử sau này

 Nhược điểm

- Trên thực tế việc sử dụng các tester có kiến thức về ngôn ngữ lập trình sẽlàm gia tăng giá thành để phát triển phần mềm

- Đôi lúc sẽ là không khả thi khi kiểm tra chi tiết từng dòng lệnh để có thể

từ đó phát hiện ra các lỗi tiềm ẩn của hệ thống, có rất nhiều các luồng không thểkiểm tra được

- Rất khó để duy trì phương pháp này liên tục, cần phải có những toolchuyên biệt như tool về phân tích code hay tool về phát hiện lỗi và sửa lỗi

Trang 25

2.5.3 Kiểm thử hộp xám (Gray-box Testing)

Là một phương pháp kết hợp giữa phương pháp kiểm thử hộp đen và hộptrắng đòi hỏi tester phải có một lượng kiến thức nhất định về các luồng hoạt động

ở bên trong hệ thống Khác với kiểm thử hộp đen, phương pháp mà tester chỉquan tâm duy nhất để việc kiểm thử thông qua giao diện người dùng, kiểm thửhộp xám đòi hỏi tester phải truy cập vào các tài liệu thiết kế hệ thống cũng như

hệ thống cơ sở dữ liệu của hệ thống Do đó mà tester có thể chuẩn bị tốt hơnnhững dữ liệu cho việc kiểm thử cũng như các trường hợp kiểm thử trong quátrình lên kế hoạch kiểm thử hệ thống

- Trong phương pháp này các tester có thể thiết kế nên những trường hợpkiểm thử đặc biệt xung quanh các giao thức kết nối và các loại dữ liệu khácnhau

- Việc kiểm thử được hoàn thành từ góc nhìn của người dùng chứ khôngphải từ nhà thiết kế

 Nhược điểm

- Vì phương pháp này không dựa trên việc truy cập code của hệ thống nên

sẽ không tránh được việc độ bao phủ của các trường hợp kiểm thử bị giới hạn

Trang 26

- Khi sử dụng phương pháp này thì nhiều trường hợp kiểm thử có thể bị dưthừa nếu mà những nhà thiết kế phần mềm đã chạy các trường hợp kiểm thử nàytrước đó.

- Việc kiểm tra tất cả các luồng đầu vào của hệ thống là không thể thực hiệnđược vì bị giới hạn về mặt thời gian kiểm thử và sẽ dẫn đến có rất nhiều cácluồng hoạt động của hệ thống không được kiểm tra

2.6 Các kỹ thuật kiểm thử

Trong quá trình kiểm thử, kiểm thử viên có thể áp dụng nhiều kỹ thuậtkhác nhau, kết hợp các phương pháp kiểm thử với nhau để có thể tìm các lỗi củaphần mềm một cách tối đa

2.6.1 Kỹ thuật phân vùng tương đương

Đây là phương pháp chia đầu vào thành những nhóm tương đương nhau.Nếu một giá trị trong nhóm hoạt động đúng thì tất cả các giá trị trong nhóm đócũng hoạt động đúng và ngược lại

Mục đích: Giảm đáng kể số lượng test case cần phải thiết kế vì với mỗilớp tương đương ta chỉ cần test trên các phần tử đại diện

Thiết kế test case bằng phân lớp tương đương tiến hành theo 2 bước:

Trang 27

- Nhiều lớp các giá trị hợp lệ.

2.6.2 Kỹ thuật phân tích giá trị biên

Đây là phương pháp kiểm thử mà chúng ta sẽ kiểm thử tất cả các giá trị ởvùng biên của dữ liệu vào và dữ liệu ra Chúng ta sẽ tập trung vào các giá trịbiên chứ không kiểm thử toàn bộ dữ liệu

Mục đích: Thay vì chọn nhiều giá trị trong lớp đương tương để làm đạidiện, phân tích giá trị biên yêu cầu chọn một hoặc vài giá trị là các cạnh của lớptương đương để làm điều kiện kiểm thử

Phân tích giá trị biên là kỹ thuật thiết kế test case và hoàn thành phânvùng tương đương

Thiết kế test case bằng phương pháp phân tích giá trị biên chính là lựachọn các test case để thực thi giá trị biên

Trang 28

thời gian kiểm thử Kiểm thử tự động hỗ trợ các kiểm thử viên rất nhiều tùy vàocông cụ và các nội dung kiểm thử có thể thực hiện bằng tay hay không Đối vớinhững nhiệm vụ kiểm tra khó mà thực hiện bằng tay hoặc yêu cầu chi phí vềnhân công là quá lớn thì sử dụng công cụ hỗ trợ là điều hết sức cần thiết.

2.7.1 Selenium

Khái niệm: Nó là một công cụ kiểm tra phần mềm được sử dụng để kiểm trahồi quy (Regression Testing) Đây là một công cụ kiểm tra mã nguồn mở cungcấp chức năng phát lại và thu âm để kiểm tra hồi quy Các Selenium IDE chỉ hỗtrợ trình duyệt web Mozilla Firefox

Đặc điểm của Selenium:

- Cung cấp các điều khoản để xuất khẩu ghi lại kịch bản trong các ngônngữ khác như Java, Ruby, RSpec, Python, C #, JUnit và TestNG

- Nó có thể thực hiện nhiều bộ kiểm thử cùng một lúc

- Xác định phần tử sử dụng id, tên, đường dẫn X, v.v

- Lưu trữ các bộ kiểm thử như Ruby Script, HTML và bất kỳ định dạng nàokhác  Hỗ trợ tệp tin người dùng selenium-extensions.js

- Cho phép để chèn ý kiến ở giữa của kịch bản để hiểu rõ hơn nội dung vàmục đích của kịch bản kiểm thử

2.7.2 QTP (HP UFT)

Khái niệm: QTP được sử dụng rộng rãi để kiểm tra chức năng( FunctionalTesting) và hồi quy( Regression Testing), giải quyết các ứng dụng phần mềm vàmôi trường Để đơn giản hóa việc tạo và bảo trì thử nghiệm, nó sử dụng kháiniệm kiểm tra từ khóa

Trang 29

Đặc điểm:

- Được sử dụng dễ dàng hơn dành cho người kiểm thử viên không theongành kỹ thuật để thích ứng và tạo ra các trường hợp thử nghiệm làm việc

- Sửa lỗi nhanh hơn bằng cách ghi lại và sao chép các lỗi cho nhà phát triển

- Thu gọn tài liệu thử nghiệm tại một trang web

- QTP hỗ trợ môi trường phát triển NET

- Có cơ chế xác định đối tượng kiểm thử tốt

2.7.3 Rational Function Tester

Khái niệm: Rational Function Tester Là 1 công cụ kiểm tra tự động hướngđối tượng có khả năng tự động kiểm tra dữ liệu, kiểm tra giao diện, và kiểm thửhồi quy( Regression Testing)

Đặc điểm:

- Hỗ trợ một loạt các giao thức và ứng dụng như Java, HTML, NET,Windows, SAP, Visual Basic

- Có thể ghi lại và phát lại các hành động theo yêu cầu

- Tích hợp tốt với các công cụ quản lý kiểm soát nguồn như Rational ClearCase và tích hợp Rational Team Concert

- Cho phép các nhà phát triển tạo ra các kịch bản liên quan đến từ khóa để

có thể được tái sử dụng

- Bộ biên tập Công cụ Java Developer Toolkit của Eclipse tạo điều kiện chonhóm tạo mã thử nghiệm các đoạn mã trong Java với Eclipse

Trang 30

- Hỗ trợ điều khiển tùy chỉnh thông qua proxy SDK (Java / Net)

- Hỗ trợ kiểm soát phiên bản để cho phép phát triển song song các kịch bảnthử nghiệm

2.7.4 WATIR

Khái niệm: Là một phần mềm kiểm tra mã nguồn mở để kiểm thử hồi quy(Regression Testing) Watir chỉ hỗ trợ khám phá Internet trên các cửa sổ trongkhi Watir webdriver hỗ trợ Chrome, Firefox, IE, Opera,

Đặc điểm:

- Hỗ trợ nhiều trình duyệt trên các nền tảng khác nhau

- Sử dụng một ngôn ngữ kịch bản hiện đại có đầy đủ tính năng

- Hỗ trợ ứng dụng web được viết bởi bất kỳ ngôn ngữ nào

- Cho phép bạn viết các test case dễ đọc và bảo trì

2.7.5 SilkTest

Khái niệm: Silk Test được thiết kế để thực hiện kiểm tra chức năng(Functional Testing) và hồi quy (Regression Testing) Nó là một ngôn ngữhướng đối tượng giống như C ++ Nó sử dụng các khái niệm về đối tượng, cácclass và sự kế thừa

Đặc điểm:

- Nó bao gồm tất cả các tập tin mã nguồn

- Chuyển đổi các lệnh script thành các lệnh GUI Trên cùng một máy, cáclệnh có thể được chạy trên một máy từ xa hoặc máy chủ

Trang 31

- Để xác định chuyển động của con chuột cùng với các bấm phím, Silktest

có thể được thực hiện Nó có thể sử dụng cả phương pháp phát lại và ghi hoặccác phương pháp lập trình mô tả

2.8 So sánh kiểm thử tự động và kiểm thử thủ công

Bảng 2.8: So sánh kiểm thử tự động và kiểm thử thủ công

Thời gian Mất nhiều thời gian thực thi

nhưng không phải kiểm thử lặp

đi lặp lại

Mất ít thời gian thực thinhưng quá trình kiểm thửlặp tăng hơn nhiều so vớikiểm thử thủ công

động

Linh động do kiểm thử thủ côngnên có thể phát hiện và xử lýnhững tình huống phát trìnhtrong quá trình kiểm thử Và cóthể tìm ra lỗi mới

Không linh động vì kiểmthử theo script kiểm thửhiệu năng và tải trọng nênquá trình kiểm thử khôngphát hiện ra lỗi mới Chỉthích hợp với kiểm thử hồiquy

Phụ thuộc Phụ thuộc vào trạng thái của con

người nên kết quả test có thểkém chính xác đối với dự án lớn

có nhiều ca kiểm thử

Nhất quán, nên kết quảkiểm thử là chính xác vàkhông phụ thuộc vào yếu tốngoại cảnh

Kết quả Có kết quả ngay lập tức Cần 1 thời gian mới có kết

quả

Ưu điểm Kiểm thử linh hoạt và trong quá

trình kiểm thử sẽ tìm đc ra lỗimới

Kiểm thử tự động thích hợpcho việc kiểm thử lặp đi lặplại, có thể tái sử dụngtestScript Thích hợp giảlập kiểm thử hiệu năng,

Trang 32

chịu tải cũng như giả lập hệthống kiểm thử.

Hạn chế Nếu sử dụng kiểm thử thủ công

mà kiểm thử 1 chức năng lặp đilặp lại thì sẽ tốn nhiều thời gian

và sẽ khó chính xác Nên thaythế bằng kiểm thử tự động để đỡmất thời gian giám sát, tối ưuhóa việc sử dụng tài nguyên máytính để kiểm thử

Nếu sử dụng kiểm thử tựđộng mà kiểm thử ít sẽ rấtlãng phí thời gian và nhânlực Trong trường hợp nàythì nên thực hiện kiểm thửthủ công

Trang 33

CHƯƠNG 3: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG APPIUM

3.1 Appium là gì

Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động(test automation) các native app, mobile web app, và hybrid app trên nền tảngiOS và Android

Appium được phát triển từ nền tảng hệ thống Selenium (kế thừa các đốitượng, cấu trúc và cú pháp) nên Appium có khả năng làm việc với nhiều nềntảng khác nhau, iOS và Android, trên cùng một mã kiểm thử (cross-platforms)

Khả năng cross-platforms của Appium đến từ việc sử dụng các thư việncủa Appium, thông qua một chương trình server, chuyển các câu lệnh sử dụngtrong mã kiểm thử thành các lệnh UIAutomation (với iOS) hay UIAutomator(với Android) để tương tác với thiết bị

Đặc biệt là Appium hỗ trợ “đa nền tảng” (cross-platform) cho phép bạn

sử dụng API giống nhau để viết test cho các nền tảng khác nhau (iOS vàAndroid) Điều này khá là tiện lợi khi bạn muốn sử dụng lại các bộ ca kiểm thửcủa mình Bên cạnh đó, Appium hỗ trợ viết test cho rất nhiều ngôn ngữ, từ Javacho đến Ruby, Python, JavaScript, v.v

Các thành phần của Appium

- Chương trình máy chủ Appium – Appium Server: là một chương trìnhtạo lập một máy chủ Java, dùng để chuyển các lệnh trong mã kiểm thử thành cáclệnh có thể tương tác với thiết bị: UIAutomation với iOS hay UIAutomator vớiAndroid

- Hệ thống thư viện Appium: Cũng như Selenium, Appium có một hệthống thư viện dùng để nhận diện và tương tác với các đối tượng UI trên ứng

Trang 34

dụng di động Hệ thống thư viện Appium được cung cấp cho nhiều ngôn ngữ lậptrình khác nhau như C#, Java, Python, v.v để kỹ sư kiểm thử tự động có thểchọn ngôn ngữ lập trình quen thuộc cho việc tự động hóa kiểm thử.

Ưu điểm:

 Ưu điểm của Appium là tất cả sự phức tạp đều nằm dưới sự quản lý của Appium server và cho nhà phát triển tự động ngôn ngữ lập trình và toàn bộ trải nghiệm vẫn sẽ giống nhau không phụ thuộc vào nền tảng được tự động hóa (iOS hay Android).

Các lợi ích khác của Appium là nó mở ra cho các cross-platform mobile testing có nghĩa là cùng một thử nghiệm sẽ làm việc trên nhiều nền tảng.

 Có thể tự động hóa các Web, Hybrid and Native mobile applications.

Trang 35

Những ưu điểm của Appium Studio:

- Có thể chạy kiểm thử trên hệ điều hành Windows

- Đơn giản hoá việc thiết lập môi trường (không cần Xcode)

- Không bị giới hạn để kiểm tra ứng dụng của mình.

- Đẩy nhanh và đơn giản hóa quá trình kiểm thử.

Một số nhược điểm:

- Độ tùy biến không cao

- Có phiên bản miễn phí nhưng không được hỗ trợ truy cập trên đám mây 3.3 Appium Studio tích hợp trong Eclipse

Appium Studio dành cho Eclipse là một giải pháp dành cho các nhà pháttriển Java muốn tự động kiểm thử ứng dụng trên thiết bị di động trên cả 2 nềntảng Android và iOS

Appium Studio là một thành phần mở rộng để tự động hóa quá trình kiểmthử và có thể tích hợp vào JUnit, TestNG

 Các ưu điểm của Appium Studio dành cho Eclipse:

- Kết nối thiết bị đám mây và phản chiếu thiết bị: hỗ trợ truy cập từ xa vàothiết bị

- Quản lý ứng dụng: Dễ dàng quản lý các ứng dụng di động của bạn

- Có thể xác định đối tượng dễ dàng và cung cấp chế độ offline (phát triểncác bài kiểm tra di động mà không internet hay thiết bị)

Trang 36

- Không cần kiểm thử viên phải hiểu được mã nguồn của chương trình

- Kiểm thử một lúc được đa nền tảng và nhiều ca kiểm thử

 Một số nhược điểm:

- Không hỗ trợ kiểm thử trên thiết bị thật

- Độ trễ của các thiết bị đám mây sẽ kéo dài thời gian kiểm thử

- Đôi lúc hơi khó khăn để xác định đối tượng với những chương trìnhkhông rõ ràng

- Bị giới hạn khả năng truy cập trên đám mây với bản miễn phí

- Không thể kiểm thử được chính xác hiệu năng của phần mềm

- Không thể kiểm thử khả năng gián đoạn khi có cuộc gọi, tin nhắn đến

Trang 37

CHƯƠNG 4

SỬ DỤNG APPIUM THỰC HIỆN KIỂM THỬ ỨNG DỤNG

4.1 Ứng dụng di động “Sổ thu chi Misa”

Sổ thu chi giúp ghi chép lại các khoản thu chi hằng ngày mọi lúc mọi nơicủa cá nhân hoặc liên quan đến gia đình, con cái, họ hàng; Ghi chép các khoảnchi tiêu liên quan tới 1 sự kiện nào đó như đi du lịch, đám giỗ, đám cưới, liênhoan,…

4.1.1 Đăng ký

Hình ảnh giao diện đăng ký

Hình 4.1: Giao diện đăng ký

- Email : là trường bắt buộc

- Mật khẩu : là địa chỉ bắt buộc

- Hiển thị thông báo bắt buộc nếu để trống.

- Click button “Đăng ký” sau khi nhập đầy đủ và hợp lệ các trường dữ liệu

Trang 38

- Hệ thống hiển thị thông báo, giao diện đăng ký chuyển sang giao diện

trang chủ với tên tài khoản được hiển thị

4.1.2 Đăng nhập

Hình ảnh giao diên đăng nhập

Hình 4.2: Giao diện đăng nhập

- Email : là trường bắt buộc

- Mật khẩu : là địa chỉ bắt buộc

- Email và mật khẩu đã được lưu trong CSDL

- Đăng nhập thành công; chuyển sang giao diện trang chủ với tên tài khoản

được hiển thị

- Hiển thị thông báo bắt buộc nếu để trống.

Trang 39

- Đăng nhập thành công; giao diện đăng nhập chuyển sang giao diện trang

chủ với tên tài khoản được hiển thị

4.1.3 Ghi chép thu chi

Ghi lại đã thu/chi khoản gì, từ ví/tài khoản nào, vào lúc nào để theo dõiluồng tiền và phân tích thu chi

Đánh dấu để tổng hợp các khoản chi theo từng sự kiện/chuyến đi hay cánhân cụ thể

Giao diện thu tiền

Trang 40

Hình 4.3: Giao diện thu tiền

- Số tiền: trường mặc định, mặc định là 0; chỉ cho nhập số

- Chọn hạng mục: trường bắt buộc

- Diễn giải: trường không bắt buộc

- Ngày: trường mặc định; mặc định ngày hiện tại, có thể đổi ngày thành quákhứ hoặc tương lai

- Vào tài khoản: trường mặc định, mặc định ví

Ngày đăng: 14/10/2020, 21:35

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w