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

Kiểm thử tự động katalon studio và ứng dụng cho hệ thống bán hàng trực tuyến nopcommerce

56 4 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 đề Kiểm Thử Tự Động Katalon Studio Và Ứng Dụng Cho Hệ Thống Bán Hàng Trực Tuyến Nopcommerce
Tác giả Đinh Lê Diểm Quỳnh
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
Thể loại báo cáo thực tập
Thành phố Đà Nẵng
Định dạng
Số trang 56
Dung lượng 2,68 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY TMA VÀ VI ̣ TRÍ TESTER (13)
    • 1.1. Giới thiệu tổng quát về công ty TMA Solutions (13)
      • 1.1.1. Giới thiệu về công ty (13)
      • 1.1.2. Tầm nhìn và sứ mệnh (14)
      • 1.1.3. Giá trị cốt lõi (14)
    • 1.2. Tổng quan về vị trí Tester (15)
      • 1.2.1. Mô tả về vị trí Tester (15)
      • 1.2.2. Các kỹ năng cần có của một Tester (0)
      • 1.2.3. Cơ hội nghề nghiệp (16)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (18)
    • 2.1. Tổng quan về kiểm thử phần mềm (18)
      • 2.1.1. Khái niệm kiểm thử phần mềm (0)
      • 2.1.2. Tại sao phải cần kiểm thử phần mềm (18)
      • 2.1.3. Mục tiêu của kiểm thử phần mềm (18)
      • 2.1.4. Các nguyên tắc của kiểm thử phần mềm (19)
      • 2.1.5. Vòng đời kiểm thử phần mềm (20)
      • 2.1.6. Phân biệt Bug/Defect/Error (21)
      • 2.1.7. Phân biệt QA & QC (21)
    • 2.2. Vòng đời phát triển phần mềm (21)
      • 2.2.1. Giai đoạn phát triển vòng đời phát triển phần mềm (0)
      • 2.2.2. Mô hình WaterFall (22)
      • 2.2.3. Mô hình V (24)
    • 2.3. Test types- Các loại kiểm thử phần mềm (24)
      • 2.3.1. Manual Testing (24)
      • 2.3.2. Automation Testing (25)
    • 2.4. Testing Methods- Các phương pháp kiểm thử phần mềm (25)
      • 2.4.1. White Box Testing (25)
      • 2.4.2. Black Box Testing (25)
      • 2.4.3. Grey Box Testing (25)
    • 2.5. Test level- Các cấp độ của kiểm thử (26)
      • 2.5.1. Unit Testing (26)
      • 2.5.2. Integration Testing (26)
      • 2.5.3. System Testing (27)
      • 2.5.4. Acceptance Testing (28)
    • 2.6. Kỹ thuật thiết kế Test Case (28)
      • 2.6.1. Equivalence partitioning – Phân vùng tương đương (28)
      • 2.6.2. Boundary value analysis - Phân tích giá trị biên (0)
      • 2.6.3. Decision Table Testing - Bảng ra quyết định (29)
      • 2.6.4. State Transition Testing - Chuyển đổi trạng thái (29)
    • 2.7. Vòng đời của Bug (29)
    • 2.8. Tổng quan về ngôn ngữ lập trình Java (31)
    • 2.9. Tổng quan về Katalon Studio (33)
      • 2.9.1. Công cụ Katalon Studio (33)
      • 2.9.2. Ưu điểm và nhược điểm (33)
  • CHƯƠNG 3: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG KATALON STUDIO VÀ ỨNG DỤNG CHO HỆ THỐNG BÁN HÀNG TRỰC TUYẾN NOPCOMMERCE (34)
    • 3.1. Ứng dụng nopCommerce (34)
      • 3.1.1. Giới thiệu về Ứng dụng nopCommerce (34)
      • 3.1.2. Giao diện của Ứng dụng nopCommerce (35)
    • 3.2. Đặc tả chức năng của nopCommerce (35)
      • 3.2.1. Đặc tả chức năng Register (35)
      • 3.2.2. Đặc tả chức năng Log in (36)
    • 3.3. Thiết kế Test Case (37)
  • CHƯƠNG 4: THỰC HIỆN KIỂM THỬ VÀ KẾT QUẢ KIỂM THỬ (39)
    • 4.1. Thực hiện kiểm thử (39)
      • 4.1.1. Chức năng Register (39)
      • 4.1.2. Chức năng Log in (41)
    • 4.2. Kết quả kiểm thử (44)
      • 4.2.1. Chức năng Register (44)
      • 4.2.2. Chức năng Log in (46)
    • 4.3. Bảng tổng hợp kết quả kiểm thử theo từng chức năng (48)
  • TÀI LIỆU THAM KHẢO (51)
  • PHỤ LỤC (53)

Nội dung

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

Giới thiệu tổng quát về công ty TMA Solutions

1.1.1 Giới thiệu về công ty

Công ty TMA Bình Định, với hơn 20 năm kinh nghiệm trong phát triển phần mềm và dịch vụ công nghệ, là một trong những công ty công nghệ hàng đầu tại Bình Định, Việt Nam TMA Bình Định đã khẳng định được uy tín vững chắc và trở thành đối tác tin cậy cho khách hàng trong và ngoài nước.

TMA Bình Định cam kết xây dựng môi trường làm việc chuyên nghiệp và sáng tạo, tập trung vào phát triển và truyền cảm hứng cho nhân viên Công ty coi trọng giá trị con người, tạo điều kiện thuận lợi để nhân viên phát triển nghề nghiệp và khám phá tiềm năng của bản thân.

TMA Bình Định sở hữu đội ngũ nhân viên giàu kinh nghiệm và đam mê công nghệ, chuyên cung cấp các giải pháp công nghệ đột phá và sáng tạo Công ty tập trung vào phát triển phần mềm, testing, đào tạo và nghiên cứu công nghệ thông tin, cùng nhiều lĩnh vực công nghệ khác, nhằm đáp ứng tốt nhất nhu cầu của khách hàng.

TMA Bình Định cam kết xây dựng mối quan hệ đối tác lâu dài và bền vững với khách hàng, đồng thời không ngừng tìm kiếm giải pháp tối ưu hóa hiệu suất và chất lượng để đáp ứng các yêu cầu kỹ thuật và kinh doanh phức tạp nhất.

TMA Bình Định, với tầm nhìn chiến lược và chất lượng dịch vụ vượt trội, luôn nỗ lực không ngừng để khẳng định vị thế là đơn vị tiên phong và đáng tin cậy trong lĩnh vực công nghệ thông tin.

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

TMA Bình Định hướng đến việc trở thành công ty công nghệ hàng đầu, góp phần phát triển ngành công nghiệp công nghệ thông tin khu vực Chúng tôi tạo ra môi trường làm việc sáng tạo và cung cấp giải pháp công nghệ đột phá, tối ưu hóa giá trị và mang lại lợi ích bền vững cho khách hàng và cộng đồng.

Sứ mệnh của TMA Bình Định là cung cấp giải pháp công nghệ đáng tin cậy và chất lượng cao, cam kết xây dựng mối quan hệ đối tác lâu dài Chúng tôi tạo ra giá trị bền vững cho khách hàng thông qua dịch vụ và sản phẩm công nghệ chất lượng, đáp ứng nhanh chóng và linh hoạt các yêu cầu của họ.

Chúng tôi cam kết cung cấp sản phẩm và dịch vụ với chất lượng cao, không chỉ đáp ứng yêu cầu kỹ thuật mà còn liên tục cải thiện hiệu suất và chất lượng các giải pháp công nghệ.

TMA Bình Định xem sự sáng tạo là yếu tố then chốt trong công việc, khuyến khích đổi mới và tư duy sáng tạo Chúng tôi cam kết phát triển các giải pháp công nghệ đột phá nhằm hỗ trợ khách hàng và cộng đồng vượt qua thách thức cũng như khai thác cơ hội.

TMA Bình Định là đối tác đáng tin cậy, cam kết xây dựng mối quan hệ lâu dài với khách hàng Chúng tôi lắng nghe và hiểu rõ yêu cầu của khách hàng, từ đó cung cấp các giải pháp phù hợp và hiệu quả, giúp khách hàng đạt được mục tiêu của mình Sự tận tâm của chúng tôi tạo niềm tin vững chắc trong mỗi dự án hợp tác.

TMA Bình Định chú trọng phát triển cá nhân và cộng đồng, đặt giá trị con người lên hàng đầu Chúng tôi tạo ra môi trường làm việc cởi mở và thách thức, giúp nhân viên phát triển kỹ năng và khám phá tiềm năng của bản thân Đồng thời, chúng tôi cam kết thực hiện trách nhiệm xã hội và đóng góp vào sự phát triển bền vững của cộng đồng.

Tổng quan về vị trí Tester

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

Tester là những chuyên gia kiểm tra chất lượng phần mềm, thực hiện các thử nghiệm để phát hiện lỗi, sai sót và các vấn đề ảnh hưởng đến chất lượng sản phẩm Vị trí tester đóng vai trò quan trọng trong quy trình phát triển phần mềm, đảm bảo rằng sản phẩm đáp ứng các tiêu chuẩn chất lượng cao nhất.

Phân tích và xác định yêu cầu là bước đầu tiên trong quy trình phát triển phần mềm, giúp làm rõ nhiệm vụ phát triển sản phẩm cần thiết, thay vì chỉ tập trung vào phương thức thực hiện Qua đó, chúng ta có thể tạo ra những sản phẩm phù hợp nhất với nhu cầu của khách hàng.

Kiểm thử phần mềm và phát hiện lỗi là kỹ năng quan trọng hàng đầu của kiểm thử viên Trong quá trình kiểm thử, tester thực hiện các Testcase dựa trên kịch bản hoặc danh sách kiểm tra để xác minh hệ thống, đảm bảo rằng các yêu cầu đã được xác định được đáp ứng và xác nhận kết quả thành công hay thất bại.

Để hiểu rõ yêu cầu sản phẩm từ khách hàng, các tester cần tạo ra các biểu mẫu đánh giá gửi đến khách hàng, bao gồm phần nhận xét về ưu điểm và hạn chế trong quá trình trải nghiệm Ngoài ra, việc thu thập thông tin trực tiếp qua các cuộc gọi phản hồi hoặc gặp mặt sẽ giúp giải đáp nhanh chóng các thắc mắc và vấn đề của khách hàng.

Chuẩn bị báo cáo thử nghiệm phần mềm là bước quan trọng để nhóm thiết kế nắm bắt thông tin lỗi sản phẩm và cải thiện nhanh chóng Nhân viên tester cần lập báo cáo một cách chính xác và nhanh gọn, vì nếu không khắc phục kịp thời, sẽ gây bất tiện cho người dùng và tốn kém chi phí sửa chữa Các báo cáo nên bao gồm số liệu cụ thể, biểu đồ và tính toán chi tiết Đối với những lỗi trừu tượng và khó hiểu, cần tổ chức các buổi thảo luận chuyên sâu để giải quyết.

Ngăn ngừa lỗi phần mềm là một yếu tố quan trọng đối với kiểm thử viên, không chỉ dừng lại ở việc phát hiện lỗi mà còn cần phải ngăn chặn chúng ngay từ đầu Điều này đòi hỏi tester phải có khả năng quan sát tinh tế và đánh giá quy trình, tiến độ phát triển sản phẩm Việc ngăn chặn lỗi từ giai đoạn đầu mang lại nhiều lợi ích và giá trị bền vững cho doanh nghiệp.

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

Nhân viên kiểm thử phần mềm cần có kiến thức chuyên sâu về kỹ thuật và nhiều kỹ năng quan trọng Để thành công trong lĩnh vực này, người học phải kiên trì, chăm chỉ và có khả năng phân tích, đánh giá Các kỹ năng cơ bản bao gồm thiết kế, lập trình và hiểu biết về các ứng dụng phần mềm khác nhau, giúp Tester chẩn đoán chính xác các vấn đề của sản phẩm.

Khả năng sắp xếp công việc hợp lý là rất quan trọng đối với nhân viên Tester, vì họ thường phải giao tiếp với nhiều người và giải quyết nhiều vấn đề trong quá trình kiểm thử sản phẩm Nếu công việc bị chồng chéo hoặc sắp xếp không khoa học, như trong việc lưu trữ thông tin hay báo cáo công việc, sẽ dẫn đến việc bỏ lỡ các chi tiết quan trọng Điều này không chỉ tốn thời gian mà còn làm tăng công sức cần thiết để kiểm thử lại.

Nhân viên Tester cần viết báo cáo lỗi chi tiết sau khi kiểm thử phần mềm và phát hiện lỗi Báo cáo này phải rõ ràng và cụ thể để người phụ trách, nhóm thiết kế hoặc lập trình viên có thể nhanh chóng nắm bắt vấn đề Việc này giúp đơn giản hóa quá trình xử lý và khắc phục lỗi hiệu quả hơn.

Khả năng viết test case phù hợp là yếu tố quan trọng trong quy trình kiểm thử phần mềm Các test case giúp nhân viên Tester thực hiện công việc hiệu quả và tùy thuộc vào từng trường hợp cụ thể Hiệu suất làm việc của nhóm tester sẽ được cải thiện đáng kể nếu các test case được viết rõ ràng và phù hợp.

Khả năng giao tiếp hiệu quả là yếu tố quan trọng đối với một tester, vì bạn sẽ cần tương tác với nhiều thành viên trong công ty như manager, leader, coder và BA Mục tiêu chính là phát hiện và thông báo các thiếu sót để các bộ phận chuyên môn có thể khắc phục Do đó, giao tiếp rõ ràng và chặt chẽ là vũ khí lớn nhất của bạn trong việc trình bày vấn đề Bạn cần đảm bảo hiểu rõ yêu cầu của dự án, mô tả các tiêu chí kiểm tra, giải thích các bước liên quan đến vấn đề và không ngần ngại đặt câu hỏi để làm rõ mọi khía cạnh.

Cơ hội nghề nghiệp cho tester trong lĩnh vực phát triển phần mềm và công nghệ thông tin rất phong phú và đầy tiềm năng Các tester có thể khám phá nhiều vị trí khác nhau, từ kiểm thử phần mềm đến quản lý chất lượng, mang lại nhiều lựa chọn cho sự nghiệp của họ.

Tester chuyên nghiệp (Software Tester) có cơ hội phát triển sự nghiệp sâu rộng trong lĩnh vực kiểm thử phần mềm Họ có thể tham gia vào các dự án phát triển phần mềm tại các công ty công nghệ hoặc các công ty phần mềm chuyên nghiệp.

Kiểm thử tự động giúp Tester tập trung vào phát triển và triển khai kịch bản kiểm thử bằng các công cụ và kỹ thuật tự động hóa, từ đó giảm thời gian và công sức trong quá trình thử nghiệm, đồng thời nâng cao hiệu quả kiểm thử.

Chuyên gia kiểm thử phần mềm là những người có khả năng tư vấn, đào tạo và hỗ trợ các nhóm phát triển trong việc áp dụng quy trình và kỹ thuật kiểm thử hiệu quả Họ đóng vai trò quan trọng trong việc nâng cao chất lượng sản phẩm phần mềm thông qua việc cải thiện quy trình kiểm thử.

CƠ SỞ LÝ THUYẾT

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

2.1.1 Khái niệm kiểm thử phần mềm

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 phần mềm 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.

2.1.2 Tại sao phải cần kiểm thử phần mềm

Kiểm thử phần mềm đóng vai trò quan trọng trong việc phát hiện sớm các lỗi và sự cố, giúp giải quyết chúng trước khi sản phẩm được giao Việc kiểm tra kỹ lưỡng đảm bảo sản phẩm phần mềm đạt độ tin cậy, bảo mật và hiệu suất cao, từ đó tiết kiệm thời gian, giảm chi phí và nâng cao sự hài lòng của khách hàng.

2.1.3 Mục tiêu của kiểm thử phần mềm

- Xác định chất lượng của sản phẩm (Ensure product quality): xác định phần mềm đáp ứng các tiêu chuẩn chất lượng và hoạt động tin cậy

- Ngăn chặn phòng tránh lỗi (Defect prevention and detection): Xác định sớm và giải quyết lỗi, giảm khả năng lỗi khi đến tay người dùng cuối

- Sẵn sàng tích hợp các thành phần (Integration and component verification): Các thành phần phần mềm riêng lẻ hoạt động liền mạch với nhau khi được tích hợp

Cung cấp thông tin để ra quyết định là rất quan trọng, vì kết quả thử nghiệm và số liệu trong quá trình kiểm thử mang lại giá trị thiết thực cho các bên liên quan trong dự án Những thông tin này giúp đánh giá mức độ sẵn sàng cho giai đoạn phát triển tiếp theo và hỗ trợ trong việc đánh giá rủi ro.

Xác minh và xác thực yêu cầu của người dùng là quá trình quan trọng để đảm bảo phần mềm đáp ứng đầy đủ các kỳ vọng về chức năng và phi chức năng mà người dùng cuối đã xác định Việc này giúp nâng cao chất lượng sản phẩm và tạo sự hài lòng cho người sử dụng.

Xây dựng sự tự tin trong công việc là quá trình phát hiện lỗi và xác thực chức năng, nhằm đảm bảo phần mềm hoạt động tin cậy, mạnh mẽ và đáp ứng đầy đủ các yêu cầu đề ra.

2.1.4 Các nguyên tắc của kiểm thử phần mềm

Kiểm thử phần mềm chỉ có thể xác nhận sự tồn tại của lỗi, nhưng không thể chứng minh rằng sản phẩm không còn lỗi Điều này có nghĩa là, bất kể số lần kiểm thử, sản phẩm vẫn có thể xảy ra lỗi Vì vậy, việc thiết kế các trường hợp kiểm thử (test case) hiệu quả để phát hiện càng nhiều lỗi càng tốt là rất quan trọng.

Kiểm thử toàn bộ là không khả thi, đặc biệt trong các dự án lớn Thay vào đó, chúng ta nên áp dụng phân tích rủi ro và xác định độ ưu tiên để lựa chọn các ca kiểm thử phù hợp nhất Việc sử dụng các kỹ thuật kiểm thử giúp tối ưu hóa quy trình, đảm bảo hiệu quả và chất lượng sản phẩm.

Kiểm thử phần mềm càng sớm, càng tiết kiệm thời gian và chi phí Bắt đầu thử nghiệm trong giai đoạn đầu của vòng đời phát triển giúp phát hiện lỗi nhanh chóng, từ đó đảm bảo phần mềm được chuyển giao đúng thời gian và đạt chất lượng mong muốn.

Phần lớn lỗi trong hệ thống thường tập trung vào các module và thành phần chức năng chính, phù hợp với nguyên lý Pareto, theo đó 80% lỗi xuất hiện trong chỉ 20% tính năng.

Nghịch lý của việc sử dụng thuốc trừ sâu trong kiểm thử phần mềm cho thấy rằng việc lặp lại một bộ dữ liệu kiểm tra không thể phát hiện lỗi mới Các lỗi đã được phát hiện và sửa chữa trong các giai đoạn trước đó, do đó, việc cập nhật thường xuyên các bộ dữ liệu kiểm tra là cần thiết để phát hiện ra những lỗi mới.

Phần mềm hoàn hảo không tồn tại: Dù phần mềm có đạt 99% không có lỗi, nhưng vẫn có thể không đáp ứng được yêu cầu của khách hàng nếu hệ thống được thiết kế không đúng cách Kiểm thử phần mềm không chỉ nhằm phát hiện lỗi mà còn để xác định xem phần mềm có thực sự đáp ứng được nhu cầu nghiệp vụ của khách hàng hay không.

Kiểm thử phần mềm cần được điều chỉnh theo ngữ cảnh, bao gồm cách tiếp cận, phương pháp và kỹ thuật, tùy thuộc vào loại ứng dụng Việc này nhằm đảm bảo kiểm thử phù hợp với các rủi ro có thể xảy ra trong quá trình sử dụng và môi trường ứng dụng.

10 không thể áp dụng bộ kiểm thử trên môi trường Mobile app để thực hiện kiểm thử lên một Web trên PC được

2.1.5 Vòng đời kiểm thử phần mềm

- Các giai đoạn trong vòng đời kiểm thử phần mềm:

Bước 1 trong quy trình kiểm thử là lập kế hoạch kiểm thử, nơi xác định phạm vi và mục tiêu của kiểm thử Giai đoạn này bao gồm việc xác định tài nguyên cần thiết, thiết kế kịch bản kiểm thử, và lên lịch thực hiện kiểm thử Ngoài ra, kế hoạch kiểm thử cũng cần xác định các tiêu chí chấp nhận và tiêu chí kết thúc để đảm bảo quy trình diễn ra suôn sẻ.

Trong giai đoạn thiết kế kiểm thử, các kịch bản kiểm thử được xây dựng dựa trên yêu cầu kiểm thử và thiết kế hệ thống hoặc phần mềm Quá trình này bao gồm việc xác định dữ liệu kiểm thử, các bước thực hiện kiểm thử, điều kiện cần thiết để kiểm thử, và kết quả mong đợi.

Trong bước 3 của quy trình kiểm thử, các tester thực hiện các kịch bản kiểm thử đã được thiết kế trước đó Họ tiến hành từng bước kiểm thử, nhập dữ liệu và ghi lại kết quả Cuối cùng, các tester đánh giá tính chính xác của phần mềm dựa trên các tiêu chí đã được xác định.

Vòng đời phát triển phần mềm

2.2.1 Giai đoạn phát triển vòng đời phát triển phần mềm

Bước đầu tiên trong quy trình phát triển phần mềm là thu thập yêu cầu, nơi đội ngũ tập trung vào việc phân tích và xác định rõ ràng các yêu cầu từ khách hàng Những yêu cầu này sẽ được ghi chép lại trong tài liệu yêu cầu, nhằm đảm bảo rằng các chức năng, ràng buộc và mong đợi của phần mềm được hiểu một cách chính xác.

Trong giai đoạn thiết kế phần mềm, các nhà phát triển tạo ra bản thiết kế chi tiết dựa trên các yêu cầu đã thu thập Thiết kế này bao gồm cả thiết kế hệ thống và thiết kế chi tiết, xác định cấu trúc, giao diện, cơ sở dữ liệu và kiến trúc tổng quan của phần mềm.

Giai đoạn phát triển là quá trình xây dựng và lập trình phần mềm dựa trên thiết kế đã được xác định Trong giai đoạn này, các nhà phát triển sử dụng ngôn ngữ lập trình, công cụ và kỹ thuật phát triển phần mềm để triển khai các chức năng và tính năng cần thiết cho sản phẩm.

Trong giai đoạn kiểm thử, phần mềm được kiểm tra để đảm bảo hoạt động chính xác và đáp ứng các yêu cầu đã đề ra Các kỹ thuật kiểm thử, bao gồm kiểm thử chức năng, hiệu năng, bảo mật và giao diện người dùng, được áp dụng nhằm phát hiện lỗi và nâng cao chất lượng phần mềm.

Bước 5 trong quy trình phát triển phần mềm là triển khai và vận hành, nơi phần mềm được cài đặt vào môi trường thực tế Trong giai đoạn này, các quy trình và hệ thống cần thiết được thiết lập để duy trì và hỗ trợ phần mềm trong suốt quá trình sử dụng.

Bước 6 trong quy trình phát triển phần mềm là giai đoạn bảo trì, nơi tập trung vào việc duy trì và nâng cấp phần mềm sau khi đã triển khai Giai đoạn này bao gồm việc sửa lỗi, cải thiện tính năng, cũng như điều chỉnh và mở rộng phần mềm để đáp ứng nhu cầu và yêu cầu mới của người dùng.

Trong pha đầu tiên của quá trình phát triển ứng dụng, việc xác định các yêu cầu là rất quan trọng Các yêu cầu này được phân tích một cách có hệ thống nhằm tạo ra một tài liệu cụ thể cho các giai đoạn phát triển sau Mục tiêu chính là xây dựng một tài liệu mô tả các yêu cầu cần thiết để xác định chức năng của ứng dụng, tuy nhiên không đi vào chi tiết về cách thức hoạt động của nó.

Trong giai đoạn tiếp theo, hệ thống sẽ được phân tích nhằm xây dựng một mô hình và logic phù hợp, phục vụ cho việc ứng dụng hiệu quả.

Trong giai đoạn thiết kế, chúng ta tập trung vào việc đáp ứng các yêu cầu kỹ thuật như ngôn ngữ lập trình, tầng dữ liệu và dịch vụ Một bản thiết kế điển hình cần được hoàn thiện một cách chi tiết, mô tả chính xác logic của hệ thống đã được phân tích và cách thức thực hiện nó.

Công việc viết mã diễn ra ở pha thứ tư, nơi thực thi toàn bộ mô hình, logic của hệ thống và các dịch vụ tích hợp đã được xác định trong các pha trước đó.

Trong pha thứ năm của quy trình kiểm thử, đội ngũ QA, Beta tester và các Tester sẽ tập trung vào việc xác định và báo cáo các lỗi trong hệ thống cần được khắc phục Thông thường, trong giai đoạn này sẽ có một số công việc lặp lại từ pha Viết mã, nhằm đảm bảo rằng các lỗi kỹ thuật được phát hiện sẽ được xử lý triệt để.

- Vận hành: Cuối cùng, ứng dụng sẽ được triển khai trong môi trường thực tế

Pha vận hành không chỉ đơn thuần là triển khai dự án, mà còn bao gồm việc hỗ trợ và bảo trì, nhằm đảm bảo ứng dụng luôn hoạt động hiệu quả và được cập nhật thường xuyên.

Trong mô hình V, phát triển và đảm bảo chất lượng diễn ra song song mà không có giai đoạn kiểm thử tách biệt Kiểm thử bắt đầu ngay từ giai đoạn thu thập yêu cầu, với các hoạt động xác minh và xác nhận được thực hiện liên tục.

Hoạt động phát triển thường gặp khó khăn trong việc thực hiện thử nghiệm, nhưng mô hình này cho thấy rằng thử nghiệm có thể được áp dụng ở mọi giai đoạn của quá trình phát triển.

- Phía bên phải thể hiện các hoạt động kiểm thử hoặc Giai đoạn Xác nhận Chúng ta sẽ bắt đầu đi từ phía dưới.

Test types- Các loại kiểm thử phần mềm

Manual testing là quá trình kiểm tra phần mềm hoàn toàn bằng tay bởi người tester, nhằm phát hiện lỗi trong phần mềm đang được phát triển Trong quá trình này, tester thực hiện các trường hợp kiểm thử và lập báo cáo kiểm thử hoàn toàn thủ công, không sử dụng bất kỳ công cụ tự động nào.

Kiểm thử tự động (Automation testing) là phương pháp giúp tăng cường hiệu quả kiểm thử bằng cách sử dụng các công cụ hỗ trợ để thực hiện các kịch bản kiểm thử đã được viết sẵn Phương pháp này không chỉ tiết kiệm thời gian mà còn cho phép thực hiện nhiều lần các kịch bản kiểm thử, bao gồm cả những bài kiểm tra khó thực hiện bằng tay như kiểm thử hiệu suất (performance testing) và kiểm thử chịu tải (stress testing).

Testing Methods- Các phương pháp kiểm thử phần mềm

Trong kiểm thử hộp trắng, người kiểm thử phân tích cấu trúc mã và thuật toán của chương trình để thiết kế các trường hợp kiểm thử phù hợp Việc truy cập vào mã nguồn cho phép người kiểm thử kiểm tra và đánh giá hiệu suất của chương trình, từ đó nâng cao chất lượng sản phẩm.

Kiểm thử hộp đen không đòi hỏi người kiểm thử phải có kiến thức về mã nguồn hoặc thuật toán của chương trình Phương pháp này tập trung vào việc kiểm tra các chức năng của hệ thống dựa trên các "Đặc tả yêu cầu" Các trường hợp kiểm thử thường được xây dựng xung quanh những yêu cầu này để đảm bảo hệ thống hoạt động đúng như mong đợi.

Kiểm thử hộp đen là phương pháp kiểm tra phần mềm dựa trên các đầu vào và đầu ra của chương trình, mà không cần quan tâm đến mã nguồn bên trong.

- Kiểm thử hộp xám là một phương pháp kiểm thử phần mềm được kết hợp giữa phương pháp kiểm thử hộp đen và phương pháp kiểm thử hộp trắng

Trong kiểm thử hộp xám, tester có thể truy cập một phần cấu trúc bên trong sản phẩm, cho phép họ hiểu rõ hơn về cấu trúc dữ liệu và thuật toán của chương trình.

16 mục đích là để thiết kế test case, nhưng khi test thì test như là người dùng cuối hoặc là ở mức hộp đen.

Test level- Các cấp độ của kiểm thử

Hình 4 Các cấp độ kiểm thử

Kiểm thử đơn vị là một loại kiểm thử phần mềm, trong đó các thành phần riêng lẻ như hàm, lớp và phương thức của phần mềm được kiểm tra Loại kiểm thử này được thực hiện trong quá trình phát triển ứng dụng nhằm đảm bảo tính chính xác và ổn định của từng phần.

- Sử dụng phương pháp: Kiểm thử hộp trắng

- Người thực hiện: Thường là dev thực hiện

Kiểm thử tích hợp là quá trình kiểm tra các module phần mềm hoặc chức năng riêng lẻ sau khi chúng được tích hợp lại với nhau Trong mỗi dự án phần mềm, các module thường được phát triển bởi nhiều lập trình viên khác nhau, do đó, kiểm thử tích hợp chủ yếu tập trung vào việc kiểm tra sự tương tác và luồng dữ liệu giữa các module.

- Sử dụng phương pháp: Kiểm thử hộp xám

- Người thực hiện: Thường là Tester thực hiện

Phương pháp Top Down là cách kiểm tra diễn ra từ cấp cao nhất đến cấp thấp hơn trong hệ thống Quy trình bắt đầu với việc kiểm tra các đơn vị cao nhất, sau đó tiến hành kiểm tra từng bước các cấp đơn vị thấp hơn.

Phương pháp Bottom Up là một cách tiếp cận ngược lại với phương pháp Top Down, trong đó các đơn vị cấp thấp được kiểm tra trước, sau đó mới đến các đơn vị cấp cao hơn.

+ Phương pháp Sandwich/Hybrid: Là sự kết hợp của hai phương pháp Top

Trong phương pháp kiểm thử phần mềm Down và Bottom Up, các module hàng đầu được kiểm tra đồng thời với các module thấp hơn Các module thấp hơn cũng được tích hợp với các module hàng đầu và thực hiện kiểm thử để đảm bảo tính chính xác và hiệu quả của toàn bộ hệ thống.

- Khái niệm: Kiểm thử hệ thống là hoạt động kiểm thử lên toàn bộ chức năng và giao diện của hệ thống

- Sử dụng phương pháp: Kiểm thử hộp xám

- Người thực hiện: Thường là Tester thực hiện

- Phân loại: Dưới đây là một số loại kiểm thử thường được thực hiện trong System Test

Smoke Testing là các bài kiểm tra cơ bản nhằm xác minh chức năng của ứng dụng Mục tiêu của chúng là thực hiện nhanh chóng để đảm bảo rằng các tính năng chính của hệ thống hoạt động đúng như mong đợi.

Sanity Testing là quá trình kiểm tra các chức năng quan trọng cơ bản của hệ thống nhằm đảm bảo rằng hệ thống hoạt động đúng cách sau khi có các thay đổi nhỏ hoặc sửa lỗi.

Việc thực hiện re-testing nhằm xác nhận rằng các trường hợp thử nghiệm đã Failed trước đó sẽ được Passed trong lần kiểm tra cuối cùng, sau khi các lỗi đã được khắc phục.

Kiểm thử hồi quy là một quy trình quan trọng nhằm đảm bảo rằng các sửa chữa, thay đổi hoặc cập nhật chức năng không gây ra lỗi mới trong các phần đã được chỉnh sửa.

+ Security Testing là việc phát hiện ra các lỗ hổng, rủi ro trong một ứng dụng phần mềm

Recovery Testing là một kỹ thuật kiểm thử phần mềm nhằm xác minh khả năng phục hồi của hệ thống sau khi gặp phải các lỗi như sự cố phần mềm, sự cố phần cứng, hoặc lỗi mạng Kỹ thuật này giúp đảm bảo rằng phần mềm có thể khôi phục về trạng thái ổn định và tiếp tục hoạt động bình thường sau khi xảy ra sự cố.

+ Usability Test là một loại kiểm thử được thực hiện từ góc độ người dùng cuối để xác định xem hệ thống có dễ sử dụng hay không

+ Performance Test được sử dụng để kiểm tra tốc độ, thời gian phản hồi, độ ổn định, độ tin cậy của ứng dụng phần mềm

+ Load Test xác định cách ứng dụng phần mềm hoạt động trong khi được nhiều người dùng truy cập đồng thời

+ Stress Test đo lường phần mềm về độ bền và khả năng xử lý lỗi của nó trong điều kiện tải cực kỳ nặng

Kiểm thử chấp nhận là quá trình đánh giá xem phần mềm có đáp ứng đầy đủ các yêu cầu của khách hàng hay không, đồng thời xác định liệu khách hàng có chấp nhận sản phẩm cuối cùng hay không.

- Sử dụng phương pháp: Kiểm thử hộp đen

- Người thực hiện: Khách hàng hoặc bên thứ 3

- Phân loại: Trong kiểm thử chấp nhận lại chia ra làm 2 loại

Kiểm thử Alpha thường do các thành viên trong tổ chức thực hiện và diễn ra tại nơi sản xuất phần mềm Đây là một hình thức kiểm thử nội bộ, nhằm đảm bảo chất lượng sản phẩm trước khi phần mềm được phát hành cho khách hàng.

Beta test là giai đoạn thử nghiệm được thực hiện bởi người dùng cuối, thường là khách hàng hoặc đội ngũ kiểm thử thuê ngoài Quá trình này diễn ra tại địa điểm của khách hàng, nơi người dùng sẽ kiểm tra và sử dụng hệ thống trong môi trường riêng của họ, không phải tại nơi phát triển phần mềm.

Kỹ thuật thiết kế Test Case

2.6.1 Equivalence partitioning – Phân vùng tương đương

Phương pháp chia các điều kiện đầu vào thành những vùng tương đương giúp tối ưu hóa quá trình kiểm thử Tất cả các giá trị trong một vùng tương đương sẽ mang lại kết quả đầu ra giống nhau, cho phép chúng ta chỉ cần kiểm tra một giá trị đại diện trong mỗi vùng.

- Thường được tiến hành theo 2 bước:

+ Bước 1: phân các vùng dữ liệu thành các vùng điều kiện tương đương

+ Bước 2: xác định các ca kiểm thử

2.6.2 Boundary value analysis - Phân tích giá trị biên

Kiểm thử phần mềm là một kỹ thuật quan trọng, trong đó các test case được thiết kế dựa trên các giá trị biên Khi dữ liệu đầu vào nằm trong giới hạn giá trị biên, quá trình này được gọi là Positive testing Ngược lại, nếu dữ liệu đầu vào vượt ra ngoài giới hạn giá trị biên, đây được xem là Negative testing.

2.6.3 Decision Table Testing - Bảng ra quyết định

Bảng quyết định là một kỹ thuật hiệu quả khi đầu vào có nhiều điều kiện và nhiều hành động đầu ra Kỹ thuật này giúp rút ngắn thời gian thử nghiệm trong khi vẫn đảm bảo độ bao phủ cần thiết cho việc kiểm tra.

2.6.4 State Transition Testing - Chuyển đổi trạng thái

Phương pháp kiểm thử này dựa vào việc thay đổi điều kiện đầu vào để quan sát sự thay đổi trạng thái trong phần mềm Kỹ thuật này yêu cầu tester cung cấp cả giá trị đầu vào hợp lệ và không hợp lệ, từ đó đánh giá cách hệ thống xử lý các tình huống khác nhau.

Vòng đời của Bug

Vòng đời của một bug có thể thay đổi dựa trên hệ thống theo dõi lỗi và phương pháp phát triển được áp dụng Dưới đây là sơ đồ tổng quát về vòng đời của một bug.

- Mới (New): Bug được báo cáo hoặc phát hiện và ở trạng thái ban đầu Chưa được xem xét hoặc giao cho ai đó

Báo cáo lỗi sẽ được xem xét và giao cho một nhà phát triển hoặc nhóm phát triển có trách nhiệm xử lý Bug đã được chỉ định cho một cá nhân hoặc nhóm cụ thể để đảm bảo việc giải quyết hiệu quả.

Người phát triển đang trong quá trình xử lý bug, tiến hành phân tích vấn đề và thực hiện các thay đổi cần thiết để khắc phục sự cố.

Sau khi sửa lỗi, các nhà phát triển đánh dấu bug là "Sẵn sàng kiểm thử" Bug này sau đó được chuyển giao cho nhóm kiểm thử hoặc người kiểm thử để xác nhận xem việc sửa chữa đã giải quyết được vấn đề hay chưa.

Nhóm kiểm thử thực hiện việc kiểm tra các lỗi đã được sửa để xác nhận xem vấn đề đã được giải quyết thành công hay chưa Nếu lỗi được khắc phục, bug sẽ được đánh dấu là "Đã xác nhận" hoặc "Đóng".

Bug đã được xem là đã sửa và đóng lại, không còn hoạt động Thông tin về giải pháp thường được ghi chú lại để tham khảo trong tương lai.

Các giai đoạn bổ sung:

Khi một lỗi đã được đóng lại, có thể phát hiện rằng vấn đề vẫn tồn tại hoặc chưa được giải quyết triệt để Trong những trường hợp như vậy, lỗi có thể được mở lại và chuyển về trạng thái "Đang xử lý" để tiến hành sửa chữa lần nữa.

Trong quá trình xem xét báo cáo lỗi, có thể xảy ra trường hợp báo cáo bị từ chối nếu được xác định là không hợp lệ hoặc không phải là lỗi thực sự Trạng thái của bug sẽ được cập nhật tương ứng trong những tình huống này, đặc biệt khi hành vi được báo cáo là hợp lệ hoặc do hiểu lầm, sai sót của người dùng.

Trong một số tình huống, một bug có thể được công nhận là vấn đề hợp lệ nhưng có ưu tiên thấp hoặc không đủ quan trọng để khắc phục ngay lập tức Khi đó, bug sẽ được đánh dấu là "Hoãn lại", và nhóm phát triển sẽ lên kế hoạch giải quyết nó trong phiên bản hoặc chu kỳ phát triển tiếp theo.

Tổng quan về ngôn ngữ lập trình Java

Java là một ngôn ngữ lập trình hướng đối tượng, được thiết kế cho môi trường phân tán và phát triển phần mềm Ngôn ngữ này độc lập với nền tảng, cho phép người dùng phát triển ứng dụng mà không bị ràng buộc bởi phần cứng hay hệ điều hành cụ thể Với Java, bạn có thể "viết một lần, chạy ở mọi nơi", mang lại sự linh hoạt và tiện lợi trong việc triển khai ứng dụng.

- Các tính năng của Java:

Trong Java, mọi thứ đều được xem như một đối tượng, điều này giúp ngôn ngữ này dễ dàng mở rộng và bảo trì Java được thiết kế dựa trên mô hình đối tượng, mang lại tính linh hoạt và khả năng phát triển hiệu quả cho các ứng dụng.

Java là một ngôn ngữ lập trình độc lập với nền tảng, vì khi biên dịch, nó không chuyển đổi thành ngôn ngữ máy cụ thể mà tạo ra mã byte Mã byte này sẽ được thông dịch bởi máy ảo Java (JVM) trên bất kỳ nền tảng nào mà nó được chạy, đảm bảo tính linh hoạt và khả năng tương thích cao.

+ Đơn giản: Java được thiết kế đơn giản, dễ học Chỉ hiểu khái niệm cơ bản về

OOP Java, để trở thành master về java rất dễ

Java cung cấp tính năng bảo mật mạnh mẽ, cho phép phát triển các hệ thống an toàn, không bị virus và giả mạo Việc xác thực trong Java dựa trên công nghệ mã hóa khóa công khai, đảm bảo tính toàn vẹn và bảo mật cho dữ liệu.

Java có khả năng kiến trúc trung lập nhờ vào trình biên dịch tạo ra các tệp đối tượng có định dạng độc lập, cho phép mã biên dịch có thể chạy trên nhiều bộ vi xử lý khác nhau thông qua hệ điều hành Java.

Java nổi bật với tính di động nhờ vào kiến trúc trung lập và khả năng thực thi trên nhiều nền tảng Các trình biên dịch Java được phát triển bằng ANSI C và tuân thủ tiêu chuẩn Subset POSIX, cho phép người dùng chuyển đổi Byte Code của Java sang bất kỳ nền tảng nào một cách dễ dàng.

Java luôn nỗ lực loại trừ các lỗi bằng cách thực hiện kiểm tra lỗi cả trong quá trình biên dịch và tại thời điểm chạy, giúp tăng cường tính ổn định và độ tin cậy của ứng dụng.

Đa luồng cho phép phát triển các chương trình thực hiện nhiều tác vụ đồng thời, giúp các nhà phát triển xây dựng ứng dụng tương tác mượt mà hơn.

+ Thông dịch: Các mã byte Java được dịch trực tiếp tới các máy tính gốc và không được lưu trữ ở bất cứ đâu

+ Hiệu năng cao: Khi sử dụng trình biên dịch Just-In-Time, Java cho phép thực hiện hiệu năng cao

+ Phân tán: Java được sử dụng thiết kế cho môi trường phân tán của Internet

Java là một ngôn ngữ lập trình năng động hơn C hoặc C++ vì nó được thiết kế để thích ứng với các môi trường đang phát triển Các chương trình Java có khả năng xử lý lượng lớn thông tin một cách hiệu quả.

23 tại runtime có thể được sử dụng để xác minh hay giải quyết các truy cập vào các đối tượng tại runtime.

Tổng quan về Katalon Studio

Katalon Studio là nền tảng thử nghiệm tự động toàn diện, hỗ trợ triển khai giải pháp thử nghiệm cho Windows Desktop, Web, API và Mobile Được xây dựng dựa trên Selenium và Appium, Katalon Studio giúp người dùng dễ dàng bắt đầu với kiểm thử tự động, giảm thiểu nỗ lực và chuyên môn cần thiết để học và tích hợp cho nhu cầu thử nghiệm.

Hình 7 Công cụ Katalon Studio

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

• Không yêu cầu license và bảo trì (có sẵn các dịch vụ hỗ trợ chuyên dụng có trả tiền nếu cần)

• Tích hợp các framework và tính năng cần thiết để tạo và thực hiện các trường hợp thử nghiệm nhanh

• Được xây dựng dựa trên framework Selenium nhưng đã lược bỏ yêu cầu kỹ năng lập trình nâng cao cần thiết cho Selenium

• Framework mới nổi với một cộng đồng phát triển nhanh chóng

• Các tính năng vẫn đang phát triển

• Ngôn ngữ kịch bản hạn chế: chỉ hỗ trợ cho Java/ Groovy

CÔNG CỤ KIỂM THỬ TỰ ĐỘNG KATALON STUDIO VÀ ỨNG DỤNG CHO HỆ THỐNG BÁN HÀNG TRỰC TUYẾN NOPCOMMERCE

Ứng dụng nopCommerce

3.1.1 Giới thiệu về Ứng dụng nopCommerce

NopCommerce là một ứng dụng bán hàng trực tuyến mã nguồn mở, được phát triển trên nền tảng ASP.NET Core, mang đến giải pháp quản lý gian hàng, khách hàng, danh sách yêu thích và khuyến mãi Nó hỗ trợ nhiều cửa hàng, nhà phân phối, kho hàng, cùng với tính năng đa ngôn ngữ, tiền tệ và thuế NopCommerce cũng tích hợp các cổng thanh toán phổ biến như PayPal, giúp doanh nghiệp và cá nhân xây dựng các trang web thương mại điện tử chất lượng cao và hoàn toàn tùy chỉnh.

- Dưới đây là một số đặc điểm và tính năng nổi bật của nopCommerce:

nopCommerce là một nền tảng mã nguồn mở miễn phí, cho phép người dùng tùy chỉnh và sử dụng theo nhu cầu kinh doanh của mình Bạn có quyền thay đổi mã nguồn để phát triển và tối ưu hóa trải nghiệm của doanh nghiệp.

nopCommerce cung cấp khả năng tùy chỉnh linh hoạt cho giao diện người dùng, chức năng, quản lý sản phẩm và hệ thống thanh toán Nhờ đó, bạn có thể tạo ra một trải nghiệm mua sắm trực tuyến độc đáo và phù hợp với nhu cầu của khách hàng.

Quản lý sản phẩm và danh mục trên NopCommerce trở nên đơn giản và hiệu quả, cho phép bạn dễ dàng quản lý các sản phẩm, danh mục sản phẩm, biểu đồ và thông tin chi tiết NopCommerce cung cấp nhiều tùy chọn phong phú để tạo ra danh mục và sản phẩm đa dạng, đáp ứng nhu cầu kinh doanh của bạn.

Hệ thống quản lý đơn hàng của NopCommerce cho phép bạn theo dõi và quản lý các đơn hàng từ khách hàng một cách hiệu quả Nó hỗ trợ quản lý vận chuyển và kho hàng, giúp duy trì tình trạng tồn kho và đảm bảo quá trình giao hàng diễn ra thuận lợi.

NopCommerce cung cấp một hệ thống thanh toán linh hoạt, hỗ trợ nhiều phương thức phổ biến như thẻ tín dụng, PayPal, chuyển khoản ngân hàng và nhiều hình thức thanh toán trực tuyến khác.

NopCommerce là giải pháp tối ưu cho việc tạo dựng cửa hàng trực tuyến, với khả năng phát triển và tùy chỉnh linh hoạt, đáp ứng nhu cầu riêng biệt của từng doanh nghiệp.

3.1.2 Giao diện của Ứng dụng nopCommerce

Link: https://demo.nopcommerce.com/

Hình 8 Giao diện Website nopCommerce

Đặc tả chức năng của nopCommerce

3.2.1 Đặc tả chức năng Register

- Tác nhân: Người dùng (khách hàng) cần truy cập vào hệ thống NopCommerce

- Điều kiện tiên quyết: Thông tin ở các trường nhập liệu bắt buộc đã hợp lệ

- Mô tả: Cho phép người dùng tạo tài khoản cá nhân trên trang web nopCommerce để tiến hành mua sắm và quản lý thông tin cá nhân

+ Bước 1: Người dùng truy cập trang web nopCommerce và click nút "Register" trên giao diện

+ Bước 2: Hệ thống hiển thị trang đăng ký với các trường nhập liệu bắt buộc và các trường nhập liệu không bắt buộc, cùng với nút "REGISTER"

+ Bước 3: Người dùng điền tất cả các trường nhập liệu không bắt buộc tương ứng:

• Gender: giới tính của người dùng

• Date of birth: ngày/tháng/năm sinh

• Company name: tên của công ty

+ Bước 4: Người dùng nhấn nút "REGISTER"

+ Bước 5: Hệ thống xác nhận và thông báo cho người dùng đăng ký đã hoàn tất + Người dùng có thể đăng nhập vào tài khoản mới được tạo

Bước 5a: Người dùng có thể điền một số trường thông tin không bắt buộc như giới tính trong trường Gender và ngày sinh trong trường Date of birth Sau khi hoàn tất, hệ thống sẽ hiển thị thông báo thành công.

3.2.2 Đặc tả chức năng Log in

- Tác nhân: Người dùng (khách hàng) cần truy cập vào hệ thống NopCommerce

- Điều kiện tiên quyết: Tài khoản tồn tại và đã được kích hoạt

- Mô tả: Cho phép người dùng truy cập vào tài khoản cá nhân đã đăng ký bằng cách cung cấp thông tin đăng nhập hợp lệ

+ Bước 1: : Người dùng truy cập trang web nopCommerce và click nút "Log in" trên giao diện

+ Bước 2: Hệ thống hiển thị trang đăng nhập với các trường nhập liệu "Email" và

"Password", cùng với nút "LOG IN"

+ Bước 3: Người dùng nhập Email và Password của họ vào các trường tương ứng + Bước 4: Người dùng nhấn nút "LOG IN"

+ Bước 5: Hệ thống xác thực thông tin đăng nhập của người dùng Nếu thông tin đúng, người dùng sẽ được chuyển đến trang chính

+ Người dùng đã đăng nhập thành công và có quyền truy cập vào các tính năng của hệ thống NopCommerce

Nếu thông tin đăng nhập không chính xác, chẳng hạn như email không hợp lệ, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin.

Nếu thông tin đăng nhập không chính xác, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại mật khẩu.

Nếu thông tin đăng nhập bị để trống, hệ thống sẽ hiển thị thông báo lỗi yêu cầu người dùng nhập lại email.

Nếu thông tin đăng nhập bị để trống, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin, đặc biệt là khi mật khẩu không được cung cấp.

Thiết kế Test Case

• Chức năng Register – Đăng Ký:

Hình 9 Test Case chức năng Register

• Chức năng Login – Đăng nhập:

Hình 10 Test Case chức năng Login

THỰC HIỆN KIỂM THỬ VÀ KẾT QUẢ KIỂM THỬ

Thực hiện kiểm thử

Kịch bản kiểm thử chức năng “Register” gồm có 2 test case:

• RE_001: Xác minh người dùng đăng ký thành công khi điền vào tất cả các trường tùy chọn

1 Mở trình duyệt và điều hướng đến trang web:

- Điều hướng đến URL: https://demo.nopcommerce.com/

- Tối đa hóa cửa sổ trình duyệt để mở rộng kích thước

2 Nhấn vào liên kết "Register":

- Tìm và nhấp vào liên kết "Register" trên trang web

3 Chọn giới tính: chọn giới tính female

4 Nhập thông tin cá nhân:

- Chọn ngày sinh: 7, tháng sinh: 12, năm sinh: 2001

- Tạo một địa chỉ email duy nhất bằng cách thêm một số ngẫu nhiên vào địa chỉ email gốc

6 Nhập thông tin công ty: AbP

7 Nhập mật khẩu và xác nhận mật khẩu:

- Nhập xác nhận mật khẩu: 123456

8 Nhấn nút "Register" để thực hiện quy trình đăng ký

9 Xác minh thông báo đăng ký thành công: xác minh chuỗi "Your registration completed" xuất hiện trên trang web sau khi đăng ký thành công

10 Đóng trình duyệt sau khi thực hiện kiểm thử

• RE_002: Xác minh người dùng đã đăng ký thành công khi điền vào một số trường trong trường tùy chọn

1 Mở trình duyệt và điều hướng đến trang web:

- Điều hướng đến URL: https://demo.nopcommerce.com/

- Tối đa hóa cửa sổ trình duyệt để mở rộng kích thước

2 Nhấn vào liên kết "Register":

- Tìm và nhấp vào liên kết "Register" trên trang web

3 Chọn giới tính: chọn giới tính female

4 Nhập thông tin cá nhân:

- Chọn ngày sinh: 7, tháng sinh: 12, năm sinh: 2001

- Tạo một địa chỉ email duy nhất bằng cách thêm một số ngẫu nhiên vào địa chỉ email gốc

6 Để trường Company name trống bằng cách không nhập bất kỳ giá trị nào

7 Nhập mật khẩu và xác nhận mật khẩu:

- Nhập xác nhận mật khẩu: 123456

8 Nhấn nút "Register" để thực hiện quy trình đăng ký

9 Xác minh thông báo đăng ký thành công: xác minh chuỗi "Your registration completed" xuất hiện trên trang web sau khi đăng ký thành công

10 Đóng trình duyệt sau khi thực hiện kiểm thử

Kịch bản kiểm thử chức năng “Log in” gồm có 5 test case

• LOG_001: Xác minh rằng người dùng đăng nhập thành công với đúng Email và Password

1 Mở trình duyệt và điều hướng đến trang web:

- Điều hướng đến URL: https://demo.nopcommerce.com/

- Tối đa hóa cửa sổ trình duyệt để mở rộng kích thước

2 Nhấn vào liên kết "Log in":

- Tìm và nhấp vào liên kết "Log in" trên trang web

3 Nhập thông tin đăng nhập hợp lệ:

- Nhập địa chỉ email: dldq1901@gmail.com

4 Chọn tùy chọn "Remember me" (ghi nhớ tài khoản)

5 Nhấn nút "Login" để thực hiện quy trình đăng nhập

6 Xác minh thông báo lỗi: xác minh chuỗi "Wrong email" xuất hiện trên trang web

7 Đóng trình duyệt sau khi thực hiện kiểm thử

• LOG_002: Xác minh rằng người dùng đăng nhập không thành công khi để trống trường Email

1 Mở trình duyệt và điều hướng đến trang web:

- Điều hướng đến URL: https://demo.nopcommerce.com/

- Tối đa hóa cửa sổ trình duyệt để mở rộng kích thước

2 Nhấn vào liên kết "Log in":

- Tìm và nhấp vào liên kết "Log in" trên trang web

3 Nhập thông tin đăng nhập không hợp lệ:

- Để trường Email trống bằng cách không nhập bất kỳ giá trị nào

4 Chọn tùy chọn "Remember me" (ghi nhớ tài khoản)

5 Nhấn nút "Login" để thực hiện quy trình đăng nhập

6 Xác minh thông báo lỗi: xác minh "My account" xuất hiện trên trang web sau khi đăng nhập thành công

7 Đóng trình duyệt sau khi thực hiện kiểm thử

• LOG_003: Xác minh rằng người dùng đăng nhập không thành công khi để trống trường Password

1 Mở trình duyệt và điều hướng đến trang web:

- Điều hướng đến URL: https://demo.nopcommerce.com/

- Tối đa hóa cửa sổ trình duyệt để mở rộng kích thước

2 Nhấn vào liên kết "Log in":

- Tìm và nhấp vào liên kết "Log in" trên trang web

3 Nhập thông tin đăng nhập không hợp lệ:

- Nhập địa chỉ email: dldq1901@gmail.com

- Để trường Password trống bằng cách không nhập bất kỳ giá trị nào

4 Chọn tùy chọn "Remember me" (ghi nhớ tài khoản)

5 Nhấp nút "Login" để thực hiện quy trình đăng nhập

6 Xác minh thông báo lỗi xuất hiện: xác minh rằng chuỗi "Login was unsuccessful Please correct the errors and try again." xuất hiện trên trang web

7 Xác minh thông báo lỗi khác xuất hiện: xác minh chuỗi "The credentials provided are incorrect" xuất hiện trên trang web

8 Đóng trình duyệt sau khi thực hiện kiểm thử

• LOG_004: Xác minh rằng người dùng đăng nhập không thành công với Email không hợp lệ

1 Mở trình duyệt và điều hướng đến trang web:

- Điều hướng đến URL: https://demo.nopcommerce.com/

- Tối đa hóa cửa sổ trình duyệt để mở rộng kích thước

2 Nhấn vào liên kết "Log in":

- Tìm và nhấp vào liên kết "Log in" trên trang web

3 Nhập thông tin đăng nhập không hợp lệ:

- Nhập địa chỉ email: dldq1901@gmail com

4 Chọn tùy chọn "Remember me" (ghi nhớ tài khoản)

5 Nhấn nút "Login" để thực hiện quy trình đăng nhập

6 Xác minh thông báo lỗi: xác minh chuỗi "Wrong email" xuất hiện trên trang web

7 Đóng trình duyệt sau khi thực hiện kiểm thử

• LOG_005: Xác minh rằng người dùng đăng nhập không thành công với

1 Mở trình duyệt và điều hướng đến trang web:

- Điều hướng đến URL: https://demo.nopcommerce.com/

- Tối đa hóa cửa sổ trình duyệt để mở rộng kích thước

2 Nhấn vào liên kết "Log in":

- Tìm và nhấp vào liên kết "Log in" trên trang web

3 Nhập thông tin đăng nhập không hợp lệ:

- Nhập địa chỉ email: dldq1901@gmail.com

4 Chọn tùy chọn "Remember me" (ghi nhớ tài khoản)

5 Nhấp nút "Login" để thực hiện quy trình đăng nhập

6 Xác minh thông báo lỗi xuất hiện: xác minh rằng chuỗi "Login was unsuccessful Please correct the errors and try again." xuất hiện trên trang web

7 Xác minh thông báo lỗi khác xuất hiện: xác minh chuỗi "The credentials provided are incorrect" xuất hiện trên trang web

8 Đóng trình duyệt sau khi thực hiện kiểm thử.

Kết quả kiểm thử

• RE_001: Xác minh người dùng đăng ký thành công khi điền vào tất cả các trường tùy chọn

Hình 11 Kết quả Passed test case RE_001

• RE_002: Xác minh người dùng đã đăng ký thành công khi điền vào một số trường trong trường tùy chọn

Hình 12 Kết quả Passed test case RE_002

• LOG_001: Xác minh rằng người dùng đăng nhập thành công với đúng Email và Password

Hình 13 Kết quả Passed test case LOG_001

• LOG_002: Xác minh rằng người dùng đăng nhập không thành công khi để trống trường Email

Hình 14 Kết quả Passed test case LOG_002

• LOG_003: Xác minh rằng người dùng đăng nhập không thành công khi để trống trường Password

Hình 15 Kết quả Passed test case LOG_003

• LOG_004: Xác minh rằng người dùng đăng nhập không thành công với Email không hợp lệ

Hình 16 Kết quả Passed test case LOG_004

• LOG_005: Xác minh rằng người dùng đăng nhập không thành công với

Hình 17 Kết quả Passed test case LOG_005

Bảng tổng hợp kết quả kiểm thử theo từng chức năng

• Chức năng Register (2 passed – 0 failed):

• Chức năng Login (5 passed – 0 failed):

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 đã tiến hành nghiên cứu 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 bắt cơ sở lý thuyết nền tảng về Kiểm thử

+ Hiểu vòng đời phát triển phần mềm - Phân biệt mức độ kiểm tra phần mềm

+ Phân loại được các kiểu kiểm tra phần mềm

+ Biết thêm ngôn ngữ Java và công cụ kiểm thử tự động như Katalon

+ Áp dụng kiến thức đã học để kiểm tra tự động cho trình duyệt web

Ngoài ra, em đã có cơ hội tìm hiểu sâu sắc về môi trường làm việc và văn hóa của công ty, từ đó đánh giá xem lĩnh vực em đang thực tập có phù hợp với bản thân hay không.

Do thời gian thực tập ngắn và kiến thức còn hạn chế, tôi chưa thể hiểu sâu về các công cụ kiểm thử cũng như thực hành kiểm tra tất cả các chức năng.

- Vẫn còn tồn tại lỗi trong quá trình viết code chạy test case tự động

- Tiếp tục cập nhật và hoàn thiện các ca kiểm thử cho những chức năng còn lại của hệ thống

- Nâng cao kiến thức và ngôn ngữ lập trình của bản thân về lĩnh vực kiểm thử

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

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

TÀI LIỆU LIÊN QUAN

w