Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
218,53 KB
Nội dung
B
Ộ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
THÂN THỊ TÂM
NGHIÊN CỨUỨNGDỤNG
RELEVANTCODES
ĐỂ XÂYDỰNGFRAMEWORK
TRONG KIỂMTHỬTỰĐỘNG
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
ĐÀ NẴNG - Năm 2012
Công trình ñược hoành thành tại
ĐẠI HỌC ĐÀ NẴNG
Người hướng dẫn khoa học: TS. NGUYỄN THANH BÌNH
Phản biện 1: TS. HUỲNH CÔNG PHÁP
Phản biện 2: PGS.TS. ĐOÀN VĂN BAN
Luận văn ñượ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 tại Đại học Đà Nẵng vào ngày 3
tháng 3 năm 2012.
Có thể tìm hiểu luận văn tại:
- Trung tâm Thông tin - H
ọc liệu, Đại học Đà Nẵng
- Trung tâm Học liệu, Đại học Đà Nẵng
- 1 -
MỞ ĐẦU
1. Lý do chọn ñề tài
Kiểm thửtự ñộng (KTTĐ) là một lĩnh vực nhằm thu hút ñược
lợi ích tối ña với nỗ lực tối thiểu ñối với các công việc lặp ñi lặp lại.
Lợi ích tối ña ở ñây chính là khả năng gia tăng hiệu quả các nguồn
nhân lực, gia tăng ñộ bao phủ của việc kiểm thử, nâng cao chất
lượng và ñộ tin cậy của phần mềm.
KTTĐ ñòi hỏi một phương pháp tiếp cận ñược xác ñịnh, dựa
trên một framework toàn diện, ñể tận dụng và ñạt ñược lợi ích tối ña
trong giai ñoạn kiểmthử của một quy trình sản xuất phần mềm.
Một framework KTTĐ có nhiệm vụ chính trong việc ñịnh nghĩa
các khuôn mẫu diễn ñạt ñược ñúng yêu cầu mong ñợi, tạo ra một cơ
chế kiểm tra, kiểmthử phần mềm ứng dụng, thực thi việc kiểmthử
và thông báo kết quả kiểm thử.
Để ñáp ứng nhu cầu ngày càng phát triển của một quá trình
KTTĐ, cần có một hệ thống với một khuôn mẫu thống nhất có tính
mở rộng cao ñể bắt kịp với các nhu cầu thay ñổi trong quy trình phát
triển phần mềm. Framework ñược thiết kế ñể ñáp ứng nhu cầu này,
chỉ cần xâydựng thêm các mô-ñun vào framework tương ứng với sự
thay ñổi của ứng dụng.
Trong phạm vi ñề tàitài này, tôi muốn khai thác mã nguồn mở
cho việc nghiên cứu và triển khai thử nhiệm. Cách tiếp cận ở ñây là
ñể thúc ñẩy việc sử dụng lại mã nguồn có sẵn, tân dụng tối ưu các
ñiểm mạnh của công cụ mã nguồn mở nhằm ñêm lại năng suất cao
hơn.
- 2 -
Đối với mã nguồn mở, các trường hợp kiểmthử tương ứng các
chức năng của ứngdụng sẽ ñược quản lý rời rạc ñược mô tả thông
qua việc sử dụng các từ khóa. Công cụ mã nguồn mở mà tôi sử dụng
ñể xâydựngframework cho các ứngdụng web có tên là
RelevantCodes.
Trên ñây là lý do chọn ñề tài ‘Nghiên cứuứngdụng
RelevantCodes ñể xâydựngframeworktrongkiểmthửtự ñộng’.
2. Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu của ñề tài là nghiên cứu mã nguồn mở RelevantCodes
(RC) và xâydựngframeworkứngdụng cho KTTĐ.
Nhiệm vụ nghiên cứu của ñề tài là trình bày sơ lược về quy
trình kiểmthửtự ñộng, ñánh giá một số các framework có sẵn sử
dụng cho quy trình kiểmthửtự ñộng, cuối cùng là ứngdụng RC ñể
xây dựng và cải tiến nó thành framework RC+ với cấu trúc mới.
3. Đối tượng nghiên cứu
Để thực hiện ñược mục tiêu và nhiệm vụ của ñề tài, luận văn
cần ñề cập ñến các ñối tượng nghiên cứu sau ñây:
- Quy trình kiểmthửtự ñộng
- Các công cụ kiểmthửtự ñộng
- Frameworkkiểmthửtự ñộng
- Tìm hiểu frameworkRelevantCodestrongkiểmthửtự ñộng
- 3 -
4. Phạm vi nghiên cứu
- Nghiên cứu phát triển mã nguồn mở RelevantCodes ñể cải
tiến thành một cấu trúc framework mới có thể ứngdụng
ñược trong thực tế
- Ứngdụng công cụ RelevantCodes ñã cải tiến cho các các
ứng dụng web thông thường (HTML)
- Phát triển thêm một số chức năng vào thư viện dùng chung
5. Phương pháp nghiên cứu
- Tìm hiểu về quy trình KTTĐ
- Tìm hiểu tổng quan về framework cho quy trình KTTĐ
- Phân tích, ñánh giá các chức năng, lợi ích, kiến trúc của
RelevantCodes
- Phát triển RelevantCodes ñể triển khai một framework cụ
thể
- Kiểm tra, thử nghiệm và ñánh giá kết quả
6. Những phương tiện công cụ ñể có thể triển khai
- Sử dụngframework mã nguồn RelevantCodes ñể phát triển
ứng dụng
- Sử dụng công cụ Quick Test Pro - phiên bản thử nghiệm
(trial) - làm phương tiện ñể triển khai phát triển
RelevantCodes
7. Ý nghĩa khoa học và thực tiễn của ñề tài
Ph
ần nghiên cứu lý thuyết cũng như ñánh giá các framework sẽ
cung cấp một cách khái quát và phần nào giúp người ñọc hiểu ñược
lợi ích, tầm quan trọng của quy trình KTTĐ.
- 4 -
Kết quả nghiên cứu cũng sẽ hướng sự quan tâm của người ñọc
ñến các lợi ích cũng như tầm quan trọng của mã nguồn mở trong
việc xâydựng các framework cho kiểmthử phần mềm nói riêng và
các ứng dụng, tiện ích, hiệu quả cũng như việc tiết kiệm chi phí khi
dùng mã nguồn mở nói chung.
8. Đặt tên ñề tài
Tên ñề tài là ‘Nghiên cứuứngdụng RelevantCodes ñể xâydựng
framework trongkiểmthửtự ñộng’.
9. Bố cục luận văn
Luận văn ñược tổ chức thành ba chương.
Chương 1, tiêu ñề là ‘Kiểm thửtự ñộng’, trình bày tổng quan về
kiểm thửtự ñộng, các công cụ kiểmthửtự ñộng và frameworkkiểm
thử tự ñộng.
Chương 2, tiều ñề chương là ‘Giải pháp kiểmthửtự ñộng với
RelevantCodes và QuickTestPro’. Chương này trình bày cụ thể về
công cụ kiểmthử QTP và framework mã nguồn mở RC. Bên cạnh
ñó, trình bày sự kết hợp của QTP và RC cùng mối liên hệ và sự phụ
thuộc của hai công cụ này.
Chương cuối cùng là chương 3 có tiêu ñề là ‘Cải tiến
RelevantCodes và ứngdụng vào kiểmthửtự ñộng’, trình bày hướng
giải quyết những vấn ñề hạn chế của RC và triển khai cải tiến RC
thành RC+, sau ñó trình bày cấu trúc của framework RC+, thử
nghiệm và nhận xét ñánh giá RC+.
- 5 -
CH
ƯƠNG 1
KIỂM THỬTỰĐỘNG
Chương ñầu tiên của luận văn trình bày sơ lược các vấn ñề xung
quanh KTTĐ, bao gồm tổng quan về KTTĐ, tổng quan về công cụ
KTTĐ, và framework KTTĐ.
1.1. Tổng quan về kiểmthửtự ñộng
Phần này sẽ trình bày bao quát các vấn ñề liên quan ñến vấn ñề
kiể thửtự ñộng một cách bao quát bao gồm: giới thiệu một số ñịnh
nghĩa về kiểmthửtự ñộng, mục tiêu, yêu cầu thiết yếu của kiểmthử
tự ñộng, phương pháp quản lý vòng ñời của quy trình kiểmthửtự
ñộng (trong phạm vi ñề tài, phương pháp ñược sử dụng là phương
pháp luận vòng ñời kiểmthửtự ñộng ATLM - Automated Testing
Lifecycle Methodology - ATLM), các cấp ñộ của kiểmthửtự ñộng,
phân loại kiểmthửtự ñộng, Xác ñịnh các ñối tượng có thể ñược
kiểm thửtự ñộng và cuối cùng ñề cập ñến những mong ñợi sai lầm
về kiểmthửtự ñộng.
1.1.1. Giới thiệu
Kiểm thửtự ñộng là việc sử dụng các phần mềm ñể kiểm soát
việc thực hiện các thử nghiệm, so sánh kết quả thực tế kết quả dự
ñoán, thiết lập các ñiều kiện tiên quyết cho các thử nghiệm, và các
chức năng kiểm cũng như báo cáo kết quả thử nghiệm. Thông
th
ường, KTTĐ bao hàm việc việc tự ñộng hoá một quy trình làm
việc bằng tay ñã ñược sử dụng như một quá trình kiểmthử chính
thức.
- 6 -
1.1.2. Mục tiêu, yêu cầu thiết yếu của kiểmthửtự ñộng
Mục tiêu của KTTĐ là làm giảm các hoạt ñộng kiểmthửthủ
công và các hoạt ñộng kiểmthử dư thừa bằng cách sử dụng một giải
pháp có hệ thống ñể ñạt ñược một phạm vi và ñộ bao phủ các trường
hợp kiểmthử tốt hơn, giảm chi phí và thời gian kiểmthửtrong suốt
vòng ñời phần mềm. Qua ñó, nâng cao chất lượng, tăng ñộ tin cậy,
tăng tốc ñộ làm việc và hiệu quả của quá trình kiểm thử, ñạt ñược
các tiêu chí kiểm thử, giải phóng cho các kỹ sư kiểmthử phần mềm
thoát khỏi việc thực hiện kiểmthử cách tẻ nhạt và lặp lại nhàm chán.
Để ñạt ñược những mục tiêu ñó, quy trình KTTĐ ñặt ra nhiều
yêu cầu thiết yếu. Việc phải thành lập một ñội ngũ kỹ sư chuyên
dụng cho KTTĐ với một kế hoạch và chiến lược rõ ràng, các kỹ sư
phải giỏi kĩ năng lập trình. Các công cụ kiểmthử phải phù hợp với
chiến lược ñặt ra, phù hợp với ngân sách dành riêng cho KTTĐ và
tiến ñộ của dự án. Việc bảo trì các ca kiểmthử cũng là một yêu cầu
thiết yếu của KTTĐ. Việc kiểmthử phải ñược thực thi nhiều lần, do
ñó yêu cầu phải có một quy trình phát triển cụ thể, song song ñó, nên
có quy trình kiểmthửtại chỗ – chủ yếu là thủ công. Cuối cùng, cần
phải xem xét ñến các chi phí liên quan ñên chi phí của công cụ kiểm
thử và chi phí ñào tạo nếu có.
1.1.3. Quản lý vòng ñời của quy trình KTTĐ
Ngày nay, các chuyên gia phần mềm ñang phải ñối mặt với
những thách thức về việc xâydựng các hệ thống với ít nhân lực, tài
nguyên trong m
ột khoảng thời gian ngày càng bị thu hẹp. Các công
ty không chỉ muốn kiểmthử phần mềm một cách ñầy ñủ, mà còn ñòi
- 7 -
hỏi nhanh chóng và triệt ñể nhất. Để thực hiện ñược mục tiêu này,
các tổ chức ñang chuyển sang KTTĐ. Khi quyết ñịnh ñiều ñó, có thể
họ còn chưa biết ñến một công cụ KTTĐ nào. Phương pháp luận
vòng ñời KTTĐ (Automated Testing Lifecycle Methodology -
ATLM) sẽ cung cấp hướng dẫn về quy trình KTTĐ.
ATLM là một phương pháp hướng cấu trúc ñể ñảm bảo thực
hiện thành công KTTĐ. Phương pháp này có cấu trúc liên quan ñến
một quá trình gồm nhiều giai ñoạn hỗ trợ các hoạt ñộng chi tiết và
liên quan ñến nhau, nó hỗ trợ phát triển các thiết kế kiểm thử, phát
triển và thực thi các ca kiểm thử, quản lý các dữ liệukiểm thử. Nó
cũng hỗ trợ việc quản lý tài liệu, theo dõi, cho phép nhóm kiểmthử
báo cáo các lỗi/sự cố của hệ thống.
1.1.4. Các cấp ñộ của kiểmthửtự ñộng
Các cấp ñộ của KTTĐ có quy trình, giải pháp, khả năng hỗ trợ
và ñược phân loại theo mục ñích kiểmthử khác nhau. Có bốn cấp ñộ
chính là quản lý KTTĐ, thực thi KTTĐ, tạo ra các ca KTTĐ và cuối
cùng là tối ưu KTTĐ.
1.1.5. Phân loại kiểmthửtự ñộng
Có nhiều loại hình KTTĐ khác nhau, luận văn ñề cập ñến bốn
loại KTTĐ ñược phân loại dựa trên các kĩ thuật KTTĐ tưng ứng cho
từng loại, bao gồm kiểmthử giao diện ñồ họa, kiểmthử hướng mã
nguồn, tự ñộng phát sinh các ca kiểm thử, tự ñộng phát sinh bộ dữ
liệu kiểm thử.
- 8 -
1.1.6. Xác ñịnh các ñối tượng có thể ñược kiểmthửtự ñộng
Việc lựa chọn các chức năng ñể thực hiện kiểmthửtự ñộng có
ảnh hưởng quyết ñịnh ñến sự thành công của chiến lược kiểmthửtự
ñộng. Nên tránh chọn các chức năng không ổn ñịnh hoặc ñang trong
quá trình thay ñổi.
1.1.7. Những mong ñợi sai lầm về kiểmthửtự ñộng
Công cụ KTTĐ có thể hỗ trợ tất cả các yêu cầu kiểmthử phần
mềm: không phải vậy, không có công cụ nào hỗ trợ tất cả các công
việc của tester ñược cả. Việc sử dụng các công cụ KTTĐ không dễ
dàng như tưởng tượng. Có thể thiết lập kế hoạch kiểmthử ñể thực
thi việc kiểmthử phần mềm mà không cần sự can thiệp thủ công
nào. Mọi thứ ñều có thể kiểmthửtự ñộng ñược. Các nỗ lực kiểm
thử, cũng như tiến ñộ kiểmthử sẽ ñược rút ngắn và giảm ngay lập
tức, hay KTTĐ sẽ tiết kiệm, làm giảm nguồn lực và bù trừa cho các
yêu cầu hay thiết kế tồi.
1.2. Tổng quan về công cụ kiểmthửtự ñộng
Các công cụ KTTĐ ñược thiết kế ñặc biệt gắn với một số môi
trường kiểmthử cụ thể. Chẳng hạn như: công cụ cho ứngdụng
Windows, công cụ cho ứngdụng web, v…v… Nó ñóng vai trò ñiều
khiển quy trình kiểmthửtự ñộng, có thể trợ giúp tự ñộng hoá các tác
vụ như cài ñặt sản phẩm, tạo ra bộ dữ liệukiểm thử, tương tác giao
diện ñồ họa, phát hiện các vấn ñề về ñăng nhập, v…v…, mà không
nh
ất thiết phải tự ñộng trông mô hình end-to-end.
[...]... ñ ng và framework ki m th t ñ ng Lu n văn ñã trình bày các phương pháp t i ưu trong quy trình ki m th t ñ ng cũng như s c n thi t c a frameworktrong ki m th t ñ ng Trong ph m vi m c tiêu c a ñ tài, lu n văn ñã ñưa ra ñư c nh ng ñi m y u ñi m m nh, cùng các gi i pháp ki m th t ñ ng v i RelevantCodes và QuickTestPro, c i ti n và t ch c l i c u trúc framework RelevantCodes, ng d ng thành công trong ki... hơn 1.3.4 Phân lo i framework ki m th t ñ ng Có nhi u ki u framework ñư c cung c p ñ h tr cho vi c ki m th t ñ ng Vi c l a ch n các framework phù h p, chính xác v i ng d ng s giúp duy trì chi phí v ngu n nhân l c cũng như v vi c b o trì cho các k ch b n ki m th Cách ti p c n các k ch b n ñư c s d ng trong quá trình th nghi m t ñ ng cũng nh hư ng ñ n các framework khác nhau Các framework ñư c phân... n 11.0 ñã ñư c phát hành 2.2 FrameworkRelevantCodes Ph n này trình bày c th v hi n tr ng c a frameworkRelevantCodes (RC), bao g m vi c xây d ng ý tư ng, thư vi n các ch c năng hi n có c a RC, và c u trúc c a framework RC phiên b n ñ u tiên, phân tích ưu như c ñi m và cu i cùng s trình bày v s k t h p gi a QTP và RC ñ th c hi n ki m th t ñ ng 2.2.1 Ý tư ng c a framework RC Có nhi u yêu c u cho vi c... công c KTTĐ ñ ñ t ñư c thành công cao hơn, ta g i ñó là framework KTTĐ Ph n n i dung này s trình bày m t cách t ng quan v framework KTTĐ bao g m các khái ni m v framework, phân lo i framework, các ch c năng, m c tiêu cũng như nhi m v framework c a - 10 1.3.1 Đ nh nghĩa framework M t framework ki m th t ñ ng là m t t p h p các gi ñ nh, các khái ni m và công c ñư c cung c p ñ h tr cho quy trình KTTĐ Nó... - CHƯƠNG 3 C I TI N RELEVANTCODES VÀ D NG VÀO KI M TH T NG Đ NG T vi c phân tích nh ng ưu như c ñi m c a QTP và RC trong chương trư c, chương này s c i ti n RC b ng cách phát tri n thêm m t s ch c năng b sung vào thư vi n có s n, t ch c l i c u trúc framework ñ thu n ti n cho vi c qu n lý các công vi c c a nhóm ki m th Theo ñó, tôi ñ t tên framework RC c i ti n là RC+ C u trúc framework c a RC+ s... framework Vi c thi t k các ca ki m th và framework là công vi c hoàn toàn riêng bi t Framework là m t môi trư ng th c thi ki m th t ñ ng, là m t h th ng t ng th , nơi mà các trư ng h p ki m th ñư c th c hi n m t cách t ñ ng M t framework ki m th t ñ ng t t cung c p các c u trúc cho vi c ñăng nh p, báo cáo l i và k t h p kh năng ph c h i Framewok s ch a các thư vi n ch c năng có th ñư c tái s d ng trong. .. mã ngu n và cung c n m t n n t ng ñ t o ra các c u trúc có th ki m th ñư c Đây chính là ñi m kh i ñ u cho s thành công trong ki m th t ñ ng 1.3.3 M c tiêu, nhi m v c a frameworkFramework cung c p các cơ s c a ki m th t ñ ng và ñơn gi n hóa các n l c t ñ ng hóa Ưu ñi m chính c a m t framework như v y là chi phí b o trì th p N u có s thay ñ i nào cho các ca - 11 ki m th , thì ch có t p chương trình ki... c l a ch n phương pháp ti p c n công ngh ph n m m cho framework KTTĐ Sao cho phương pháp ñó - 14 ph i h p lý, có cơ s ñ c u trúc c a k ch b n ki m th không d dàng g p tr c tr c Framework ph i d dàng s n ñ nh, d ng, th ng nh t trong cách t o và th c thi các ca ki m th , có kh năng khôi ph c t nh ng ñi u ki n không mong ñ i C u trúc mã ngu n c a framework ph i ñư c ki m th và có kh năng b o trì cao,... ñi p ñ miêu t nhi m v cho t ng bư c ki m th trong test script, h tr cho vi c phân tích hi u qu trên các báo cáo Song song v i nh ng ưu ñi m k trên, framework này cũng có m t s như c ñi m c n ñư c phát tri n thêm RC chưa h tr ki m th data-driven, không h tr ki m tra vi c lưu tr d li u trong cơ s d li u, chưa th c thi ki m th v i nhi u t p d li u khác nhau Trong mã ngu n c a phiên b n ñ u tiên, RC không... cũ Bên c nh ñó, ta cũng không c n ph i c p nh t các k ch b n này trong trư ng h p thay ñ i ng d ng M t framework KTTĐ có nhi m v chính trong vi c ñ nh nghĩa các khuôn m u di n ñ t ñư c ñúng yêu c u mong ñ i, t o ra m t cơ ch ki m tra, ki m th ph n m m ng d ng, th c thi vi c ki m th và thông báo k t qu ki m th M t m c tiêu quan tr ng c a framework là ñưa vi c t o các ca ki m th tách bi t kh i v i ngôn .
NGHIÊN CỨU ỨNG DỤNG
RELEVANTCODES
ĐỂ XÂY DỰNG FRAMEWORK
TRONG KIỂM THỬ TỰ ĐỘNG
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01
TÓM TẮT LUẬN VĂN.
ñể xây dựng framework cho các ứng dụng web có tên là
RelevantCodes.
Trên ñây là lý do chọn ñề tài ‘Nghiên cứu ứng dụng
RelevantCodes ñể xây dựng framework