Còn về cơ bản thì Selenium bao gồm 4 thành phầnchính là: +Selenium IDE IDE là từ viết tắt của Integrated DeveloperEnvironment: là một plug-in nằm trên trình duyệt Fire-fox, ta có thể sử
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
TÊN HỌC PHẦN KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
Trang 3MỤC LỤC
LỜI MỞ ĐẦU
CHƯƠNG I: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG
1.1 Giới thiệu về Selenium 4
1.1.1 Đặc điểm của Selenium
1.1.2 Các thành phần của Selenium
1.1.3 Ngôn ngữ viết
1.2 Các tổ chức chương trình chạy với công cụ 9
1.3 Áp dụng kiểm thử tự động với chức năng Đăng nhập
CHƯƠNG 2: ĐẶC TẢ PHẦN MỀM 13
2.1 Giới thiệu phần mềm 13
2.2 Đặc tả yêu cầu của phần mềm 13
2.2.1 Đặc tả yêu cầu chức năng 14
2.2.1.1 Usce case chức năng đăng nhập đăng xuất 14
2.2.1.2.Chức năng quản lí nhân viên 19
2.2.1.3.Chức năng quản lí hóa đơn 22
2.2.1.4.Chức năng quản lí kho hàng 27
CHƯƠNG 3: KẾ HOẠCH TEST 30
3.1 Mục đích của việc lập kế hoạch test 30
3.2 Test Scope 30
3.3 Feature/non feature to be test 30
3.4 Test Tool 32
3.5 Test Environment 32
3.6 Test Resources Man-power 33
3.7 Features 33
3.7.1 Testing Features Quản trị website: 33
3.7.2 Non-testing features: 34
3.8 Test milestones 34
3.9 Test Products 35
CHƯƠNG 4: XÂY DỰNG VÀ THỰC HIỆN CÁC TESTCASE 36
3
Trang 44.1 Testcase chức năng đăng nhập 36
4.2 Testcase đăng ký 42
4.3 Testcase sản phẩm 49
4.4 Testcase tìm kiếm 57
4.5 Testcase giỏ hàng 62
KẾT LUẬN 66
Trang 5LỜI MỞ ĐẦU
Trong sự phát triển mạnh mẽ của khoa học công nghệ thế giới, có thể nóirằng ngành công nghệ thông tin phát triển với tốc độ nhanh nhất và ngày càngthể hiện được vai trò to lớn, hết sức quan trọng đối với toàn bộ đời sống conngười Hầu hết các lĩnh vực trong xã hội đều ứng dụng công nghệ thông tin,nhiều phần mềm đãmang lại hiệu quả không thể phụ nhận Song thực tiễn luônđặt ra những yêu cầu mới đòi hỏi ngành công nghệ thông tin không ngừng pháttriển để thỏa mãn và đáp ứng những thay đổi của cuộc sống
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem làmột trong những yếu tố mang tính quyết định trong hoạt động của các chínhphủ, tổ chức, cũng như của các công ty; nó đóng vai trò hết sức quan trọng, cóthể tạo ra những bước đột phá mạnh mẽ Việc xây dựng các trang web để phục
vụ cho các nhu cầu riêng của các tổ chức, công ty thậm chí các cá nhân, ngàynay, không lấy gì làm xa lạ Một người bất kì có thể trở thành chủ của mộtwebsite giới thiệu về bất cứ gì anh ta quan tâm: một website giới thiệu về bảnthân và gia đình anh ta, hay là một website trình bày các bộ sưu tập hình ảnh cácloại xe hơi mà anh ta thích chẳng hạn
Đối với các chính phủ và các công ty thì việc xây dựng các website riêngcàng ngày càng trở nên cấp thiết Thông qua những website này, thông tin về họcũng như các công văn, thông báo, quyết định của chính phủ hay các sản phẩm,dịch vụ mới của công ty sẽ đến với những người quan tâm, đến với khách hàngcủa họ một cách nhanh chóng kịp thời, tránh những phiền hà mà phương thứcgiao tiếp truyền thống thường gặp phải Hoạt động của một công ty du lịch cóquy mô khá lớn sẽ càng được tăng cường và mở rộng nếu xây dựng được mộtwebsite có khả năng giới thiệu được công ty và cho phép quản lý các tour dulịch một cách nhanh chóng và chính xác nhất
5
Trang 6CHƯƠNG I: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG
1.1 Giới thiệu về Selenium
1.1.1 Đặc điểm của Selenium
a Khái niệm
Selenium là một bộ công cụ chuyên dụng trong kiểm thử tự động open sourcedành cho các ứng dụng web, cũng như hỗ trợ hoạt động trên các trình duyệt cónền tảng khác nhau như Mac, Linux, Windows, Với Selenium thì bạn hoàntoàn có thể viết các test script bằng nhiều ngôn ngữ lập trình khác nhau như:Java, PHP, C#, Ruby hoặc Python Selenium được sử dụng để có thể automatecho các thao tác với trình duyệt hoặc dễ hiểu hơn là nó hỗ trợ giả lập lại cáctương tác nằm trên trình duyệt tương tự như một người dùng thực thụ Chính vìthế, bạn có thể lập trình để có thể bật tự động các trình duyệt, để open một link,input cho dữ liệu, upload, download dữ liệu từ web page hoặc thậm chí get infopage
b Đặc điểm của Selenium
-Mã nguồn mở Phải nói điểm này là điểm mạnh nhất của Selenium khi so sánhvới các test tool khác Vì là mã nguồn mở nên chúng ta có thể sử dụng màkhông phải lo lắng về phí bản quyền hay thời hạn sử dụng
-Cộng đồng hỗ trợ Vì là mã nguồn mở nên Selenium có một cộng đồng hỗ trợkhá mạnh mẽ Bên cạnh đó, Google là nơi phát triển Selenium nên chúng tahoàn toàn có thể yên tâm về sự hổ trợ miễn phí khi có vấn đề về Selenium Tuynhiên, đây cũng là một điểm yếu của Selenium Cơ bản vì là hàng miễn phí,cộng đồng lại đông nên một vấn đề có thể nhiều giải pháp, và có thể một số giảipháp là không hữu ích Mặc khác, chúng ta không thể hối thúc hay ra deadlinecho sự hỗ trợ
-Selenium hỗ trợ nhiều ngôn ngữ lập trình
-Selenium hỗ trợ chạy trên nhiều OS khác nhau với mức độ chỉnh sửa script hầunhư là không có Thực sự thì điều này phụ thuộc phần lớn vào khả năng viếtscript của chúng ta
-Chạy test case ở backround Khi chúng ta thực thi một test scrpit, chúng ta hoàntoàn có thể làm việc khác trên cùng một PC Điều này hỗ trợ chúng ta không cầntốn quá nhiều tài nguyên máy móc khi chạy test script
-Không hỗ trợ Win app Selenium thực sự chỉ hỗ trợ chúng ta tương tác vớiBrowser mà không hỗ trợ chúng ta làm việc với các Win app, kể cả Win dialognhư Download/Upload – ngoại trừ Browser Alarm Vậy nên, để xử lý các trường
Trang 7hợp cần tương tác với hệ thống hay một app thứ ba, cần một hay nhiều thư việnkhác như AutoIt hay Coded UI.
1.1.2 Các thành phần của Selenium
Selenium là một trong những khái niệm chung để miêu tả một phần mềmchuyên dụng trong automation Mà ở đó, mỗi loại trong nó sẽ đáp ứng được cácyêu cầu testing khác nhau Còn về cơ bản thì Selenium bao gồm 4 thành phầnchính là:
+Selenium IDE (IDE là từ viết tắt của Integrated DeveloperEnvironment): là một plug-in nằm trên trình duyệt Fire-fox, ta có thể sử dụng đểrecord và play lại các thao tác đó dựa theo một quy trình hay một test case nào
đó
+Selenium RC: Selenium Remote Control, Selenium server sẽ khởi chạy
và tương tác với các trình duyệt web
+WebDriver: Selenium WebDriver có nhiệm vụ gửi lệnh khởi chạy rồithực hiện tương tác trực tiếp với các trình duyệt mà không cần thông qua bất cứserver như Selenium RC
+Grid: Selenium Hub được sử dụng để khởi chạy nhiều các test thông quacác máy cũng như các trình duyệt khác nhau tại cùng một thời điểm nhất định.Selenium team đã quyết định gộp Selenium RC và WebDriver lại với nhau để cóthể khởi tạo ra các Selenium 2 với các tính năng mạnh mẽ hơn và hiện nay thìhầu hết các Selenium Project đều sử dụng chúng
a Cài đặt trình duyệt FireFox
https://www.mozilla.org/vi/firefox/new/
Bước 2: Click button Tải xuống FireFox
7
Trang 8 Bước 3: Chọn ổ lưu file cài đặt, sau đó nhấn Save
b Cài đặt Selenium IDE trên trình duyệt FireFox
Bước 1: Ở trình duyệt FireFox truy cập đường dẫn:https://www.selenium.dev/downloads/
Bước 2: Chọn trình duyệt cần add Selenium IDE
Trang 9 Bước 3: Click button Add to FireFox
Bước 4: Click button Thêm
Bước 5: Click button OKay để hoàn tất
c Các thành phần của Selenium IDE
Trang 101.1.3 Ngôn ngữ viết
Sử dụng ngôn ngữ Java, Python,
1.2 Các tổ chức chương trình chạy với công cụ
(1): Link URL của trang website
(2): Nút Record (bắt đầu ghi hình website)
(3): Run All Test: Chạy lại tất cả chức năng
(4): Thanh chỉnh tốc độ chạy
1.3 Áp dụng kiểm thử tự động với chức năng Đăng nhập
Bước 1: Mở công cụ Selenium IDE, click chọn Create a new Project
Trang 11 Bước 2: Đặt tên cho project
Bước 3: Gán đường dẫn vào URL, sau đó nhấn REC để bắt đầu ghi hình
11
Trang 12 Bước 4: Click button Run all test để các chức năng được thực hiện lại
Trang 14-Hoạt động của người quản trị:
Trang 15Cung cấp các giỏ hàng giúp khách hàng cảm thấy an tâm khi mua hàng
mà không bị một số lỗi làm gián đoạn quá trình mua hàng của khách hàng, giúphiệu quả việc mua hàng của khách hàng nhiều hơn cho đến khi kết thúc việcmua hàng cũng như ấn định số lượng hàng mua
Theo dõi khách hàng: cần phải biết khách hàng tham gia mua là ai và họcần mua mặt hàng gì trong số khách hàng tham gia vào việc mua hàng Và thống
kê đơn hàng mua của họ, và doanh thu với từng mặt hàng của đơn hàng, và mặthàng bán nhiều nhất hiện tại
Sau khi kết thúc phiên giao dịch của khách hàng, các đơn hàng kháchhàng mua sẽ được tổng kết lại và chuyển sang các bộ phận khác để xử lý nhưcác bộ phận kế toán, kinh doanh, và bộ phận chuyển giao hàng cho khách
Để thu hút khách hàng thường xuyên tham gia vào trang web, nhà quản trịcần phải có các biện pháp để xúc tiến đăng tải các chương trình khuyến mãi,giảm giá trong những dịp cần thiết để lôi kéo khách hàng về phía mình, và cócác ưu đãi đối với các khách hàng thường xuyên vào mua hàng với số lượng lớn
Có các hoạt động quản lý và xử lý đơn hàng như: thông tin, hiển thị các mặthàng đã giao hay chưa giao Kiểm tra tình trạng đơn hàng và đánh dấu tươngứng với mặt hàng đã giao hay chưa giao Lập các hóa đơn giao cho khách hàng
2.2.1 Đặc tả yêu cầu chức năng
2.2.1.1 Usce case chức năng đăng nhập đăng xuất
Hình 2.1 Usce case đăng nhập
15
Trang 16Hình 2.2 Biểu đồ hoạt động đăng nhập
Trang 17Hình 2.3 Biểu đồ hoạt động đăng xuất
Đặc tả use case đăng nhập, đăng xuất
- Tác nhân: Bộ phận quản lý, nhân viên, khách hàng
- Mô tả: Mỗi khi tác nhân sử dụng hệ thống quản lý thì cần thực hiện chứcnăng đăng nhập vào hệ thống Khi dùng xong phần mềm thì đăng xuất tàikhoản ra khỏi phần mềm quản lý
- Dòng sự kiện chính:
+ Tác nhân yêu cầu giao diện đăng nhập vào hệ thống
+ Hệ thống hiện thị giao diện đăng nhập cho tác nhân
+ Tác nhân sẽ: cập nhật tên đăng nhập (usename) và mật khẩu (password).+ Hệ thống kiểm tra dữ liệu và xác nhận thông tin từ tác nhân gửi vào hệthống
17
Trang 18+ Thông tin đúng thì hệ thống gửi thông báo và đưa tác nhân vào hệ thốngchính.
+ Kết thúc use case đăng nhập
- Dòng sự kiện phụ:
+ Sự kiện 1: Nếu tác nhân đăng nhập đúng, nhưng lại muốn thoát khỏi hệthống Hệ thống thông báo thoát bằng cách đăng xuất Kết thúc use case.+ Sự kiện 2: Nếu tác nhân đăng nhập sai Hệ thống thông báo đăng nhập lạihoặc thoát Sau khi tác nhân chọn thoát Kết thúc use case
- Các yêu cầu đặc biệt: Không có
- Trạng thái hệ thống trước khi sử dụng use case: Không có yêu cầu
- Trạng thái hệ thống sau khi sử dụng use case:
+ Nếu đăng nhập thành công: Hệ thống sẽ gửi thông báo “Bạn đã đăngnhập thành công” và hiện thị giao diện chính cho tác nhân thực hiệncác chức năng khác
+ Nếu đăng nhập thất bại: Hệ thống cũng sẽ gửi thông báo “Bạn đã đăngnhập thất bại” và quay lại chức năng đăng nhập cho bạn đăng nhập lạithông tin của mình
Trang 192.2.1.2.Chức năng quản lí nhân viên
Hình 2.4 Biểu đồ user quản lí nhân viên
19
Trang 20Biểu đồ hoạt động
Hình 2.5 Biểu đồ hoạt động quản lí nhân viên
Đặc tả user case quản lí nhân viên
- Tác nhân: Bộ phận quản lý
- Mô tả: Sau khi đăng nhập, quản lý có thể thực hiện chức năng quản lý nhânviên để có thể xem thông tin nhân viên, thêm, xóa, sửa nhân viên
Trang 21- Dòng sự kiện chính:
+ Tác nhân đăng nhập vào hệ thống
+ Tác nhân bấm vào chức năng quản lý nhân viên
+ Tác nhân sẽ: có thể xem thông tin nhân viên, thêm, xóa, sửa nhân viên+ Hệ thống sẽ lưu lại các thông tin của nhân viên được thêm, xóa, sửa + Hệ thống sẽ hiển thị lên màn hình thông tin các nhân viên
- Các yêu cầu đặc biệt: Không có
- Trạng thái hệ thống trước khi sử dụng use case: Đã đăng nhập vào hệ thống
21
Trang 22Hình 2.6 Biểu đồ hoạt động nhân viên in hóa đơn
2.2.1.3.Chức năng quản lí hóa đơn
Trang 23Hình 2.7 Biểu đồ user quản lí hóa đơn
23
Trang 24Hình 2.8 Biểu đồ hoạt động chức năng thống kê hóa đơn
Đặc tả use case quản lý hóa đơn
- Tác nhân: Bộ phận quản lý
- Mô tả: Sau khi đăng nhập, quản lý có thể thực hiện chức năng quản lý hóa đơn
để có thể xem thông tin thống kê, chi tiết hóa đơn và tạo hóa đơn mới
- Dòng sự kiện chính:
+ Tác nhân đăng nhập vào hệ thống
+ Tác nhân bấm vào chức năng quản lý hóa đơn
Trang 25+ Tác nhân sẽ: có thể xem thông tin thống kê, chi tiết hóa đơn và tạo hóa đơnmới
+ Hệ thống sẽ hiển thị thông tin thống kê, chi tiết hóa đơn hoặc đưa mẫu cho tácnhân nhập thông tin của hóa đơn mới
+ Hệ thống sẽ hiển thị lên màn hình thông tin hóa đơn
+ Tác nhân bấm xác nhận để hệ thống lưu lại thông tin hóa đơn
- Các yêu cầu đặc biệt: Không có
- Trạng thái hệ thống trước khi sử dụng use case: Đã đăng nhập vào hệ thống
25
Trang 26Hình 2.9 Biểu đồ hoạt động chức năng chi tiết hóa đơn
Trang 27Hình 2.10 Biểu đồ hoạt động chức năng tạo hóa đơn
2.2.1.4.Chức năng quản lí kho hàng
Hình 2.11 Biểu đồ user quản lí kho hàng
Đặc tả use case quản lý kho hàng:
- Tác nhân: Bộ phận quản lý
- Mô tả: Sau khi đăng nhập, quản lý có thể thực hiện chức năng quản lý kho để
có thể nhập hoặc xuất hàng trong kho
- Dòng sự kiện chính:
+ Tác nhân đăng nhập vào hệ thống
+ Tác nhân bấm vào chức năng quản lý kho
+ Tác nhân sẽ: có thể nhập hàng và xuất hàng của quán
+ Hệ thống sẽ lưu lại thông tin nhập hàng và xuất hàng của quán
+ Hệ thống sẽ hiển thị lên màn hình thông tin nhập hàng và xuất hàng của quán
- Các yêu cầu đặc biệt: Không có
- Trạng thái hệ thống trước khi sử dụng use case: Đã đăng nhập vào hệ thống
27
Trang 28Hình 2.12 Biểu đồ hoạt động chức năng xuất hàng
Trang 29Hình 2.13 Biểu đồ hoạt động chứ năng nhập hàng
29
Trang 30CHƯƠNG 3: KẾ HOẠCH TEST3.1 Mục đích của việc lập kế hoạch test
- Xác định những thông tin dự án và các phần dự án cần được kiểmthử
- Liệt kê những yêu cầu kiểm thử (Test Requirements)
- Nêu ra những phương pháp, chiến lược kiểm thử nên sử dụng
3.3 Feature/non feature to be test
- Chức năng test:
+ Đăng nhập: Thường dễ gây lỗi khi người dùng
Nhập sai định dạng form đăng nhập
Nhập thiếu username, password
Nhập đúng định dạng nhưng tài khoản đã tồn tại
Trang 31Thường xảy ra lỗi khi người dùng nhập dữ liệu
Nhập sai định dạng form đăng ký
Nhập thiếu tên, họ, username, email, password, nhập lại password
Nhập đúng định dạng nhưng tài khoản chưa được đăng ký Nhập đúng định dạng nhưng tài khoản đã tồn tại
Kết nối mạng không ổn định
Nhập dấu cách trong password (dấu cách ở đầu, ở cuối, ở giữa)
Nhập password và nhập lại password không trùng khớp
Kết nối gián đoạn trong quá trình đăng ký
Đăng ký thành công nhưng không lưu dữ liệu
+Quản lý sản phẩm: Thường xảy ra lỗi khi người dùng nhập và thao tác dữ liệu
Nhập thiếu, không đúng định dạng các trường
Nhập dữ liệu đã tồn tại
Nhập quá maxlength các trường
Nhập khoảng trắng (ở đầu, ở giữa, ở cuối) của Price
Kết nối gián đoạn khi đang thực hiện thao tác
Thêm, sửa, xoá không thành công
Tải file ảnh không hợp lệ
Thêm, sửa, xoá thành công nhưng không lưu dữ liệu
Lỗi hiển thị thông báo khi dữ liệu hợp lệ/ không hợp lệ
Lỗi timeout
Lỗi insert vào DB -Chức năng không test: Thêm vào giỏ hàng, mua hàng,
-Các tiêu chuẩn đánh giá chất lượng phần mềm:
+ Hệ thống vận hành tốt, không bị các lỗi như trên
+ Trải nghiệm người dùng tốt, tương tác lưu loát, mượt mà
31
Trang 32+Tất cả thông tin về lỗi cần được ghi nhận lại để đánh giá chính xácchất lượng của phần mềm
+Ổn định, hạn chế tối đa thời gian ngắt quãng
+Tốc độ tải trang nhanh
-Việc test chỉ dừng lại khi:
+Hết thời gian triển khai dự án
access controltesting
System test
code
Chạy trêncode
2 Database DB phát triển DB thiết lập
riêng, viết trênMySQL
4 Server/client Localhost 1 server, 1