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

Cải tiến và ứng dụng công cụ kiểm thử ranorex trong các dự án phần mềm

22 483 2

Đ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 22
Dung lượng 0,9 MB

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

Nội dung

Đặc biệt, với sự giúp đỡ của công cụ kiểm thử tự động, các công việc trước đây con người không thể thực hiện được như: Load test, Performance test đã được giải quyết.. Hiện nay có nhiều

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

LÊ THỊ KIM CHUNG

CẢI TIẾN VÀ ỨNG DỤNG CÔNG CỤ KIỂM THỬ RANOREX TRONG CÁC DỰ ÁN PHẦN MỀM

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01.01

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT

ĐÀ NẴNG – 2017

Trang 2

Công trình được hoàn thành tại TRƯỜNG ĐẠI HỌC BÁCH KHOA

Người hướng dẫn khoa học: PGS.TS Nguyễn Thanh Bình

Phản biện 2: PGS.TS Lê Mạnh Thạnh

Luận văn sẽ được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật họp tại Trường Đại học Bách khoa vào ngày 06 tháng 01 năm 2017

Có thể tìm hiểu luận văn tại:

 Trung tâm Học liệu, Đại học Đà Nẵng tại Trường Đại học Bách khoa

 Thư viện Khoa Khoa học máy tính, Trường Đại học Bách khoa - ĐHĐN

Trang 3

Chi phí kiểm thử rất lớn, chiếm khoảng 40% tổng chi phí cho một

dự án phát triển phần mềm Nhiều nghiên cứu về các kĩ thuật, giải pháp và quy trình nhằm giảm chi phí và thời gian kiểm thử Trong đó, kiểm thử tự động được xem là một trong những giải pháp hiệu quả Ngoài ra, nhờ độ ổn định cao kiểm thử tự động có thể thực thi các ca kiểm thử với độ chính xác cao hơn Giải phóng con người khỏi các công việc lặp đi lặp lại nhàm chán

và không cần thiết Đặc biệt, với sự giúp đỡ của công cụ kiểm thử tự động, các công việc trước đây con người không thể thực hiện được như: Load test, Performance test đã được giải quyết

Hiện nay có nhiều công cụ được phát triển nhằm giúp cho các kĩ sư

tự động hóa quy trình kiểm thử phổ biến như: QuickTest Professional, Win Runner, Jtest, Ranorex… Trong số đó, Ranorex khá tốt và mạnh, bao gồm nhiều chức năng điển hình của một công cụ kiểm thử tự động Nó có thể thực thi kiểm thử chức năng và phi chức năng trên môi trường Win và Web Kiểm thử mobile trên các hệ điều hành Android, iOS Cho phép người sử dụng viết mã nguồn dựa trên ngôn ngữ C# và VB.Net

Trong kiểm thử tự động, một thử thách đặt ra đối với các kiểm thử viên chính là việc quản lý phiên bản của kịch bản kiểm thử, tương ứng với phiên bản của phần mềm, cũng như quản lý, tổng hợp mã nguồn khi thực hiện làm việc nhóm Các khó khăn này được giải quyết thông qua bộ đôi

Trang 4

2 công cụ TortoiseGit và GitHud Bên cạnh đó, kết quả của việc kiểm thử chính là phát hiện ra các lỗi sai trong phần mềm Vậy các lỗi sai đó được quản lý như thế nào? Tất nhiên sẽ có một công cụ hữu hiệu để làm việc này, mà điển hình là Jira Ta thấy công cụ thực hiện kiểm thử tự động, công

cụ quản lý mã nguồn, công cụ quản lý lỗi, các công cụ này có mối quan hệ qua lại, thường xuyên được sử dụng Tuy nhiên nó lại là 3 công cụ riêng biệt, không có sự liên kết về quy trình, tốn nhiều thời gian nếu sử dụng riêng

Nhằm mục đích nâng cao khả năng sử dụng đối với công cụ Ranorex, tối ưu hóa quy trình tự động và về mặt thời gian, tôi đề xuất chọn

đề tài luận văn cao học:

“Cải tiến và ứng dụng công cụ kiểm thử Ranorex trong các dự án phần

Kết quả có thể làm tài liệu tham khảo cho các kiểm thử viên, các đơn vị phát triển phần mềm, hoặc các học viên – sinh viên trong việc nghiên cứu kiểm thử phần mềm tự động

Ý nghĩa thực tiễn

Tích hợp các công cụ hỗ trợ trong việc kiểm thử tự động vào công

cụ Ranorex Thiết kế bộ kịch bản kiểm thử và thực thi kiểm thử tự động cho phần mềm cụ thể

Trang 5

Để đạt được những mục tiêu trên thì nhiệm vụ đặt ra của đề tài là:

- Nghiên cứu về kiểm thử tự động

- Nghiên cứu về ngôn ngữ lập trình C#

- Công cụ TortoiseGit

- Phần mềm Jira

- Cải tiến và ứng dụng công cụ Ranorex để thiết kế kịch bản kiểm thử cho phần mềm cụ thể

- Đánh giá kết quả theo yêu cầu của đề tài

- Trong khuôn khổ của luận văn thuộc loại nghiên cứu và ứng dụng, tôi chỉ giới hạn nghiên cứu các vấn đề sau:

- Kiểm thử tự động

- Công cụ TortoiseGit

- Phần mềm Jira

- Công cụ Ranorex

Trang 6

4 Phương pháp nghiên cứu

Phương pháp lý thuyết

Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài Nghiên cứu lý thuyết kiểm thử phần mềm nói chung và kỹ thuật kiểm thử tự động nói riêng

Cải tiến cộng cụ và cách thiết kế các kịch bản kiểm thử trong Ranorex

Phương pháp thực nghiệm

Nghiên cứu và khai thác công cụ phần mềm Ranorex

Cài đặt chương trình phần mềm cụ thể để thực hiện viết kịch bản kiểm thử Kiểm tra, thử nghiệm, nhận xét và đánh giá kết quả

5 Phương tiện, công cụ triển khai

Môi trường Microsoft Visual C#

Công cụ TortoiseGit

Phần mềm Jira

Phần mềm KeePass

Công cụ Ranorex

Luận văn được trình bày gồm những phần chính như sau:

Chương 1 Cơ sở lý thuyết

Chương này đã giới thiệu tổng quan về lỗi phần mềm, kiểm thử phần mềm, các giai đoạn kiểm thử Trong đó có nêu ra các kỹ thuật kiểm thử phần mềm, cũng như ưu và nhược điểm của từng loại kỹ thuật

Chương 2 Kiểm thử tự động và công cụ hỗ trợ

Các vấn đề về kiểm thử tự động, ưu điểm và nhược điểm của nó được giới thiệu trong chương này Cùng với đó là sự khác nhau của 2 cách tiếp cận: kiểm thử tự động dựa trên dữ liệu và kiểm thử tự động dựa trên từ

Trang 7

5 khóa Một phần quan trọng là giới thiệu về 2 công cụ kiểm thử tự động khá phổ biến hiện nay Một công cụ mã nguồn mở là Selenium, và một công cụ thương mại là QTP

Chương 3 Kiểm thử tự động với Ranorex và đề xuất giải pháp cải tiến

Chi tiết về công cụ kiểm thử tự động Ranorex sẽ được giới thiệu, cùng với các ưu điểm cũng như hạn chế Việc kiểm thử có nhiều công việc khác nhau, đễ hỗ trợ cho kiểm thử viên, đã có rất nhiều công cụ ra đời Chương này sẽ tìm hiểu về các công cụ hỗ trợ kiểm thử tự động và cách tích hợp chúng vào Ranorex

Kết luận và hướng phát triển

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Chương này giới thiệu các khái niệm về lỗi phần mềm, các kĩ thuật

và giai đoạn kiểm thử phần mềm Từ đó cung cấp cái nhìn tổng quan về việc kiểm thử phần mềm

1.1 LỖI PHẦN MỀM

Định nghĩa lỗi phần mềm: Có rất nhiều định nghĩa về lỗi phần mềm

nhưng có thể hiểu và phát biểu một cách đơn giản thì "Lỗi phần mềm là sự

không khớp giữa chương trình và đặc tả của nó"

Dựa vào định nghĩa, ta có thể phân loại lỗi phần mềm thành 3 dạng:

 Lỗi sai

 Lỗi thiếu

 Lỗi thừa

1.1.1 Các nguyên nhân gây lỗi phần mềm

Lỗi phần mềm có thể đến từ nhiều nguyên nhân khác nhau, trong

đó có cả các nguyên nhân chủ quan và các nguyên nhân khách quan: Các lỗi lập trình và lỗi do tài liệu yêu cầu

Ngoài 2 nguyên nhân trên còn có các nguyên nhân khác:

Trang 8

6 Các lỗi trong giao tiếp giữa khách hàng và nhà phát triển

Sai lệch có chủ ý với các yêu cầu phần mềm

Không tuân thủ theo các tài liệu hướng dẫn và tiêu chuẩn lập trình

Thiếu sót trong quá trình kiểm thử

1.2 CHI PHÍ SỬA LỖI

1.1.2 Qui trình xử lý lỗi phần mềm

Bảng 1.1 Giải thích trạng thái lỗi

Mới Lỗi mới tạo, chưa được lưu

Mở Lỗi mới tạo, sau khi được lưu

Đã chỉ định Lỗi đã được gán cho nhân viên phát triển

Đã sửa Lỗi đã được sửa xong bởi nhân viên phát triển

Không chấp

nhận

Lỗi sau khi tạo, được xác định là không phải lỗi

Hoãn lại Lỗi không thuộc phạm vi của dự án, hoặc sẽ được xử lý

trong một giai đoạn khác của dự án

Mở lại Lỗi được xử lý, nhưng sau khi kiểm tra lại thì vẫn chưa

đúng

Đã xác nhận Lỗi đã được sửa, và kiểm tra lại đúng

Đóng Trạng thái đóng Lỗi đã được sửa và kiểm tra lại thành

công

1.3 KIỂM THỬ PHẦN MỀM

1.1.3 Khái niệm

Kiểm thử phần mềm là quá trình thực thi một hệ thống phần mềm

để xác định xem phần mềm có đúng với đặc tả không và thực hiện trong môi trường như mong đợi hay không Mục đích của kiểm thử phần mềm là

Trang 9

7 tìm ra lỗi chưa được phát hiện, tìm một cách sớm nhất và bảo đảm rằng lỗi

sẽ được sửa

1.1.4 Kỹ thuật kiểm thử phần mềm

Mục tiêu của kiểm thử là phải thiết kế các ca kiểm thử có khả năng cao nhất trong việc phát hiện nhiều lỗi với thời gian và công sức tối thiểu

Có thể chia các kỹ thuật kiểm thử thành hai loại:

Kỹ thuật kiểm thử hộp đen

Kỹ thuật kiểm thử hộp trắng

1.1.5 Các giai đoạn kiểm thử phần mềm

Khi kiểm thử một sản phẩm phần mềm, chúng ta không chỉ kiểm thử một lần, khi mà nó đã được hoàn thành Các thành phần của phần mềm đều phải được kiểm thử trước, sau đó trong suốt quá trình tích hợp các thành phần cũng phải được kiểm thử cho đến khi đạt được sản phẩm cuối cùng [12]

Theo quá trình phát triển của phần mềm sẽ có 4 giai đoạn kiểm thử: + Kiểm thử đơn vị

Trang 10

8 CHƯƠNG 2: KIỂM THỬ TỰ ĐỘNG VÀ CÁC CÔNG CỤ KIỂM

THỬ TỰ ĐỘNG 2.1 KHÁI QUÁT VỀ KIỂM THỬ TỰ ĐỘNG

Tự động thực thi kiểm thử Mức 1: Bắt

đầu

Tự động quản lí thông tin

Ưu điểm của kiểm thử tự động

Các vấn đề khó khăn của kiểm thử tự động

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

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

Trang 11

9 Kiểm thử thủ công Kiểm thử tự động

Kiểm thử thủ công là không

chính xác tại mọi thời điểm vì

do lỗi khách quan của con

người, do đó nó

ít đáng tin cậy

Kiểm thử tự động là đáng tin cậy hơn, vì

nó được thực hiện bởi các công cụ hoặc các kịch bản

Kiểm thử thủ công tốn thời gian Kiểm thử tự động được thực hiện bởi các

công cụ phần mềm, vì vậy nó nhanh hơn rất nhiều so với kiểm thử thủ

công Chủ yếu đầu tư vào nguồn nhân

Kiểm thử thủ công cho phép con

người quan sát, có thể hữu ích

hơn nếu mục tiêu kiểm thử là

đáp ứng sự thân thiện với người

hoặc cải thiện

trải nghiệm của khách hàng

Kiểm thử tự động không đòi hỏi sự quan sát của con người và không thể đảm bảo phân biệt được thân thiện với người hoặc trải nghiệm khách hàng

2.2 CÁC LOẠI KIỂM THỬ TỰ ĐỘNG

2.2.1 Kiểm thử tự động dựa trên dữ liệu (data-driven)

Một kịch bản kiểm thử đơn giản sẽ có dữ liệu thử được nhúng vào trong đó

Ưu điểm và nhược điểm

Trang 12

10 Lợi ích chính của kiểm thử kiểm thử tự động dựa trên dữ liệu đó là tạo và chạy nhiều bộ dữ liệu rất dễ dàng Chỉnh sửa, thêm mới dữ liệu dễ dàng và không yêu cầu kĩ năng lập trình

Hạn chế lớn nhất của hướng tiếp cận kiểm thử tự động dựa trên dữ liệu đó là tất cả các ca kiểm thử phải tương tự nhau,

2.2.2 Kiểm thử tự động dựa trên từ khóa

Ta thấy đối với hướng tiếp cận kiểm thử tự động dựa trên dữ liệu có nhiều điểm còn hạn chế Một cách giải quyết cho các hạn chế này đó là hướng tiếp cận kiểm thử tự động dựa trên từ khóa Từ khóa được xác định cho mỗi hành động trong ca kiểm thử

Một khi từ khóa được đặt, một người không cần kiến thức về lập trình cũng

dễ dàng thiết kế và chỉnh sửa kịch bản kiểm thử [16]

Ưu điểm và nhược điểm

Kiểm thử tự động dựa trên từ khóa là một cách tuyệt vời để tạo các

ca kiểm thử linh hoạt Nó cho phép các nhóm kiểm thử viên có các nền tảng kĩ thuật khác nhau có thể làm việc cùng nhau, trong khi vẫn hiểu rõ cấu trúc và dễ bảo trì

Một vấn đề với phương pháp tiếp cận theo từ khóa đó là kịch bản kiểm thử có xu hướng dài hơn và phức tạp hơn so với phương pháp kiểm thử tự động theo dữ liệu

2.3 CÁC CÔNG CỤ KIỂM THỬ TỰ ĐỘNG

2.3.1 Selenium

Bên cạnh mã nguồn mở, Selenium hỗ trợ một loạt các ngôn ngữ bao gồm Java, Python, PHP, C#, Ruby, thậm chí cả Java Script thuần túy Selenium là công cụ mã nguồn mở mạnh mẽ nhất có sẵn và nó dựa trên Java script trong một giới hạn lớn Nó phù hợp hơn cho phương pháp agile của việc phát triển và kiểm thử

Trang 13

11 Tính năng ghi lại của Selenium được thực hiện như là một phần thêm vào trình duyệt FireFox, và cho phép ghi lại, chỉnh sửa và gỡ rối các kịch bản kiểm thử

2.3.2 HP Quick Test Pro (QTP) hoặc HPE Unified Functional Testing (UFT)

Đây là một công cụ dễ sử dụng và vô cùng thân thiện, hoạt động tốt với các ứng dụng dựa trên web và window Nó là một công cụ kiểm thử chức năng có tính năng lưu trữ ảnh chụp màn hình của mỗi trang trong suốt quá trình thực hiện Vì vậy người dùng có thể tham khảo các ảnh chụp màn hình của lần thực thi trước nếu muốn tham khảo

Bảng 2.3 So sánh công cụ QTP, Selenium và Ranorex

Selenium QTP Ranorex Cài đặt và cấu hình

Dễ dàng cài đặt cho người không

Trang 14

12 Xác định đối tượng

Bảng hành động cho việc chỉnh sửa

các bước sau khi

Khả năng bảo trì

Dễ dàng thực thi cho mọi người

Dễ dàng thực thi với việc chạy tệp

Thông qua chương này, các vấn đề cơ bản liên quan đến kiểm thử

tự động, ưu điểm và nhược điểm của nó đã được làm rõ Bên cạnh đó đã giới thiệu về 2 công cụ kiểm thử tự động khá phổ biến hiện nay Một công

Trang 15

13

cụ mã nguồn mở là Selenium, và một công cụ thương mại là QTP Phần tiếp theo của luận văn sẽ giới thiệu cụ thể hơn về một công cụ tích hợp ưu điểm của cả 2 phần mềm trên, đó chính là Ranorex

CHƯƠNG 3: KIỂM THỬ TỰ ĐỘNG VỚI RANOREX VÀ ĐỀ XUẤT

GIẢI PHÁP CẢI TIẾN 3.1 CÔNG CỤ KIỂM THỬ RANOREX

3.1.1 Đặc điểm Ranorex

3.1.2 Giới thiệu Ranorex

3.1.3 Ưu và nhược điểm của Ranorex

Ưu điểm

Rất nhẹ, cài đặt đơn giản

Có thể thực hiện kiểm thử trên cả Desktop, Web, Mobile, Android, iOS, và nhiều trình duyệt khác nhau Có thể chạy được cả trên máy ảo

Tính năng mạnh mẽ của Ranorex là đa nền tảng thử nghiệm Sau khi các trường hợp thử nghiệm được viết, chúng có thể được thực hiện trên các thiết bị di động khác nhau như Android và iPhone

Được hỗ trợ mạnh bởi đội ngũ nhân viên giàu kinh nghiệm của Ranorex

Cung cấp môi trường lập trình với ngôn ngữ phổ biến như C#, VB.Net

Hạn chế

 Khó khăn khi làm việc nhóm, quản lí phiên bản

 Tạo lỗi hoặc chuyển trạng thái của lỗi

3.2 ĐỀ XUẤT GIẢI PHÁP CẢI TIẾN

3.2.1 Đề xuất giải pháp

Những vấn đề hạn chế của Ranorex như đã phân tích ở trên dẫn đến công việc kiểm thử tự động vẫn còn vài bước yêu cầu kiểm thử viên

Trang 16

14 phải làm thủ công, có thể tốn thời gian hoặc sai sót Chúng ta có thể cải tiến những hạn chế đó bằng cách giải quyết các vấn đề sau:

Tích hợp với một công cụ quản lí mã nguồn, cấu hình, và cho phép làm việc nhóm Các công cụ như trên thường hỗ trợ

o Lưu trữ thông tin về phiên bản phần mềm, thông tin kiểm thử

o Lưu vết quan hệ giữa phiên bản phần mềm và thông tin kiểm thử

o Quản lý truy cập, cập nhật

Tích hợp với công cụ quản lý lỗi, hỗ trợ báo cáo lỗi từ khi xác định lỗi, phân tích lỗi, sửa lỗi, kiểm thử lại cho đến khi kết thúc lỗi Công cụ quản lí lỗi ghi nhận lịch sử của lỗi Các công cụ này thường có các chức năng:

o Lưu trữ tính chất của lỗi và các thông tin đi kèm với lỗi

o Trạng thái của lỗi

o Báo cáo độ đo về lỗi

Ta thấy việc thao tác trên các công cụ quản lý lỗi, quản lý phiên bản hay quản lý lỗi xảy ra rất thường xuyên Dựa vào đây luận văn đề xuất hướng tích hợp các công cụ hỗ trợ vào Ranorex nhằm tối đa hóa quy trình kiểm thử tự động

3.2.2 Giới thiệu các công cụ hỗ trợ

3.2.2.2 Jira

Trang 17

15 Các tính năng chính:

o Quản lý, theo dõi tiến độ của dự án

o Quản lý lỗi, tính năng, công việc, những cải tiến hoặc bất kỳ vấn

đề gì

o Tìm kiếm nhanh chóng với bộ lọc JIRA Query Language

o Xây dựng quy trình làm việc tương thích với yêu cầu của từng dự

án

o Cung cấp nhiều loại báo cáo thống kê với rất nhiều loại biểu đồ khác nhau phù hợp với nhiều loại hình dự án, nhiều đối tượng người dùng

o Dễ dàng tích hợp với các hệ thống khác

o Cài đặt dễ dàng, có thể chạy trên hầu hết các nền tảng phần cứng,

hệ điều hành và cơ sở dữ liệu

3.3 CHI TIẾT GIẢI PHÁP CẢI TIẾN

3.3.1 Xây dựng qui trình tổng thể tích hợp TortoiseGit và Jira vào Ranorex

3.3.1.1 Tích hợp TortoiseGit vào Ranorex

3.3.1.2 Tích hợp Jira vào Ranorex

Bảng 3.3 Các đoạn mã tiêu chuẩn

InitializeDefaultConfiguration

Thiết lập kết nối đến máy chủ jira Đoạn mã này là bắt buộc đối với các đoạn mã phía sau

AutoCreateNewIssueIfTestCaseFails

Nếu kết quả thực thi là Sai,đoạn mã này sẽ tạo một “Issue” trên jira Đồng thời, tệp báo cáo sau khi thực thi ở Ranorex cũng được tự động nén

và đính kèm vào “Issue” đó

Ngày đăng: 01/04/2018, 12:16

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm