Những lỗi này có thể do tự bản thân phầnmềm bị hỏng do không được kiểm duyệt kỹ lưỡng trước khi đưa vào cho ngườidùng cuối hay cũng có thể do có người cố tình phá hoại nhằm đánh cắp thôn
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
KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
ĐỀ TÀI: KIỂM THỬ CHẤT LƯỢNG PHẦN MỀM QUẢN LÝ
WEBSITE BÁN HOA QUẢ
Sinh viên thực hiện : LÊ VĂN SANG
NGÔ VĂN TUỆNGUYỄN XUÂN THÀNH ĐẠTGiảng viên hướng dẫn : LÊ HOÀN
Trang 2PHIẾU CHẤM ĐIỂMSinh viên thực hiện:
Trang 3MỤC LỤC
CHƯƠNG 1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG 1
1.1 Giới thiệu về Selenium 1
1.1.1 Đặc điểm của Selenium 1
1.1.2 Các thành phần của Selenium 2
1.1.3 Ngôn ngữ viết 5
1.2 Các tổ chức chương trình chạy với công cụ 5
1.3 Áp dụng kiểm thử tự động với chức năng đăng nhập 6
CHƯƠNG 2: ĐẶC TẢ PHẦN MỀM 10
2.1 Giới thiệu phần mềm 10
2.2 Đặc tả yêu cầu của phần mềm 10
2.3 Đặc tả yêu cầu chức năng 11
2.3.1 Chức năng Đăng nhập 11
2.3.2 Chức năng Đăng ký 13
2.3.3 Chức năng Quản lý sản phẩm 15
CHƯƠNG 3: KẾ HOẠCH TEST 18
3.1 Mục đích của việc lập kế hoạch test 18
3.2 Phạm vi kiểm thử 18
3.3 Những tính năng cần kiểm thử 18
3.4 Công cụ kiểm thử 20
3.5 Môi trường kiểm thử 20
3.6 Test Resources Man-power 20
3.7 Tính năng 21
3.7.1 Kiểm thử tính năng 21
3.7.2 Những tính năng không kiểm thử 21
3.8 Các mốc kiểm tra 22
3.9 Test Products 22
CHƯƠNG 4: XÂY DỰNG VÀ THỰC HIỆN CÁC TESTCASE 23
4.1 Testcase màn hình ĐĂNG NHẬP 23
Trang 44.1.1 Test GUI (Graphical user inteface – giao diện đồ họa người dùng) 23
4.1.2 Kiểm thử chức năng 24
4.2 Testcase màn hình ĐĂNG KÝ 27
4.2.1 Test GUI (Graphical user inteface – giao diện đồ họa người dùng) 27
4.2.2 Test Function 28
4.3 Test case màn hình QUẢN LÝ SẢN PHẨM 36
4.3.1 Test GUI (Graphical user inteface – giao diện đồ họa người dùng) 36
4.3.2 Test Function 37
KẾT LUẬN 43
TÀI LIỆU THAM KHẢO 44
Trang 5LỜI CẢM ƠNTrên thực tế, không có sự thành công nào mà không gắn liền với những sự hỗtrợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác.Trong suốt thười gian từ khi bắt đầu học tập ở giảng đường Đại học đã đến nay,chúng em đã nhận được rất nhiều sự quan tâm, giúp đỡ của thầy cô, gia đình vàbạn bè.
Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến thầy cô ở Khoa CôngNghệ Thông Tin- trường Đại Học Điện Lực đã cùng với tri thức và tâm huyếtcủa mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gianhọc tập tại trường Và đặc biệt, trong kỳ này, em được tiếp cận với môn học rấthữu ích đối với sinh viên ngành Công Nghệ Thông Tin Đó là môn: “Kiểm thử
và đảm bảo chất lượng phần mềm”
Chúng em xin chân thành cảm ơn thầy bộ môn “Kiểm thử và đảm bảo chấtlượng phần mềm”đã tận tâm hướng dẫn chúng em qua từng buổi học trên lớpcũng như những buổi nói chuyện, thảo luận về môn học Trong thời gian đượchọc tập và thực hành dưới sự hướng dân của cô, em không những thu được rấtnhiều kiến thức bổ ích, mà còn được truyền sự say mê và thích thú đối với bộmôn “Kiểm thử và đảm bảo chất lượng phần mềm” Nếu không có những lờihướng dẫn, dạy bảo của thầy thì nhóm em nghĩ báo cáo này rất khó có thể hoànthành được
Xin gửi lời cảm ơn chân thành đến gia đình, bạn bè là nguồn động viên to lớn,giúp chúng em vượt qua những khó khăn trong quá trình học tập và thực hiệnbáo cáo
Mặc dù đã rất cố gắng hoàn thiện báo cáo với tất cả sự nỗ lực, tuy nhiên, dobước đầu đi vào thực tế, tìm hiểu và xây dựng báo cáo trong thời gian có hạn, vàkiến thức còn hạn chế, nhiều bỡ ngỡ, nên báo cáo “Kiểm thử chất lượng phầnmềm Quản lý website bán hoa quả” chắc chắn sẽ không thể tránh khỏi nhữngthiếu sót Em rất mong nhận được sự quan tâm, thông cảm và những đóng gópquý báu của các thầy cô và các bạn để báo cáo này được hoàn thiện hơn.Một lần nữa, em xin chân thành cảm ơn và luôn mong nhận được sự đónggóp của mọi người
Trân trọng
Trang 6LỜI MỞ ĐẦUNgày nay công nghệ thông tin ngày càng phát triển nhanh chóng, kéo theo
đó là hệ thống mạng và các phần mềm cũng gia tăng cả về số lượng theo quy môrộng và cả về chất lượng phần mềm theo chiều sâu Nhưng cũng từ đó đã nảysinh ra nhiều vấn đề về lỗi hỏng hóc phần mềm không đáng có gây ra ảnh hưởngnghiêm trọng đến xã hội, kinh tế, Những lỗi này có thể do tự bản thân phầnmềm bị hỏng do không được kiểm duyệt kỹ lưỡng trước khi đưa vào cho ngườidùng cuối hay cũng có thể do có người cố tình phá hoại nhằm đánh cắp thông tin
cá nhân như mã số tài khoản ngân hàng, số điện thoại, danh bạ, tin nhắn, Những vấn đề nan giải và cấp thiết này càng có xu hướng mở rộng trong cácnăm gần đây, điển hình như sự cố máy tính Y2K năm 2000 làm tê liệt nhiều hệthống máy tính lớn hay như càng có nhiều loại virus phá hoại mới xuất hiện, tấncông vào các lỗ hổng bảo mật phần mềm làm tê liệt nhiều hệ thống phần mềm
và phần cứng Từ đó, có thể dễ dàng nhận ra là mặc dù phần mềm phát triềnngày càng phức tạp nhưng vấn đề về chất lượng vẫn là một dấu hỏi lớn cần xemxét cẩn thận
Do đó yêu cầu đặt ra là cần có công tác kiểm thử phần mềm thật kỹ lưỡngnhằm ngăn chặn các lỗi hay hỏng hóc còn tiềm tàng bên trong phần mềm mà tachưa kịp nhận ra Tuy nhiên vì phần mềm ngày càng lớn, hàng nghìn module, cóthể do cả một công ty hàng nghìn người phát triền vì vậy để kiểm thử được mộtphần mềm lớn như vậy sẽ tốn rất nhiều công sức và thời gian nếu làm thủ công,chưa kể đến chất lượng kiểm thử sẽ không cao và thật chính xác phù hợp choyêu cầu Theo nhiều tính toán thì công việc kiểm thử đóng vai trò hết sức quantrọng trong quy trình phát triền phần mềm, nó đóng góp tới 40% tổng toàn bộchi phí cho việc sản xuất phần mềm Vì vậy cần có các hệ thống kiểm thử phầnmềm một cách tự động cho phép ta thực hiện được các công việc một cáchnhanh chóng và độ an toàn, chính xác cao nhất có thể Và đó chính là lý do emchọn đề tài “ Kiểm thử chất lượng phần mềm quản lý website bán hoa quả” đểnghiên cứu, tìm hiểu và đề ra các gỉải pháp mới để cải tiến các quy trình kiểmthử như hiện nay sao cho có năng xuất cao nhất
Trang 7CHƯƠNG 1: 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 opensource dành cho các ứng dụng web, cũng như hỗ trợ hoạt động trên các trìnhduyệt có nền tảng khác nhau như Mac, Linux, Windows, Với Selenium thì bạnhoàn toàn có thể viết các test script bằng nhiều ngôn ngữ lập trình khác nhaunhư: Java, PHP, C#, Ruby hoặc Python
Selenium được sử dụng để có thể automate cho các thao tác với trình duyệthoặc dễ hiểu hơn là nó hỗ trợ giả lập lại các tương tác nằm trên trình duyệttươ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 info page
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 sosánh vớ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
ta hoàn toàn có thể yên tâm về sự hổ trợ miễn phí khi có vấn đề về Selenium.Tuy nhiê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ửascript hầu như 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ết script 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àn toàn có thể làm việc khác trên cùng một PC Điều này hỗ trợ chúng takhông cần tố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ácvới Browser mà không hỗ trợ chúng ta làm việc với các Win app, kể cả Win
Trang 8trường hợp cần tương tác với hệ thống hay một app thứ ba, cần một hay nhiềuthư viện khá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 Developer Environment):
là một plug-in nằm trên trình duyệt Fire-fox, ta có thể sử dụng để record và playlạ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
Cài đặt Selenium IDE trên trình duyệt :
Trang 9Bước 1: Ở trình duyệt 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
• Bước 3: Click button Add to FireFox/Chrome
⇨Trên trình duyệt sẽ hiển thị Popup
• Bước 4: Click button Thêm
• Bước 5: Click button OKay để hoàn tất
Trang 10⇨Công cụ Selenium IDE sau khi được add thành công sẽ hiển thị trên thanhtìm kiếm
⇨Giao diện của Selenium IDE
a Các thành phần của Selenium IDE
Trang 111.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ụ-Chuẩn bị:
• Phần mềm (có thao tác được trên chức năng)
• (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
Trang 121.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 13• 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
Trang 14⇨Lúc này một cửa sổ trang mới sẽ hiển thị và người dùng sẽ thao tác trêncửa sổ mới
⇨Các bước sẽ được ghi lại và hiển thị trong phần Command
• Bước 4: Click buttonRun all testđể các chức năng được thực hiện lại
Trang 15⇨Sau khi chạy xong công cụ sẽ hiển thị log
Trang 16+ Quản lý sản phẩm: Thực hiện các chức năng thêm, sửa, xóa sản phẩm2.2 Đặc tả yêu cầu của phần mềm
-Hoạt động của khách hàng:
Khi khách hàng đã quyết định tham gia vào hoạt động mua hàng của cửahàng “ảo” thì mỗi khách hàng được cung cấp một giỏ hàng tương ứng Kháchhàng tự do lựa chọn loại hàng hóa nào mà mình thích vào giỏ hàng của mình.Thông qua chức năng tìm kiếm của website giúp khách hàng có thểnhanh chóng tìm được loại hàng mà mình muốn mua một cách nhanh nhất.Khách hàng có thể cập nhật lại các mặt hàng trong giỏ hàng mà mình khôngmuốn mua nữa Nếu khách hàng chấp nhận thanh toán thì hệ thống yêu cầu nhậpthông tin chi tiết khách hàng như họ tên, địa chỉ email, số điện thoại, username,password, nếu khách hàng chưa đăng ký đăng nhập, ngược lại nếu khách hàngnào đã đăng ký rồi thì họ chỉ cần đăng nhập bằng username/ email và passwordcủa mình
Khi khách hàng đã hoàn thành quá trình đặt hàng với hệ thống thì kháchhàng tiến hành thanh toán, khách hàng có thể lựa chọn các hình thức thanh toántrên website Sau khi hoàn thành quá trình thanh toán khách hàng có thể thựchiện lại quá trình mua hàng của mình nếu khách hàng muốn mua thêm sảnphẩm Khi đã đặt hàng rồi, khách hàng có thể theo dõi trực tiếp tình trạng đơnđặt hàng của mình qua website nếu họ có băn khoăn, nếu họ có sự không hàilòng về sản phẩm cũng như là phương thức giao hàng, thì có thể gửi đơn khiếunại và thông tin phản hồi hệ thống qua chức năng liên hệ khách hàng
-Hoạt động của người quản trị:
Trang 17Cung 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ảntrị 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.3 Đặc tả yêu cầu chức năng
Trang 18a Biểu đồ Usecase chức năng Đăng nhập
Hình 2.3.1.a: Biểu đồ Usecase chức năng Đăng nhập
b Biểu đồ hoạt động chức năng Đăng nhập
Hình 2.3.1.b: Biểu đồ hoạt động của chức năng Đăng nhập
Trang 19: Dangnhap
QL-Thanh cong Hien thi thong bao
Yeu cau kiem tra Nhap username va pass
Hien thi giao dien Yeu cau dang nhap
Kiem tra dang nhap
Xac nhan tai khoan Thanh cong
c Biểu đồ tuần tự của chức năng Đăng nhập
Hình 2.3.1.c: Biểu đồ tuần tự của chức năng Đăng nhập
Trang 20a Biểu đồ Usecase chức năng Đăng ký
Hình 2.3.2.a: Biểu đồ usecase của chức năng Đăng ký
b Biểu đồ hoạt động của chức năng Đăng ký
Hình 2.3.2.b: Biểu đồ hoạt động của chức năng Đăng ký
c Biểu đồ tuần tự của chức năng Đăng ký
Hình 2.3.2.c: Biểu đồ tuần tự của chức năng Đăng ký
Trang 212.3.3 Chức năng Quản lý sản phẩm
Người dùng đăng nhập vào hệ thống với tài khoản admin Sau đó, đi tớimục Product và thực hiện chức năng của sản phẩm
Luồng sự kiện chính:
• Người dùng truy cập vào vào hệ thống bằng tài khoản admin
• Truy cập đến menu mục Products, sau đó thực hiện chức năng
• Các chức năng của quản lý sản phẩm:
+ Thêm sản phẩm: Hiển thị From thêm sản phẩm, nhập thông tin sảnphẩm, nhấn lưu thông tin sản phẩm
+ Sửa sản phẩm: Hiển thị From sửa thông tin sản phẩm, nhập thông tincần thay đổi, nhấn nút lưu thông tin
+ Xoá sản phẩm: Chọn sản phẩm muốn xoá, hiển thị thông báo muốnxoá sản phẩm, nhấn nút xoá sản phẩm, hiển thị danh sách sản phẩmđược làm mới
Luồng sự kiện phụ:
• Người dùng bỏ trống một trong các trường (tệp ảnh, tên sản phẩm, mô tả,price, danh mục, stock)
• Người dùng nhập sai định dạng các trường
• Người dùng click liên tục vào button Tạo
a Biểu đồ Usecase chức năng Quản lý sản phẩm
Hình 2.3.3.a: Biểu đồ Usecase của chức năng Quản lý sản phẩm
b Biểu đồ hoạt động của chức năng Quản lý sản phẩm
Trang 22Hình 2.3.3.b: Biểu đồ hoạt động của chức năng Quản lý sản phẩm
c Biểu đồ tuần tự của chức năng Quản lý sản phẩm
Trang 23Hình 2.3.3.c: Biểu đồ tuần tự của chức năng Quản lý sản phẩm
Trang 24CHƯƠ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ểm thử
- 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
- Xác định nguồn lực cần
- Nêu rõ các chức năng test và các chức năng không test
- Liệt kê môi trườ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
• 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)
• Người dùng thao tác khi ấn submit nhưng chưa kịp chuyển trang
Trang 25• Người dùng nhập sai username, password và ấn submit liên tục.+Đăng ký tài khoản: Thườ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à
+Tất cả thông tin về lỗi cần được ghi nhận lại để đánh giá chính xác chất lượngcủa phần mềm
+Ổn định, hạn chế tối đa thời gian ngắt quãng