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

Automation testing for the shopping website with robot framework

84 18 0

Đ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

Tiêu đề Automation Testing For The Shopping Website With Robot Framework
Người hướng dẫn TS. Hoàng Thị Thanh Hà
Trường học Đại Học Đà Nẵng
Chuyên ngành Hệ Thống Thông Tin Quản Lý
Thể loại Báo Cáo Thực Tập Nghề Nghiệp
Thành phố Đà Nẵng
Định dạng
Số trang 84
Dung lượng 3,13 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY TMA VÀ VỊ TRÍ TESTER (13)
    • 1.1. Tổng quan về Công ty TMA Bình Định (13)
      • 1.1.1. Giới thiệu về công ty (13)
      • 1.1.2. Tầm nhìn và sứ mệnh (13)
      • 1.1.3. Giá trị cốt lõi (14)
    • 1.2. Tổng quan về vị trí Tester (14)
      • 1.2.1. Mô tả về vị trí Tester (14)
      • 1.2.2. Các kỹ năng cần có của Tester (14)
      • 1.2.3. Cơ hội nghề nghiệp (15)
      • 1.2.4. Mức lương của vị trí Tester (16)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM (18)
    • 2.1. Tổng quan về kiểm thử phần mềm (18)
      • 2.1.1. Giới thiệu về kiểm thử phần mềm và mục tiêu kiểm thử (18)
      • 2.1.2. Nguyên tắc của kiểm thử phần mềm (18)
      • 2.1.3. Vòng đời phát triển phần mềm (SDLC) (20)
    • 2.2. Loại kiểm thử phần mềm (22)
      • 2.2.1. Manual testing (Kiểm thử thủ công) (22)
      • 2.2.2. Automation testing (Kiểm thử tự động) (23)
      • 2.2.3. Security testing (Kiểm thử bảo mật) (23)
      • 2.2.4. API testing (Kiểm thử API) (24)
    • 2.3. Phương pháp kiểm thử (24)
      • 2.3.1. Static testing (Kiểm thử tỉnh) (24)
      • 2.3.2. Dynamic testing (Kiểm thử động) (25)
      • 2.3.3. White box testing (Kiểm thử hộp trắng) (25)
      • 2.3.4. Black box testing (Kiểm thử hộp đen) (26)
    • 2.4. Cấp độ của kiểm thử (27)
      • 2.4.1. Unit testing (Kiểm thử đơn vị) (27)
      • 2.4.2. Integration testing ( Kiểm thử tích hợp) (27)
      • 2.4.3. System testing ( Kiểm thử hệ thống) (27)
      • 2.4.4. Acceptance Testing ( Kiểm thủ người dùng) (28)
    • 2.5. Tổng quan về Python (28)
      • 2.5.1. Python là gì? (28)
      • 2.5.2. Ứng dụng của Python (28)
    • 2.6. Tổng quan về Robot Framework (29)
      • 2.6.1. Robot Framework là gì ? (29)
      • 2.6.2. Ưu điểm và nhược điểm của Robot Framework (30)
  • CHƯƠNG 3: TRIỂN KHAI DỰ ÁN “AUTOMATION TESTING FOR THE (31)
    • 3.1. Tổng quan hệ thống “Shopping Website” (31)
    • 3.2. Đặc tả yêu cầu (32)
      • 3.2.1. Chức năng tại màn hình “Đăng ký (Register)” (32)
        • 3.2.1.1. Đặc tả màn hình “Đăng ký (Register)” (32)
        • 3.2.1.2. Usecase “Đăng ký (Register)” (33)
        • 3.2.1.3. Đặc tả usecase “Đăng ký (Register)” (33)
      • 3.2.2. Chức năng tại màn hình “Đăng nhập (Login)” (33)
        • 3.2.2.1 Đặc tả màn hình “Đăng nhập (Login)” (33)
        • 3.2.2.2. Usecase “Đăng nhập (Login)” (33)
        • 3.2.2.3. Đặc tả usecase “Đăng nhập (Login)” (34)
      • 3.2.3. Chức năng tại màn hình “Home” (34)
        • 3.2.3.1. Đặc tả màn hình “Home” (34)
        • 3.2.3.2. Usecase màn hình “Home” (35)
        • 3.2.3.3. Đặc tả Usecase “Home” (35)
      • 3.2.4. Chức năng tại màn hình “Giỏ hàng (Items)” (36)
        • 3.2.4.1. Đặc tả chức năng tại màn hình “Giỏ hàng (Items)” (36)
        • 3.2.4.2. Usecase màn hình “Giỏ hàng (Items)” (37)
    • 3.3. Thiết kế Testcase (38)
      • 3.3.1. Testcase chức năng tại màn hình “Đăng ký (Register)” (38)
      • 3.3.2. Testcase chức năng tại màn hình “Đăng nhập (Login)” (41)
      • 3.3.3. Testcase chức năng tại màn hình “Home” (45)
      • 3.3.4. Testcase chức năng tại màn hình “Items” (50)
    • 3.4. Chạy code test tự động (56)
      • 3.4.1. Keywords của code (56)
      • 3.4.2. Testcase trên Robot framework (62)
        • 3.4.2.1. Testcase màn hình “Register” (62)
        • 3.4.2.2. Testcase màn hình “Login” (63)
        • 3.4.2.3. Testcase màn hình “Home” (64)
        • 3.4.2.4. Testcase màn hình “Items” (66)
    • 3.5. Kết quả test (69)
      • 3.5.1. Kết quả test màn hình “Register” (69)
      • 3.5.2. Kết quả test màn hình “Login” (69)
      • 3.5.3. Kết quả test màn hình “Home” (70)
      • 3.5.4. Kết quả test màn hình “Items” (71)
  • TÀI LIỆU THAM KHẢO (73)
  • PHỤ LỤC (74)

Nội dung

TỔNG QUAN VỀ CÔNG TY TMA VÀ VỊ TRÍ TESTER

Tổng quan về Công ty TMA Bình Định

1.1.1 Giới thiệu về công ty Được thành lập năm 1997, TMA là tập đoàn công nghệ hàng đầu Việt Nam với 3500 kỹ sư và khách hàng là những tập đoàn công nghệ cao hàng đầu thế giới từ 30 quốc gia TMA hiện có 7 chi nhánh tại Việt Nam (6 tại Tp.HCM và 1 ở Tp Quy Nhơn) cùng 6 chi nhánh ở nước ngoài (Mỹ, Úc, Canada, Đức, Nhật, Singapore)

Tháng 6 năm 2018, TMA đã mở chi nhánh tại Bình Định Sau 4 năm, TMA Bình Định đã phát triển nhanh chóng với hơn 400 kỹ sư, trong đó có nhiều kỹ sư đang làm việc tại TP.HCM đã trở về làm việc tại quê hương

Tháng 8 năm 2018, TMA đã khởi công xây dựng Công viên Sáng tạo TMA Bình Định (TMA Innovation Park – TIP) trên 10 hecta tại Thung lũng Sáng tạo Quy Nhơn (Quy Nhon Innovation Park – SNIVY) với vốn đầu tư hàng trăm tỷ đồng

1.1.2 Tầm nhìn và sứ mệnh

Công viên Sáng tạo TMA, trung tâm phần mềm đầu tiên tại Thung lũng Sáng tạo Quy Nhơn, có sứ mệnh trở thành trung tâm phát triển phần mềm và công nghệ cao hàng đầu miền Trung Nơi đây góp phần quan trọng vào việc biến Thung lũng sáng tạo Quy Nhơn thành điểm đến của công nghệ 4.0 tại Việt Nam Công viên bao gồm nhiều cơ sở như Trung tâm Phát triển Phần Mềm, Xưởng Phần mềm, Trung tâm R&D, Trung tâm Khoa học Dữ liệu và Học viện Công Nghệ.

- Sự tôn trọng: đối xử với người khác theo cách bạn muốn được đối xử

- Trung thực: trung thực với những người khác và chính bạn

- Sự cam kết: chúng tôi chuyển đổi lời hứa thành hiện thực

Tổng quan về vị trí Tester

1.2.1 Mô tả về vị trí Tester

Nhân viên Tester, hay còn gọi là người kiểm thử phần mềm, đóng vai trò quan trọng trong việc nâng cao chất lượng và triển khai phần mềm Họ thực hiện các thử nghiệm tự động và thủ công để đảm bảo rằng phần mềm do lập trình viên phát triển đáp ứng đúng mục đích sử dụng Nhiệm vụ của họ bao gồm phân tích phần mềm và hệ thống, giảm thiểu rủi ro cũng như ngăn ngừa sự cố phần mềm.

Vị trí tester yêu cầu kiến thức vững về kiểm thử phần mềm và quy trình phát triển phần mềm, cùng với kỹ năng ghi nhận và báo cáo lỗi Ngoài ra, hiểu biết về các công cụ kiểm thử và tự động hóa kiểm thử cũng rất quan trọng.

1.2.2 Các kỹ năng cần có của Tester

Để trở thành một Tester xuất sắc, kỹ năng phân tích nhanh nhạy và chính xác là điều thiết yếu Bạn cần rèn luyện khả năng nhìn nhận vấn đề từ nhiều góc độ khác nhau Điều này bao gồm việc phân tích yêu cầu của khách hàng, xem xét từng chức năng nhỏ mà bạn đang kiểm tra, và xác định những điểm mấu chốt Hơn nữa, việc dự đoán các khu vực có khả năng xảy ra lỗi và kết hợp phân tích với các chức năng liền kề cũng rất quan trọng.

Để nâng cao chất lượng sản phẩm tối ưu, người tester cần rèn luyện tính cẩn thận, kiên trì và tỉ mỉ Mỗi chi tiết, từ dấu chấm, dấu phẩy đến các biểu tượng, đều rất quan trọng trong việc tạo ra sự thân thiện với người dùng và đáp ứng nhu cầu khách hàng Sản phẩm hoàn thiện với chất lượng cao sẽ gia tăng niềm tin và uy tín của công ty đối với các đối tác.

Công việc của một tester phần mềm yêu cầu nền tảng kỹ thuật vững chắc và các kỹ năng chuyên môn đặc thù Các tester cần thông thạo ít nhất một ngôn ngữ lập trình, vì vậy kiến thức về lập trình là điều kiện tiên quyết Họ cũng cần phát triển kỹ năng thiết kế, lập trình, phân tích và hiểu biết về các ứng dụng phần mềm khác nhau Giống như bác sĩ chẩn đoán, kỹ sư kiểm định phần mềm phải nắm vững kiến thức để có thể đưa ra chẩn đoán chính xác.

Kỹ năng giao tiếp là yếu tố then chốt đối với một tester giỏi, giúp xử lý xung đột và xác định nguồn gốc lỗi hiệu quả Tester cần giao tiếp với nhiều bộ phận trong công ty như trưởng nhóm, lập trình viên và BA Việc tìm ra thiếu sót chỉ là bước đầu; bạn cần diễn giải rõ ràng và cung cấp dữ liệu để giải quyết vấn đề Giao tiếp, cả nói và viết, là vũ khí mạnh mẽ giúp bạn tương tác chặt chẽ với các developers và các bên liên quan khác Đảm bảo hiểu rõ yêu cầu dự án, mô tả tiêu chí kiểm tra và giải thích các bước để làm rõ vấn đề là điều cần thiết.

Tiếng Anh là một ưu thế quan trọng trong lĩnh vực IT, đặc biệt là đối với nghề Tester, vì nó giúp bạn đọc hiểu tài liệu, cập nhật công nghệ và giao tiếp với khách hàng Giao tiếp hiệu quả trong kiểm thử phần mềm không chỉ mở ra nhiều cơ hội thăng tiến mà còn là yếu tố quyết định trong các dự án outsource Ngay cả trong các dự án nội bộ, việc nâng cao khả năng tiếng Anh cũng giúp bạn tiếp cận và cập nhật kiến thức về kiểm thử phần mềm một cách tốt hơn.

Vị trí tester mang đến nhiều cơ hội nghề nghiệp vì kiểm thử phần mềm ngày càng trở nên quan trọng trong quy trình phát triển phần mềm Các tester có thể đảm nhận nhiều công việc khác nhau liên quan đến kiểm thử, góp phần nâng cao chất lượng sản phẩm.

Tester phần mềm đóng vai trò quan trọng trong các công ty phát triển phần mềm, nơi họ thử nghiệm sản phẩm và ứng dụng trước khi ra mắt thị trường Công việc của họ đảm bảo rằng sản phẩm đạt tiêu chuẩn chất lượng và đáp ứng nhu cầu của người dùng.

Tester tự động hóa là những chuyên gia có khả năng sử dụng công cụ tự động hóa để thực hiện các kịch bản kiểm thử, từ đó tìm kiếm nhiều cơ hội trong công việc Nhờ vào việc tự động hóa, họ không chỉ nâng cao hiệu suất làm việc mà còn đảm bảo độ chính xác trong quá trình kiểm thử.

Chuyên viên kiểm tra hiệu suất đóng vai trò quan trọng trong việc đánh giá và tối ưu hóa hiệu suất của phần mềm dưới nhiều điều kiện khác nhau Công việc này giúp đảm bảo ứng dụng hoạt động mượt mà và có khả năng đáp ứng nhu cầu của một lượng người dùng lớn.

Tester bảo mật là những chuyên gia chuyên kiểm tra và tích hợp các biện pháp bảo mật vào phần mềm Họ có nhiệm vụ đảm bảo rằng ứng dụng không tồn tại lỗ hổng bảo mật, từ đó bảo vệ thông tin của người dùng một cách an toàn và hiệu quả.

Tester có thể thăng tiến lên vị trí quản lý trong lĩnh vực kiểm thử phần mềm hoặc chuyển sang các vai trò khác trong quy trình phát triển phần mềm như chuyên viên kiểm thử chất lượng, chuyên viên chất lượng sản phẩm, chuyên viên dự án, hoặc BA Cơ hội nghề nghiệp cho tester rất phong phú và tiềm năng phát triển trong tương lai vô cùng tích cực.

1.2.4 Mức lương của vị trí Tester

Mức lương của tester phần mềm tại Việt Nam phụ thuộc vào nhiều yếu tố, bao gồm vị trí công việc, kỹ năng cá nhân, kinh nghiệm làm việc, khu vực địa lý và quy mô của công ty.

Lương cho vị trí Intern Tester thường khá thấp, dao động từ 3-6 triệu đồng mỗi tháng, đặc biệt đối với sinh viên mới ra trường hoặc những người chuyển ngành chưa có kinh nghiệm Đây là mức lương khởi điểm cho thực tập sinh, và khi trở thành nhân viên chính thức, mức lương sẽ được điều chỉnh theo quyết định của quản lý.

CƠ SỞ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM

Tổng quan về kiểm thử phần mềm

2.1.1 Giới thiệu về kiểm thử phần mềm và mục tiêu kiểm thử

Kiểm thử phần mềm là quá trình thực hiện một chương trình hoặc ứng dụng nhằm phát hiện lỗi Quá trình này giúp xác định tính chính xác, đầy đủ và chất lượng của phần mềm máy tính đã được phát triển.

Kiểm thử phần mềm là một yếu tố thiết yếu trong quy trình phát triển, vì mọi người đều có thể mắc sai lầm Một số lỗi có thể không nghiêm trọng, nhưng những lỗi khác có thể gây ra hậu quả tốn kém hoặc nguy hiểm Do đó, việc kiểm tra kỹ lưỡng là cần thiết để giảm thiểu sai sót, đảm bảo sản phẩm được giao cho khách hàng đạt chất lượng cao Điều này không chỉ giúp xây dựng lòng tin từ phía khách hàng mà còn duy trì sự hài lòng của họ đối với ứng dụng.

 Đảm bảo chất lượng của sản phẩm

 Phòng ngừa và phát hiện lỗi

 Sẵn sàng tích hợp và sửa đổi thành phần

 Cung cấp thông tin để ra quyết định cho giai đoạn tiếp theo

 Công việc nên được thực hiện theo quy trình được xác định trước và SRS

 Xác minh và xác thực yêu cầu người dùng

 Thảo luận về việc tạo các trường hợp thử nghiệm

 Tạo sự tự tin trong công việc

 Tìm lỗi từ phần mềm trước khi khách hàng phát hiện ra

 Lỗi nhận được bản sửa lỗi từ nhà phát triển

2.1.2 Nguyên tắc của kiểm thử phần mềm

Kiểm thử phần mềm có khả năng phát hiện sự hiện diện của các lỗi trong sản phẩm, nhưng không thể khẳng định rằng sản phẩm hoàn toàn không có lỗi hoặc hoạt động hoàn hảo Mặc dù kiểm thử giúp giảm xác suất của các lỗi chưa được phát hiện trong phần mềm khi sử dụng, nhưng vẫn không thể đảm bảo rằng sản phẩm đã hoàn toàn không còn lỗi.

Dù có 7 người dùng không phát hiện lỗi trong quá trình sử dụng sản phẩm, điều này không thể coi là bằng chứng cho thấy sản phẩm hoạt động hoàn hảo và không có vấn đề gì.

Kiểm thử toàn bộ các trường hợp kết hợp trong dự án là điều không thể do thời gian và chi phí tăng lên theo cấp số nhân Trong các giai đoạn gấp rút, việc thực hiện kiểm thử mọi thứ trở nên không khả thi Thay vào đó, việc phân tích rủi ro và ưu tiên các điểm cần kiểm thử sẽ giúp tối ưu hóa quy trình, tập trung vào những khía cạnh quan trọng nhất.

Kiểm thử sớm là một phương pháp quan trọng trong quy trình phát triển phần mềm, bao gồm việc thiết kế các tình huống kiểm thử và thực hiện các hoạt động review ngay từ giai đoạn đầu Việc phát hiện lỗi sớm giúp giảm chi phí sửa chữa và khắc phục, vì vậy các hoạt động kiểm thử nên được bắt đầu càng sớm càng tốt trong vòng đời phát triển hệ thống, đồng thời tập trung vào các mục tiêu đã được xác định trước.

Trong quá trình kiểm thử phần mềm, hiện tượng "tập trung lỗi" cho thấy rằng một số ít module chức năng thường chứa nhiều lỗi hơn so với các module khác Những chức năng này thường là các tính năng chính, yêu cầu xử lý phức tạp, hoặc được phát triển bởi những lập trình viên ít kinh nghiệm Nguyên tắc 80/20 cũng áp dụng ở đây, khi mà 20% chức năng quan trọng có thể gây ra đến 80% tổng số lỗi phát hiện trong sản phẩm.

Nghịch lý thuốc trừ sâu trong kiểm thử phần mềm so sánh bug với sâu và các testcase với thuốc trừ sâu Khi sử dụng một loại thuốc quá lâu, hiện tượng nhờn thuốc xảy ra, và trong kiểm thử cũng vậy, việc lặp đi lặp lại các tình huống kiểm thử sẽ dẫn đến việc không phát hiện ra lỗi mới Để khắc phục nghịch lý này, các tình huống kiểm thử cần được xem xét và điều chỉnh thường xuyên, đồng thời viết các test case mới và khác biệt để kiểm tra nhiều phần khác nhau của phần mềm, từ đó phát hiện ra nhiều lỗi tiềm ẩn hơn.

Kiểm thử theo ngữ cảnh là một khái niệm quan trọng, cho thấy rằng phương pháp kiểm thử sẽ thay đổi tùy thuộc vào từng sản phẩm và lĩnh vực công việc cụ thể Mỗi sản phẩm yêu cầu những kỹ thuật và tiêu chí kiểm thử khác nhau, phản ánh sự đa dạng và đặc thù của từng ngành nghề.

Sự sai lầm về việc không có lỗi nhấn mạnh rằng kiểm thử phần mềm không chỉ đơn giản là tìm và sửa lỗi Một sản phẩm phần mềm có thể trải qua tất cả các bước phát triển như yêu cầu, thiết kế, lập trình, kiểm thử và sửa lỗi, nhưng vẫn có thể thất bại nếu cuối cùng nó không đáp ứng nhu cầu và mong đợi của người dùng Điều này chỉ ra rằng, việc đảm bảo chất lượng và kiểm thử là cần thiết nhưng không đủ nếu sản phẩm cuối cùng không thể sử dụng hoặc không phù hợp với thực tế Do đó, một dự án phần mềm có thể coi là thất bại ngay cả khi tất cả các hoạt động kiểm thử được thực hiện đầy đủ.

2.1.3 Vòng đời phát triển phần mềm (SDLC)

Các giai đoạn của SDLC (Vòng đời phát triển phần mềm) là một chuỗi các bước mà dự án phần mềm trải qua từ khởi đầu đến hoàn thành Những giai đoạn này cung cấp một phương pháp có cấu trúc nhằm hướng dẫn quá trình phát triển phần mềm một cách hiệu quả.

1 Thu thập yêu cầu Ở pha này bộ phận phân tích yêu cầu sẽ đi gặp và trao đổi với khách hàng cũng như làm rõ các chức năng, các yêu cầu mà khách hàng mong muốn xây dựng trong phần mềm của mình Trong thực tế khi ở pha này các đơn vị phần mềm sẽ có bộ câu hỏi chung dành cho các dự án cũng như câu hỏi riêng cho đặc thù của dự án cần làm Đây là pha quan trọng ảnh hưởng đến việc xây dựng và phát triển phần mềm trong thời gian tới do vậy đội ngũ phân tích yêu cầu thường là những người đã có nhiều kinh nghiệm giúp trong quá trình trao đổi với khách hàng sẽ làm rõ và hiểu đúng được các yêu cầu bài toán của khách hàng cũng như thu thập các biểu mẫu thông tin liên quan đến dự án về phục vụ phân tích ở giai đoạn kế tiếp

2 Phân tích Đây là pha sẽ được thực hiện sau khi đã ghi nhận các yêu cầu của khách hàng về bộ phận phân tích sẽ thực hiện làm rõ các yêu cầu và hiện thực hóa bằng một tài liệu SRS gọi là

Tài liệu đặc tả cung cấp mô tả chi tiết về các chức năng của phần mềm, giúp các bộ phận như lập trình viên và kiểm thử viên thực hiện công việc của mình Tài liệu này trả lời câu hỏi quan trọng: "Phần mềm sẽ làm gì?"

3 Pha thiết kế Ở pha này sau khi căn cứ vào tài liệu đặc tả, bộ phận thiết kế sẽ thiết kế đưa ra giao diện chung cũng như bộ phận lập trình sẽ thiết kế giao diện mức chi tiết theo từng chức năng của

Loại kiểm thử phần mềm

2.2.1 Manual testing (Kiểm thử thủ công)

Kiểm thử thủ công là quá trình kiểm tra tính năng, chức năng và yêu cầu của phần mềm mà không sử dụng công cụ tự động hóa Nó đóng vai trò quan trọng trong việc đảm bảo chất lượng phần mềm trước khi phát hành cho người dùng cuối Mặc dù yêu cầu nhiều thời gian và sự chú ý từ các kiểm thử viên, kiểm thử thủ công vẫn là một phần thiết yếu trong phát triển phần mềm, giúp kiểm thử viên hiểu rõ nhu cầu của người dùng và phát hiện các lỗi mà công cụ tự động có thể bỏ sót.

2.2.2 Automation testing (Kiểm thử tự động)

Kiểm thử tự động là phương pháp kiểm thử phần mềm sử dụng công cụ và kịch bản tự động, thay thế cho kiểm thử thủ công, nhằm nâng cao hiệu quả, độ tin cậy và tiết kiệm thời gian Đây là yếu tố quan trọng trong phát triển phần mềm hiện đại, giúp cải thiện chất lượng sản phẩm và giảm chi phí Tuy nhiên, để đạt được hiệu quả tối ưu, kiểm thử tự động cần được triển khai khôn ngoan và kết hợp với kiểm thử thủ công.

2.2.3 Security testing (Kiểm thử bảo mật)

Kiểm thử bảo mật là quy trình kiểm tra nhằm đảm bảo tính năng và chức năng của phần mềm được bảo vệ an toàn trước các mối đe dọa tiềm ẩn từ bên ngoài.

Mục tiêu chính của kiểm thử bảo mật là phát hiện các lỗ hổng và thiếu sót trong bảo mật, cũng như khả năng kiểm soát truy cập trái phép vào hệ thống Quá trình này đảm bảo phần mềm đáp ứng các yêu cầu bảo mật, bảo vệ khỏi các cuộc tấn công từ bên ngoài, và giữ an toàn cho dữ liệu quan trọng của người dùng và doanh nghiệp trong môi trường kỹ thuật số ngày càng phức tạp.

- Các hình thức của Security Testing:

Penetration Testing, hay còn gọi là Ethical Hacking, là quy trình kiểm tra hệ thống thông qua việc mô phỏng các cuộc tấn công từ bên ngoài nhằm phát hiện các điểm yếu và lỗ hổng bảo mật Mục tiêu chính của phương pháp này là xác định những lỗ hổng có thể bị khai thác bởi kẻ tấn công thực sự.

Quét lỗ hổng bảo mật là quá trình sử dụng các công cụ tự động để phát hiện các lỗ hổng an ninh thường gặp trong hệ thống, bao gồm các cổng mạng mở, thiếu sót bảo mật trong phần mềm và cấu hình hệ thống không an toàn.

Kiểm tra mã nguồn phần mềm là quy trình quan trọng trong việc phát hiện các lỗ hổng bảo mật, bao gồm các điểm dừng tiềm tàng, việc sử dụng không hợp lý các hàm API và các vấn đề bảo mật khác.

2.2.4 API testing (Kiểm thử API)

API testing (Kiểm thử giao diện lập trình ứng dụng) là quy trình kiểm tra các API của phần mềm, nhằm đảm bảo tính chính xác, độ tin cậy và hiệu suất của chúng API đóng vai trò quan trọng trong việc giúp phần mềm giao tiếp với các thành phần khác, cho phép trao đổi dữ liệu và thực hiện các chức năng cần thiết.

- Manual Testing: Kiểm thử thủ công của các API bằng cách sử dụng các công cụ như

Postman hoặc cURL để gửi các yêu cầu và xác nhận kết quả trả về

Kiểm thử tự động hóa API giúp tiết kiệm thời gian và nâng cao độ chính xác bằng cách sử dụng các công cụ tự động hóa.

Phương pháp kiểm thử

2.3.1 Static testing (Kiểm thử tỉnh)

- Static testing (Kiểm thử tỉnh) là các kiểm thử được thực hiện mà không cần phải chạy hoặc thực thi các đối tượng kiểm thử - test object

- Static testing có thể được thực hiện bằng cách review và static analysis:

Review là quá trình kiểm tra sản phẩm do con người thực hiện, trong đó người kiểm tra sẽ xem xét kỹ lưỡng các tài liệu hoặc mã nguồn để phát hiện lỗi.

Phân tích tĩnh là quá trình kiểm tra các sản phẩm tĩnh như tài liệu và mã nguồn bằng công cụ hỗ trợ Ví dụ, để phát hiện lỗi chính tả, người dùng có thể điều chỉnh thiết lập trong Microsoft Word Ngoài ra, các công cụ phân tích tĩnh còn giúp rà soát mã nguồn, tìm kiếm các câu lệnh và biến không sử dụng, cũng như kiểm tra xem đoạn mã có tuân thủ các quy định và quy ước lập trình hay không.

Hoạt động review tài liệu và source code được xem là kiểm thử tĩnh, trong đó sản phẩm cần kiểm thử chỉ bao gồm các tài liệu tĩnh Người thực hiện kiểm tra không cần phải chạy sản phẩm để đánh giá chất lượng.

2.3.2 Dynamic testing (Kiểm thử động)

Kiểm thử động - Dynamic testing ngược với kiểm thử tĩnh, nghĩa là kiểm thử mà cần phải chạy hoặc thực thi các đối tượng kiểm thử - test object

Kiểm thử động là quá trình mà nhân viên kiểm thử thực hiện để đánh giá chức năng của sản phẩm hoặc hệ thống Trong quá trình này, họ tương tác trực tiếp với giao diện của sản phẩm cần kiểm thử để đảm bảo chức năng hoạt động đúng như mong đợi.

2.3.3 White box testing (Kiểm thử hộp trắng)

Kiểm thử hộp trắng là một kỹ thuật kiểm thử phần mềm, trong đó cấu trúc, thiết kế và mã nguồn được kiểm tra để xác minh luồng đầu vào và đầu ra, đồng thời cải thiện thiết kế, khả năng sử dụng và bảo mật Kỹ thuật này cho phép người thử nghiệm tiếp cận mã nguồn, do đó còn được gọi là Thử nghiệm hộp rõ ràng, Thử nghiệm hộp mở, Thử nghiệm hộp trong suốt, Thử nghiệm dựa trên mã và Thử nghiệm hộp thủy tinh.

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

Kiểm thử tất cả câu lệnh (Statement Testing) là phương pháp kiểm tra từng câu lệnh trong mã nguồn nhằm đảm bảo rằng mọi câu lệnh đều được thực thi chính xác và không bị bỏ sót Mục tiêu chính của phương pháp này là đạt được 100% tỷ lệ phủ sóng câu lệnh trong quá trình kiểm thử.

Kiểm thử quyết định (Decision Testing) là phương pháp tập trung vào việc kiểm tra tất cả các quyết định và các rẽ nhánh trong mã nguồn, nhằm đảm bảo rằng mọi quyết định đều được xử lý chính xác Mục tiêu của kiểm thử quyết định là đạt được 100% vị phạm của các điều kiện và quyết định trong quá trình kiểm thử, đảm bảo rằng các rẽ nhánh điều kiện được thực hiện đúng.

Kiểm thử các điều kiện (Condition Determination Testing) là quá trình kiểm tra hiệu quả của từng điều kiện trong quyết định tổng thể Mục tiêu chính của phương pháp này là đảm bảo rằng mỗi điều kiện riêng lẻ hoạt động chính xác và không bị ảnh hưởng bởi các điều kiện khác.

Kiểm thử các đường đi (Path Testing) là phương pháp kiểm tra toàn bộ các đường đi trong mã nguồn nhằm đảm bảo rằng mọi đường đi trong hàm hoặc thủ tục đều được thực hiện chính xác Mục tiêu chính của phương pháp này là đạt được 100% mức độ bao phủ các đường đi trong quá trình kiểm thử.

2.3.4 Black box testing (Kiểm thử hộp đen)

Kiểm thử hộp đen là phương pháp kiểm thử phần mềm tập trung vào việc kiểm tra chức năng của ứng dụng mà không cần hiểu cấu trúc mã nội bộ hay chi tiết triển khai Phương pháp này chủ yếu chú trọng đến đầu vào và đầu ra của phần mềm, hoàn toàn dựa trên các yêu cầu và thông số kỹ thuật đã được xác định.

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

Kiểm thử lớp tương đương là một kỹ thuật thiết kế kiểm thử, trong đó hệ thống được phân chia thành nhiều nhóm hoặc lớp Mỗi nhóm/lớp này được kỳ vọng sẽ được kiểm soát và xử lý giống nhau, giúp tối ưu hóa quy trình kiểm thử Các nhóm/lớp này được gọi là các nhóm/lớp ngang bằng hay tương đương, nhằm đảm bảo tính nhất quán trong kiểm thử.

Kiểm tra giá trị ranh giới là kỹ thuật xác định xem các giá trị tại các ranh giới có được hệ thống chấp nhận hay không Phương pháp này giúp giảm số lượng các giá trị không hợp lệ, từ đó nâng cao hiệu quả của quy trình kiểm tra.

15 trường hợp thử nghiệm Nó phù hợp nhất cho các hệ thống có đầu vào nằm trong phạm vi nhất định

Bảng quyết định là công cụ quan trọng để xác định nguyên nhân và tác động của chúng thông qua một ma trận Các tình huống kiểm thử được phát triển dựa trên sự kết hợp của các đầu vào và nguyên nhân được nêu trong bảng quyết định, giúp tối ưu hóa quá trình kiểm tra.

Cấp độ của kiểm thử

2.4.1 Unit testing (Kiểm thử đơn vị)

Unit testing là phương pháp kiểm tra nhỏ nhất trong hệ thống hoặc ứng dụng, cho phép biên dịch, tải và thực thi Thử nghiệm này tập trung vào việc kiểm tra từng mô-đun riêng biệt, đảm bảo tính chính xác và hiệu suất của từng phần trong ứng dụng.

Mục đích của việc kiểm tra phần mềm là xác định chức năng của từng thành phần bằng cách tách riêng chúng Loại thử nghiệm này giúp đảm bảo rằng các thành phần hoàn thành đúng chức năng được yêu cầu Thông thường, các nhà phát triển sẽ thực hiện loại thử nghiệm này để đảm bảo chất lượng sản phẩm.

2.4.2 Integration testing ( Kiểm thử tích hợp)

Kiểm tra tính tích hợp của các thành phần trong hệ thống là cần thiết để đảm bảo chúng phù hợp với thiết kế tổng thể và kiến trúc hệ thống đã được xác định.

Trong giai đoạn thử nghiệm, các mô-đun phần mềm được kết hợp và kiểm tra theo nhóm nhằm đảm bảo rằng hệ thống tích hợp đạt yêu cầu cho quá trình thử nghiệm hệ thống.

- Kiểm thử tích hợp kiểm tra luồng dữ liệu từ mô-đun này sang mô-đun khác Loại thử nghiệm này được thực hiện bởi những người thử nghiệm

2.4.3 System testing ( Kiểm thử hệ thống)

System testing được thực hiện trên một hệ thống hoàn chỉnh và tích hợp, nhằm kiểm tra sự tuân thủ của hệ thống theo các yêu cầu đã đặt ra Quá trình này đánh giá sự tương tác tổng thể giữa các thành phần, đồng thời kiểm tra các yếu tố quan trọng như tải, hiệu suất, độ tin cậy và bảo mật của hệ thống.

Thử nghiệm hệ thống là giai đoạn cuối cùng nhằm xác minh rằng hệ thống đáp ứng đầy đủ các yêu cầu kỹ thuật Quá trình này đánh giá cả các yêu cầu chức năng và phi chức năng, đảm bảo rằng hệ thống hoạt động đúng như mong đợi.

2.4.4 Acceptance Testing ( Kiểm thủ người dùng)

Acceptance Testing là một quá trình kiểm tra nhằm xác định xem các yêu cầu trong đặc điểm kỹ thuật hoặc hợp đồng có được thực hiện đầy đủ khi sản phẩm được giao hay không.

- Kiểm tra chấp nhận về cơ bản được thực hiện bởi người dùng hoặc khách hàng.

Tổng quan về Python

Python là ngôn ngữ lập trình cao cấp, mạnh mẽ và dễ học, được phát triển bởi Guido van Rossum và ra mắt lần đầu vào năm 1991 Đây là một trong những ngôn ngữ lập trình phổ biến nhất toàn cầu, ứng dụng rộng rãi trong phát triển phần mềm, trí tuệ nhân tạo, khoa học dữ liệu, và phát triển web.

Python nổi bật với cú pháp đơn giản và dễ đọc, giúp mã nguồn trở nên rõ ràng và dễ hiểu hơn so với nhiều ngôn ngữ khác Ngoài ra, Python còn hỗ trợ đa dạng phong cách lập trình, bao gồm lập trình hướng đối tượng, lập trình hàm và lập trình cấu trúc.

Python sở hữu một cộng đồng rộng lớn cùng với tài liệu phong phú, bao gồm nhiều thư viện và module tiện ích đã được phát triển sẵn Điều này giúp các nhà phát triển tiết kiệm thời gian và công sức khi xây dựng ứng dụng và giải quyết các vấn đề phức tạp, khiến Python trở thành lựa chọn phổ biến cho các dự án quy mô lớn và nhỏ trên toàn cầu.

Python có rất nhiều ứng dụng khác nhau và được sử dụng trong nhiều lĩnh vực như:

Python là một ngôn ngữ lập trình phổ biến, được sử dụng rộng rãi trong việc phát triển phần mềm, bao gồm các ứng dụng desktop, ứng dụng di động, và ứng dụng web.

Python là ngôn ngữ lập trình phổ biến trong lĩnh vực trí tuệ nhân tạo (AI) và học máy, nhờ vào các thư viện mạnh mẽ như TensorFlow, PyTorch và scikit-learn, giúp xây dựng và huấn luyện mô hình máy học hiệu quả.

 Khoa học dữ liệu và phân tích: Python có nhiều thư viện mạnh mẽ như

Pandas, NumPy và Matplotlib, giúp cho việc xử lý và phân tích dữ liệu trở nên dễ dàng hơn

 Web development: Python được sử dụng để xây dựng các ứng dụng web và trang web thông qua các framework như Django và Flask

 Game development: Python có thư viện Pygame cho phép nhà phát triển tạo các trò chơi đơn giản và 2D.

Tổng quan về Robot Framework

Robot Framework là một công cụ kiểm thử tự động mã nguồn mở, cho phép tự động hóa kiểm thử phần mềm một cách hiệu quả Nó cung cấp cú pháp đơn giản và dễ hiểu, giúp người dùng dễ dàng viết các bài kiểm thử.

Robot Framework là một công cụ kiểm thử mạnh mẽ được phát triển bằng Python, hỗ trợ nhiều loại kiểm thử như kiểm thử chức năng, kiểm thử giao diện người dùng, kiểm thử dịch vụ web và kiểm thử ứng dụng di động.

- Một số đặc điểm chính của Robot Framework bao gồm:

Robot Framework có cú pháp đơn giản và thân thiện, giúp người dùng dễ dàng đọc và viết mã kiểm thử Dựa trên cấu trúc từ khóa, người dùng có thể dễ dàng tạo và quản lý các bài kiểm thử một cách hiệu quả.

Robot Framework hỗ trợ đa ngôn ngữ lập trình như Python và Java, cho phép người dùng truy cập và sử dụng các thư viện và module từ nhiều nguồn khác nhau.

 Dễ mở rộng: Người dùng có thể viết các thư viện tùy chỉnh và tích hợp chúng vào Robot Framework để mở rộng khả năng kiểm thử

Robot Framework hỗ trợ tích hợp với nhiều công cụ kiểm thử và báo cáo, giúp người dùng dễ dàng kết nối vào quy trình kiểm thử tổng thể.

Robot Framework không chỉ hỗ trợ kiểm thử chức năng mà còn cho phép thực hiện kiểm thử giao diện người dùng, kiểm thử dịch vụ web và kiểm thử ứng dụng di động.

2.6.2 Ưu điểm và nhược điểm của Robot Framework

Robot Framework rất dễ sử dụng nhờ vào cú pháp rõ ràng và dễ đọc, cho phép người dùng viết và xem xét các bài kiểm thử một cách thuận tiện mà không cần có kiến thức lập trình sâu.

 Hỗ trợ đa nền tảng: Robot Framework hỗ trợ các hệ điều hành khác nhau, giúp người dùng thực hiện kiểm thử trên nhiều môi trường khác nhau

Robot Framework dễ dàng mở rộng, cho phép người dùng tạo thư viện tùy chỉnh và tích hợp chúng vào quy trình kiểm thử, từ đó nâng cao khả năng kiểm thử một cách linh hoạt và hiệu quả.

Robot Framework hỗ trợ đa dạng các loại kiểm thử, bao gồm kiểm thử chức năng, kiểm thử giao diện người dùng, kiểm thử dịch vụ web và kiểm thử ứng dụng di động.

Robot Framework rất phù hợp cho các kiểm thử đơn giản và trung bình, nhưng có thể gặp khó khăn khi thực hiện các kiểm thử phức tạp và quy mô lớn.

 Yêu cầu kiến thức cơ bản về lập trình: Dù cú pháp của Robot

Framework dễ đọc, nhưng vẫn cần một số kiến thức cơ bản về lập trình và tư duy logic để viết các tập lệnh kiểm thử hiệu quả

Robot Framework có hiệu suất tương đối chậm hơn so với một số công cụ kiểm thử tự động khác, dẫn đến việc thực thi các bài kiểm thử mất nhiều thời gian hơn.

TRIỂN KHAI DỰ ÁN “AUTOMATION TESTING FOR THE

Tổng quan hệ thống “Shopping Website”

Website “Shopping” được thiết kế để cung cấp một môi trường mua sắm sách lập trình tiện lợi Người dùng có thể dễ dàng thêm sách yêu thích vào giỏ hàng và tự động tính tiền Trang web phân loại sách theo các thể loại khác nhau, giúp người dùng dễ dàng tìm kiếm và lựa chọn Ngoài ra, người dùng có thể xem bình luận và thông tin chi tiết về từng cuốn sách Đặc biệt, website cho phép sắp xếp độ phổ biến của sách và lựa chọn khoảng giá, mang đến trải nghiệm mua sắm tối ưu cho người dùng.

- Đối tượng sử dụng: Tất cả khách hàng có nhu cầu sử dụng sách

 Tạo tài khoản cá nhân

 Thêm sách cần mua vào giỏ hàng

 Sửa hoặc xoá sách đã được thêm vào giỏ hàng

 Sắp xếp các mức độ phổ biến của sách

 Giới hạn giá của sách hiện đang được bán

 Viết bình luận để đánh giá về sách

- Mô hình tổng quát của hệ thống

Hình 3 1 1: Mô hình hệ thống

Đặc tả yêu cầu

3.2.1 Chức năng tại màn hình “Đăng ký (Register)”

3.2.1.1 Đặc tả màn hình “Đăng ký (Register)”

Khi khách hàng truy cập vào website, hệ thống sẽ hiển thị giao diện như Hình 3.2.1 Tại màn hình này, khách hàng cần điền thông tin địa chỉ email và mật khẩu vào ô đăng ký nằm ở phía bên phải.

- Sau khi đăng ký thành công hệ thống sẽ chuyển sang màn hình My account

Hình 3 2 1: Màn hình đăng nhập đăng ký

3.2.1.3 Đặc tả usecase “Đăng ký (Register)”

- Điều kiện kích hoạt: Người dùng truy cập vào hệ thống

- Mô tả chi tiết usecase:

 Bước 1: Hệ thống hiển thị màn hình đăng ký

 Bước 2: Người dùng nhập email và password cần tạo

 Bước 3: Click vào nút “Register” hệ thống chuyển sang trang chủ

3.2.2 Chức năng tại màn hình “Đăng nhập (Login)”

3.2.2.1 Đặc tả màn hình “Đăng nhập (Login)”

Khi khách hàng truy cập vào trang web, hệ thống sẽ hiển thị giao diện như Hình 3.2.1 Tại màn hình này, khách hàng cần điền địa chỉ email và mật khẩu đã đăng ký vào ô đăng nhập ở phía bên trái.

- Sau khi đăng nhập thành công hệ thống sẽ chuyển sang màn hình My account

3.2.2.3 Đặc tả usecase “Đăng nhập (Login)”

- Điều kiện kích hoạt: Người dùng truy cập vào hệ thống

- Mô tả chi tiết Usecase:

 Bước 1: Hệ thống hiển thị màn hình đăng nhập

 Bước 2: Người dùng nhập email và password đẵ được đăng ký

 Bước 3: Click vào nút “Login” hệ thống chuyển sang trang My account 3.2.3 Chức năng tại màn hình “Home”

3.2.3.1 Đặc tả màn hình “Home”

- Sau khi đăng nhập thành công, người dùng click vào “Home” để xem sách như Hình

Người dùng có thể truy cập từng cuốn sách để xem thông tin, giá cả và bình luận Sau đó, họ có thể thêm sách vào giỏ hàng và nhấp vào liên kết để xem lại giá, cập nhật số lượng và áp dụng phiếu giảm giá trước khi đặt mua.

- Điều kiện kích hoạt: Người dùng đăng nhập vào hệ thống

- Mô tả chi tiết Usecase:

 Bước 1: Hệ thống hiển thị màn hình đăng nhập

 Bước 2: Người dùng nhập email và password đẵ được đăng ký

 Bước 3: Click vào nút “Login” hệ thống chuyển sang trang My account

 Bước 4: Người dùng click vào “Home” để xem sản phẩm

 Bước 5: Click vào loại sách ưa thích để xem thông tin chi tiết cuốn sách, cũng như bình luận của sách

Để thêm sách vào giỏ hàng, người dùng chỉ cần nhấn vào nút “Thêm vào giỏ hàng” hoặc thực hiện thao tác trực tiếp trên màn hình “Trang chủ” Sách sẽ được thêm thành công nếu số lượng trong kho đáp ứng yêu cầu.

Để xem lại giỏ hàng, khách hàng chỉ cần truy cập vào menu “Items”, nơi họ có thể chỉnh sửa thông tin như số lượng sách, xóa các cuốn sách không cần thiết hoặc thêm mã giảm giá.

 Bước 8: Click “Update basket” để cập nhật lại thông tin sản phẩm

Để hoàn tất việc mua sách, người dùng cần nhấn vào “Proceed to checkout” để kiểm tra thông tin cá nhân, địa chỉ, số lượng sách, chọn hình thức thanh toán và sau đó nhấn “Place order” để đặt hàng.

3.2.4 Chức năng tại màn hình “Giỏ hàng (Items)”

3.2.4.1 Đặc tả chức năng tại màn hình “Giỏ hàng (Items)”

Sau khi đăng nhập thành công, người dùng có thể dễ dàng thêm những cuốn sách yêu thích vào giỏ hàng từ trang “Shop” hoặc “Home” Để xem lại các sản phẩm đã chọn, người dùng chỉ cần chuyển đến màn hình giỏ hàng thông qua menu “Items”.

Hình 3.2.3 để điều chỉnh số lượng mua, thêm hoặc xoá các loại sách theo nhu cầu và sau đó tiến hành thanh toán

Hình 3 2 3: Màn hình giỏ hàng

3.2.4.2 Usecase màn hình “Giỏ hàng (Items)”

3.2.4.3 Đặc tả Usecase “Giỏ hàng”

- Điều kiện kích hoạt: Người dùng đăng nhập vào hệ thống

- Mô tả chi tiết Usecase:

 Bước 1: Hệ thống hiển thị màn hình đăng nhập

 Bước 2: Người dùng nhập email và password đẵ được đăng ký

 Bước 3: Click vào nút “Login” hệ thống chuyển sang trang My account

 Bước 4: Người dùng click vào “Shop” để xem sản phẩm

 Bước 5: Click “ADD TO BASKET” để thêm sản phẩm vào giỏ hàng

 Bước 6: Click “Items” để chuyển sang màn hình thông tin giỏ hàng

 Bước 7: Khách hàng loại bỏ sản phẩm không mong muốn hoặc cập nhật lại số lượng

Thiết kế Testcase

- Viết testcase cho 4 chức năng:

- Link testcase: https://docs.google.com/spreadsheets/d/1wDp60FWGox4fW- nQzOpP1s71s_nSdVXp/edit?usp=sharing&ouid2963174031465478907&rtpof=true&sd

3.3.1 Testcase chức năng tại màn hình “Đăng ký (Register)”

No Test name Pre condition Test step Data Expected

Check account registration is successful

Successful access to the website

2) Click on My Account Menu

Email address: tranx2222@ gmail.com

The website will switch to the “Home page”

4) Enter your own password in password textbox

Check registration when email is invalid

Successful access to the website

2) Click on My Account Menu

3) Enter invalid Email Address in Email-Address textbox

4) Enter your own password in password textbox

Email address: tranx2222g mail.com

The screen showed the error "Please include '@' in email address

'tranx2222gm ail.com' is missing '@'."

Check registration when email address is empty

Successful access to the website

2) Click on My Account Menu

The screen showed the error “Error:

Email Address in Email- Address textbox

4) Enter your own password in password textbox

Please provide a valid email address.”

Check registration when password is empty

Successful access to the website

“http://practice. automationtesti ng.in/”

3) Click on My Account Menu

4) Enter valid Email Address in Email- Address textbox

5) Enter empty password in password textbox

Email address: tranx2222@ gmail.com Password:

The screen showed the error “Error:

Please enter an account password.”

Check registration when email address and password are blank

Successful access to the website

2) Click on My Account Menu

3) Enter empty Email Address in Email- Address textbox

4) Enter empty password in password textbox

The screen showed the error “Error:

Please provide a valid email address.”

Bảng 1: Testcase màn hình “Register”

3.3.2 Testcase chức năng tại màn hình “Đăng nhập (Login)”

Pre condition Test step Data Expecte d Result Verify

Successfu l access to the website

2) Click on My Account Menu

3) Enter registered username in username textbox

Username or email address: tranx2222@gm ail.com

4) Enter password in password textbox

The website will switch to the

Check login when username and password are incorrect

Successfu l access to the website

2) Click on My Account Menu

3) Enter incorrect username in username textbox

4) Enter incorrect password in password textbox

Username or email address: tranien2@gmai l.com

The screen showed the error

A user could not be found with this email address.

2) Click on My Account Menu

Username or email address: tranx2222@gm ail.com

31 password is blank to the website

3) Enter valid username in username textbox

4) Now enter empty password in the password textbox

Check login when username is blank

Successfu l access to the website

2) Click on My Account Menu

3) Enter empty username in username textbox

4) Now enter valid password in the password textbox

The screen showed the error

Check login when username and password

Successfu l access to the website

2) Click on My Account Menu

3) Enter empty username in username textbox

The screen showed the error

4) Now enter valid password in the password textbox

Check password masking when logging in

Successfu l access to the website

4) Enter the password field with some characters

Username or email address: tranx2222@gm ail.com

The passwor d field only shows the characte rs in asterisks and does not show the passwor d on the screen

Check password case sensitive function

Successfu l access to the website

Username or email address: tranx2222@gm ail.com

The screen showed the error

5) Password field in all caps

The passwor d you entered for the usernam e tranxthi en2222

@ gmail.co m is incorrec t Lost your passwor d?”

Bảng 2: Testcase màn hình “Login”

3.3.3 Testcase chức năng tại màn hình “Home”

Pre condition Test step Data Expecte d Result Verify

3) Now click on Home menu button

The Home page must contains

4) Click on the arrow as shown only three sliders

3) Now click on Home menu button

The Home page must contains only three Arrivals as shown below

Check image in arrivals navigate to page where user can add products to basket

3) Now click on Home menu button

4) Test whether the Home page has Three Arrivals only

5) The Home page must contains only three Arrivals

The image should be clickabl e and navigate to the next page where

6) Now randomize the image in Arrivals the user can add the book to the basket

Check arrivals navigate to cart and show descripti on of book

3) Now click on the Home menu button

4) Check if Homepage has only Three arrivals

5) The homepage can only contain three Destinations

6) Now random click on image in Arrivals and will navigate to next page where user can add that book to basket

7) Click on the Description tab

Displays a descripti on of the book the user clicked on

Check arrivals navigate to cart

Show reviews of books the user

36 and show review of book

3) Now click on the Home menu button

4) Check if Homepage has only Three arrivals

5) The homepage can only contain three Destinations

6) Now random click on image in Arrivals and will navigate to next page where user can add that book to cart

7) Click on the review tab clicked on

Check arrivals navigatin g to cart and added books failed when over quantity in stock

3) Now click on the Home menu button

4) Check if Homepage has only Three arrivals

5) The homepage can only contain three Destinations

20 books, enter the number of books as 21 books

"you must enter a value between

6) Now random click on the image in Arrivals

7) Navigate to the next page where the user can add that book to his cart

8) Select more books than there are in stock

9) Click the add to cart button

Check arrivals navigate to basket and add books to basket

3) Now click on the Home menu button

4) Check if Homepage has only Three arrivals

5) The homepage can only contain three Destinations

6) Now random click on the image in Arrivals and navigate to the next page where the user can add that book to his cart

Input number of the book is 0

The screen displays the message

" Giá trị lớn hơn hoặc bằng 1." Pass

8) Click the "add to basket" button

Bảng 3: Testcase màn hình “Home”

3.3.4 Testcase chức năng tại màn hình “Items”

Pre condition Test step Data Expecte d Result Verify

Check the function of removing products from basket

3) Randomly add any product to basket

5) Click the delete product button as shown in the image below

The product has been removed from the cart

“Functio nal Program ming in

39 restoring deleted products when clicking

3) Randomly add any product to basket

5) Click the delete product button

6) The screen shows a message that the product has been removed

Check the function to update the number of books when clicking the

3) Randomly add any product to basket

5) In the “quantity” column write the quantity to buy

Input number of the book is

The system updates the number of books accordin g to the number of user input

Check display when entering product quantity is 0

3) Randomly add any product to basket

“quantity” write the quantity as 0

6) Click the “Update Cart” button

Input number of the book is 0

"Your basket is currentl y empty."

Check to apply discount code successfu lly when the book price is over 450 rps

3) Add a product to cart that costs more than 450 rps

“coupon code” enter the discount code

6) Click the “apply coupon” button

Book price reduced by 50rps displaye d in the box

Check to apply discount code fails when the price of the book is less than or equal to

3) Add products to cart for less than 450 rps

“Coupon code” enter the discount code

The screen shows the error:

“Minim um spend for this coupon is 450.00r ps”

Blank the discount code blank in the

3) Add any product to basket

3) Do not enter the discount code

The screen shows the error:

4) Click the “Apply Coupon” button

Check the function of increasin g number of books when clicking on the up arrow as shown below

3) Add any product to cart

5) At the quantity column, press the button with the arrow pointing up

Functional Programming in JS Quantity: 15

The number of books increase s by one unit with each click

Check the function to update the number of books decreasin g when clicking on the up arrow as

3) Add any product to basket

5) In the quantity column, press the button with the arrow pointing down

Functional Programming in JS Quantity: 2

The number of books decrease s by one unit with each click

Check out the payment in the shopping basket

3) Add any product to cart

4) Click “Proceed to checkout” button

5) Now user can fill his details in billing details form and can opt any payment in the payment gateway like Direct bank transfer,cheque,cash or paypal

"Place Order" button to complete process

Functional Programming in JS Quantity: 2

"order details" page and display the message : "Thank you

Your order has been received "

Bảng 4: Testcase màn hình “Items”

Chạy code test tự động

Hình 3 4 1: Keywords chung của code

Hình 3 4 2: Keywords của màn hình đăng ký “Register”

Hình 3 4 3: Keywords của màn hình đăng ký “Register”

Hình 3 4 4: Keywords của màn hình đăng ký “Login”

Hình 3 4 5: Keywords của màn hình đăng ký “Login”

Hình 3 4 6: Keywords của màn hình đăng ký “Home”

Hình 3 4 7: Keywords của màn hình đăng ký “Home”

Hình 3 4 8: Keywords của màn hình đăng ký “Login”

Hình 3 4 9: Keywords của màn hình đăng ký “Items”

Hình 3 4 10: Keywords của màn hình đăng ký “Items”

Hình 3 4 11: Keywords của màn hình đăng ký “Items”

Hình 3 4 12: Testcase 1 đăng ký tài khoản thành công

Hình 3 4 13: Testcase 2 đăng ký tài khoản thất bại

Hình 3 4 14: Testcase 3 đăng ký tài khoản thất bại khi bỏ trống email

Hình 3 4 15: Testcase 4 đăng ký tài khoản thất bại khi bỏ trống mật khẩu

Hình 3 4 16: Testcase 5 đăng ký tài khoản thất bại khi bỏ trống email và mật khẩu

Hình 3 4 17: Testcase 1 đăng nhập thành công

Hình 3 4 18: Testcase 2 đăng nhập thất bại khi tài khoản và mật khẩu sai

Hình 3 4 19: Testcase 3 đăng nhập thất bại khi để trống mật khẩu

Hình 3 4 20: Testcase 4 đăng nhập thất bại khi để trống tài khoản

Hình 3 4 21: Testcase 5 đăng nhập thất bại khi để trống tài khoản và mật khẩu

Hình 3 4 22: Testcase 6 che giấu mật khẩu khi đăng nhập

Hình 3 4 23: Testcase 7 phân biệt chữ hoa ở mật khẩu

Hình 3 4 24: Testcase 1 home page chỉ có 3 sliders

Hình 3 4 25: Testcase 2 home page chỉ có 3 arrivals

Hình 3 4 26: Testcase 3 xem thông tin chi tiết của sản phẩm

Hình 3 4 27: Testcase 4 xem đánh mô tả sản phẩm

Hình 3 4 28: Testcase 5 xem đánh giá sản phẩm

Hình 3 4 29: Testcase 6 thêm sản phẩm vào giỏ hàng

Hình 3 4 30: Testcase 7 thêm sản phẩm thất bại khi đầu vào số lượng bằng

Hình 3 4 31: Testcase 1 xoá sản phẩm ra khỏi giỏ hàng

Hình 3 4 32: : Testcase 2 khôi phục sản phẩm đã xoá

Hình 3 4 33: Testcase 3 cập nhật giỏ hàng

Hình 3 4 34: Testcase 4 cập nhật sản phẩm với số lượng bằng 0

Hình 3 4 35: Testcase 5 áp dụng mã giảm giá lớn hơn 450srp

Hình 3 4 36: Testcase 6 áp dụng mã giảm giá nhỏ hơn hoặc bằng 450rsp

Hình 3 4 37: Testcase 7 bỏ trống ô mã giảm giá

Kết quả test

3.5.1 Kết quả test màn hình “Register”

Pass Fail N/A Untessted Tổng cộng

Bảng 5: Bảng kết quả màn hình “Register”

Hình 3 5 1: Kết quả testcase màn hình “Register”

3.5.2 Kết quả test màn hình “Login”

Pass Fail N/A Untessted Tổng cộng

Bảng 6: Bảng kết quả màn hình “Login”

Hình 3 5 2: Kết quả testcase màn hình “Login”

3.5.3 Kết quả test màn hình “Home”

Pass Fail N/A Untessted Tổng cộng

Bảng 7: Bảng kết quả testcase màn hình “Home”

Hình 3 5 3: Kết quả testcase màn hình “Home”

3.5.4 Kết quả test màn hình “Items”

Pass Fail N/A Untessted Tổng cộng

Bảng 8: Bảng kết quả testcase màn hình “Items”

Hình 3 5 4: Kết quả testcase màn hình “Items”

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Trong quá trình thực hiện tập tin tại công ty TMA Bình Định, tôi đã nghiên cứu cơ sở lý thuyết và phát triển ứng dụng công nghệ, từ đó đạt được những kết quả đáng kể.

 Nắm cơ sở lý thuyết của Kiểm thử

 Các loại kiểm thử phần mềm

 Biết cách viết testcase và sử dụng cơ bản robot framework

 Áp dụng kiến thức đã học để test tự động cho trang web

 Hiểu được cách làm việc của một tester

 Chưa viết đầy đủ các trường hợp kiểm thử

 Khả năng viết Automation còn hạn chế

 Thực hiện kiểm thử trên nhiều trình duyệt web khác nhau

 Bổ sung các ràng buộc trong chương trình kiểm thử

Ngày đăng: 12/12/2023, 19:43

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

TÀI LIỆU LIÊN QUAN

w