Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ phần mềm phát triển mạnh mẽ và giữ vai trò thiết yếu trong đời sống hiện đại, các yêu cầu và thách thức về việc đảm bảo chất lượng phần mềm ngày càng gia tăng. Kiểm thử phần mềm (software testing) là hoạt động nhằm nâng cao chất lượng và độ tin cậy của các hệ thống phần mềm. Tuy nhiên, giai đoạn kiểm thử thường chiếm hơn 40% tổng thời gian, kinh phí và nhân lực của một dự án phát triển phần mềm. Việc tối ưu hóa quy trình kiểm thử nhằm duy trì tính ổn định của hệ thống đồng thời cắt giảm chi phí và thời gian thực thi là một yêu cầu cấp thiết.

Xu hướng tự động hóa (Automation Testing) đang được ứng dụng rộng rãi để giải quyết bài toán này. Trong số các công cụ hỗ trợ kiểm thử tự động, Selenium là bộ công cụ mã nguồn mở miễn phí, hỗ trợ đa nền tảng hệ điều hành (Windows, Linux, macOS) và tương thích với nhiều trình duyệt web khác nhau.

Báo cáo thực tập nghề nghiệp mang tên "Automation Test with Python & Selenium on Website Guru99 Bank" được thực hiện bởi sinh viên ngành Hệ thống thông tin quản lý (chuyên ngành Quản trị hệ thống thông tin), Khoa Thống kê - Tin học, Trường Đại học Kinh tế – Đại học Đà Nẵng, dưới sự hướng dẫn khoa học của TS. Hoàng Thị Thanh Hà và cán bộ hướng dẫn thực tế Hồ Tây tại Công ty TMA Solutions Bình Định.

Mục tiêu nghiên cứu và nhiệm vụ của đề tài được xác định gồm:

  1. Vận dụng hệ thống kiến thức lý thuyết về kiểm thử phần mềm, tìm hiểu cơ chế hoạt động và cách thức vận hành của công cụ kiểm thử tự động Selenium kết hợp với ngôn ngữ lập trình Python.
  2. Thực hiện phân tích yêu cầu, xây dựng bộ ca kiểm thử (test case) và viết kịch bản kiểm thử tự động (test script) để xác minh tính đúng đắn, đầy đủ của các chức năng trên hệ thống web.
  3. Thu thập kết quả thực thi kiểm thử và đưa ra đánh giá về chất lượng của ứng dụng web được thử nghiệm.
  • Đối tượng nghiên cứu: Ứng dụng web giả lập ngân hàng trực tuyến Guru99 Bank (môi trường ảo phục vụ thực hành kiểm thử).
  • Phạm vi nghiên cứu: Ứng dụng ngôn ngữ lập trình Python và bộ công cụ kiểm thử Selenium WebDriver để thiết kế và thực thi kịch bản kiểm thử tự động cho hai chức năng chính: Đăng nhập ("Login") và Thêm mới khách hàng ("Add New Customer").

Cơ sở lý thuyết và phương pháp

Khung lý thuyết của đề tài bao quát toàn diện các kiến thức nền tảng trong lĩnh vực công nghệ phần mềm và bảo đảm chất lượng phần mềm:

  • Vòng đời phát triển phần mềm (SDLC - Software Development Life Cycle): Bao gồm 6 giai đoạn tuần tự từ Phân tích yêu cầu & lập kế hoạch, Thiết kế, Phát triển (lập trình), Kiểm thử, Triển khai đến Bảo trì.
  • 7 nguyên tắc kiểm thử phần mềm:
    1. Kiểm thử chứng tỏ phần mềm có lỗi nhưng không thể chứng minh phần mềm không có lỗi.
    2. Kiểm thử toàn diện là điều không thể thực hiện.
    3. Cần tiến hành kiểm thử càng sớm càng tốt (Early Testing).
    4. Lỗi thường phân bố tập trung tại một số mô-đun nhất định.
    5. Nghịch lý thuốc trừ sâu (Pesticide Paradox) – bộ test case cần được rà soát và cập nhật liên tục để phát hiện lỗi mới.
    6. Kiểm thử phụ thuộc vào ngữ cảnh cụ thể của từng sản phẩm.
    7. Ngụy biện về việc không có lỗi đồng nghĩa với phần mềm thành công.
  • Phân biệt hai khái niệm QA và QC:
Tiêu chí Quality Assurance (QA) Quality Control (QC)
Bản chất Định hướng theo quy trình (Process-oriented) Định hướng theo sản phẩm (Product-oriented)
Mục tiêu chính Thiết lập quy trình, tiêu chuẩn nhằm phòng ngừa lỗi phát sinh Kiểm tra, đo lường và phát hiện lỗi trên sản phẩm cụ thể
Thời điểm thực hiện Diễn ra xuyên suốt toàn bộ vòng đời phát triển dự án Thực hiện trong hoặc sau khi hoàn thành từng công đoạn sản xuất
Phương thức Đánh giá, chuẩn hóa và cải tiến quy trình làm việc Kiểm tra, thử nghiệm, đo lường và phân tích lỗi kỹ thuật
  • Các mô hình phát triển phần mềm: Mô hình Thác nước (Waterfall Model), Mô hình chữ V (V-Model), và Mô hình Agile/Scrum (phân đoạn công việc thành các Sprint từ 1 đến 4 tuần với các vai trò Product Owner, Scrum Master, Development Team).
  • Phương pháp và kỹ thuật kiểm thử:
    • Phương pháp kiểm thử: Kiểm thử tĩnh (Static Testing) và Kiểm thử động (Dynamic Testing); Kiểm thử hộp trắng (White Box), Kiểm thử hộp đen (Black Box), Kiểm thử hộp xám (Gray Box).
    • Cấp độ kiểm thử: Kiểm thử đơn vị (Unit Testing), Kiểm thử tích hợp (Integration Testing - gồm Top-Down, Bottom-Up, Hybrid), Kiểm thử hệ thống (System Testing - gồm Regression, Recovery, Usability, Stress, Load Testing), Kiểm thử chấp nhận (Acceptance Testing - gồm Alpha Testing, Beta Testing).
    • Kỹ thuật thiết kế ca kiểm thử: Dựa trên đặc tả (Phân vùng tương đương, Phân tích giá trị biên, Bảng quyết định, Kiểm tra chuyển đổi trạng thái) và Dựa trên kinh nghiệm (Đoán lỗi, Thử nghiệm thăm dò).
    • Vòng đời của Bug (Bug Life Cycle): Quy trình quản lý trạng thái lỗi gồm 13 trạng thái: New $\rightarrow$ Assigned $\rightarrow$ Open $\rightarrow$ Fixed $\rightarrow$ Pending Retest $\rightarrow$ Retest $\rightarrow$ Verified $\rightarrow$ Closed (cùng các trạng thái rẽ nhánh: Reopen, Duplicate, Rejected, Deferred, Not a bug).
  • Nền tảng công nghệ thực thi:
    • Ngôn ngữ Python: Ngôn ngữ hướng đối tượng bậc cao, có cú pháp rõ ràng, tích hợp các thư viện hỗ trợ kiểm thử như Unittest, PyUnit, Robot Framework.
    • Công cụ Selenium: Bộ công cụ tự động hóa ứng dụng web mã nguồn mở gồm 4 thành phần chính: Selenium IDE, Selenium RC, Selenium WebDriver và Selenium Grid.

Phương pháp nghiên cứu được triển khai theo hướng phân tích đặc tả chức năng hệ thống, áp dụng kỹ thuật thiết kế test case hộp đen và chuyển đổi test case thủ công thành mã kịch bản kiểm thử tự động hóa thông qua Selenium WebDriver và Python.


Thiết kế và triển khai

Hệ thống được lựa chọn triển khai thực nghiệm là ứng dụng web ngân hàng trực tuyến Guru99 Bank (https://www.demo.guru99.com/V4/). Đề tài tập trung phân tích đặc tả yêu cầu và xây dựng kịch bản kiểm thử cho 2 chức năng cụ thể:

1. Đặc tả và thiết kế kiểm thử chức năng Đăng nhập (Login)

  • Tác nhân: Người dùng đã được cấp tài khoản trên hệ thống Guru99 Bank.
  • Mục đích: Xác thực danh tính và cấp quyền truy cập vào bảng điều khiển quản trị.
  • Điều kiện tiên quyết: Tài khoản đã tồn tại trong cơ sở dữ liệu hệ thống.
  • Luồng sự kiện:
    • Luồng chính (Happy Path): Người dùng nhập đúng UserID và Password, nhấn "Login" $\rightarrow$ Hệ thống xác thực và chuyển hướng đến trang chủ quản trị.
    • Luồng thay thế (Alternative Paths): Nhập sai UserID, sai Password, để trống một hoặc cả hai trường dữ liệu $\rightarrow$ Hệ thống hiển thị hộp thoại cảnh báo: "User or password is not valid." hoặc hiển thị cảnh báo yêu cầu nhập dữ liệu.

2. Đặc tả và thiết kế kiểm thử chức năng Thêm mới khách hàng (Add New Customer)

  • Tác nhân: Quản trị viên/Người dùng đã đăng nhập thành công vào hệ thống.
  • Mục đích: Khởi tạo hồ sơ khách hàng mới trên cơ sở dữ liệu ngân hàng.
  • Điều kiện tiên quyết: Đăng nhập thành công với quyền hạn phù hợp.
  • Các trường dữ liệu nhập liệu: Customer Name, Gender, Date of Birth, Address, City, State, PIN, Mobile Number, E-mail, Password.
  • Luồng sự kiện:
    • Luồng chính: Người dùng điền đầy đủ và chính xác tất cả các trường dữ liệu hợp lệ, nhấn nút "Submit" $\rightarrow$ Hệ thống ghi nhận dữ liệu, cấp mã khách hàng mới và hiển thị bảng thông tin chi tiết của khách hàng vừa tạo.
    • Luồng ngoại lệ: Để trống các trường bắt buộc; nhập mã PIN không đủ 6 chữ số; nhập địa chỉ email đã tồn tại trong hệ thống $\rightarrow$ Hệ thống hiển thị thông báo lỗi tương ứng (ví dụ: "Email Address Already Exist !!").

3. Ma trận kịch bản kiểm thử tự động (Automation Test Scenarios)

Chức năng Mã kịch bản / Tên Test Case Mục đích kiểm thử Dữ liệu đầu vào Kết quả mong đợi
Login TC_LOGIN_01 Kiểm tra đăng nhập để trống trường Để trống UserID hoặc Password Cảnh báo yêu cầu nhập dữ liệu
Login TC_LOGIN_02 Kiểm tra sai UserID Nhập sai UserID, nhập đúng Password Báo lỗi "User or password is not valid."
Login TC_LOGIN_03 Kiểm tra sai Password Nhập đúng UserID, nhập sai Password Báo lỗi "User or password is not valid."
Login TC_LOGIN_04 Kiểm tra sai đồng thời UserID và Password Nhập sai cả UserID và Password Báo lỗi "User or password is not valid."
Login TC_LOGIN_05 Kiểm tra đăng nhập thành công Nhập đúng thông tin hợp lệ Đăng nhập thành công, điều hướng vào trang quản trị
Add Customer TC_CUST_01 Kiểm tra bỏ trống trường bắt buộc Để trống trường Customer Name hoặc địa chỉ Báo lỗi không được để trống
Add Customer TC_CUST_02 Kiểm tra độ dài mã PIN Nhập PIN có độ dài nhỏ hơn 6 chữ số Báo lỗi yêu cầu mã PIN đủ 6 chữ số
Add Customer TC_CUST_03 Kiểm tra trùng lặp email Nhập địa chỉ E-mail đã tồn tại trên hệ thống Báo lỗi "Email Address Already Exist !!"
Add Customer TC_CUST_04 Kiểm tra thêm khách hàng thành công Nhập đầy đủ toàn bộ thông tin hợp lệ Khởi tạo thành công, xuất thông tin khách hàng mới

Nội dung chính theo từng chương

Chương 1: Tổng quan về công ty TMA và vị trí Tester

Chương 1 giới thiệu chi tiết về doanh nghiệp tiếp nhận thực tập – Công ty TMA Solutions. Được thành lập từ năm 1997, TMA đã phát triển quy mô đạt hơn 4.000 kỹ sư công nghệ, phục vụ khách hàng là các tập đoàn công nghệ cao từ 30 quốc gia trên thế giới. Doanh nghiệp hiện có 7 chi nhánh tại Việt Nam (6 văn phòng tại TP. Hồ Chí Minh, 1 chi nhánh tại Quy Nhơn) và 6 văn phòng đại diện ở nước ngoài (Mỹ, Canada, Pháp, Nhật Bản, Úc, Singapore).

Chi nhánh TMA Bình Định được thành lập vào tháng 6/2018; sau 5 năm đã mở rộng quy mô lên hơn 400 kỹ sư. Dự án Công viên Sáng tạo TMA Bình Định (TMA Innovation Park – TIP) được khởi công xây dựng vào tháng 8/2018 trên diện tích 10 hecta tại Thung lũng Sáng tạo Quy Nhơn (QNIVY) với tổng diện tích sàn sử dụng hơn 15.000 m², bao gồm 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ệ.

Về danh mục dịch vụ kỹ thuật, TMA cung cấp 10 nhóm giải pháp trọn gói:

  1. Lập kế hoạch dự án (Project Planning)
  2. Tư vấn giải pháp (Solutions Consulting)
  3. Phát triển sản phẩm mẫu (Prototyping / Proof of Concept)
  4. Nghiên cứu & Phát triển (R&D)
  5. Thiết kế giao diện (UX/UI Design)
  6. Phát triển phần mềm (Software Development)
  7. Kiểm thử phần mềm (Software Testing: kiểm thử chất lượng, kiểm thử tự động)
  8. Chuyển đổi hệ thống (Porting & Migration)
  9. Quản trị hệ thống IT (IT Managed Services: giải pháp giám sát NOC)
  10. Dịch vụ bảo mật (Security Services: trung tâm điều hành an ninh mạng SOC)

Phần tiếp theo của chương phân tích vai trò của chuyên viên kiểm thử (Tester) trong dự án phần mềm. Báo cáo tổng hợp 7 kỹ năng chuyên môn và kỹ năng mềm cần thiết của một Tester:

  • Nắm vững kiến thức cơ bản về lập trình, hệ điều hành, cơ sở dữ liệu và mạng máy tính.
  • Khả năng đổi mới và tư duy sáng tạo trong tiếp cận công nghệ mới.
  • Kỹ năng phân tích chi tiết, nhạy bén và chuẩn xác.
  • Khả năng tiếp thu, học hỏi nhanh các quy trình và công cụ.
  • Kỹ năng giao tiếp và làm việc nhóm trong môi trường đa chức năng.
  • Năng lực ngoại ngữ (tiếng Anh) phục vụ đọc tài liệu kỹ thuật và làm việc với khách hàng quốc tế.
  • Tính cẩn trọng, tỉ mỉ, kiên trì khi lặp lại các quy trình kiểm thử.

Chương 2: Cơ sở lý thuyết

Chương 2 trình bày có hệ thống các nền tảng lý thuyết phục vụ cho việc thực thi dự án:

  • Khái niệm và vai trò kiểm thử: Khẳng định kiểm thử là hoạt động độc lập nhằm tìm kiếm khiếm khuyết, đánh giá rủi ro và xác nhận độ tương thích của phần mềm so với yêu cầu ban đầu.
  • Vòng đời phát triển phần mềm (SDLC): Phân tích chi tiết 6 giai đoạn kỹ thuật từ khâu phân tích yêu cầu đến bảo trì hệ thống.
  • Mô hình quy trình: Phân tích ưu điểm và nhược điểm của mô hình Thác nước (Waterfall), mô hình chữ V (V-Model), và khung làm việc Scrum trong Agile.
  • Phương pháp và kỹ thuật kiểm thử: Phân loại kiểm thử thủ công (Manual Testing) và kiểm thử tự động (Automation Testing); làm rõ các trường hợp nên áp dụng Manual (thử nghiệm khám phá, kiểm thử tính khả dụng, Ad-hoc) và Automation (kiểm thử hồi quy, kiểm thử tải, kiểm thử hiệu năng). Đồng thời trình bày lý thuyết về Kiểm thử bảo mật (Security Testing) và Kiểm thử API (API Testing).
  • Kỹ thuật thiết kế ca kiểm thử: Đi sâu vào 4 kỹ thuật hướng đặc tả (Phân vùng tương đương, Phân tích giá trị biên, Bảng quyết định, Chuyển đổi trạng thái) và 2 kỹ thuật hướng kinh nghiệm (Đoán lỗi, Thử nghiệm thăm dò).
  • Vòng đời Bug: Trình bày sơ đồ chuyển trạng thái của lỗi qua 13 trạng thái chuẩn.
  • Công nghệ tự động hóa: Giới thiệu cấu trúc ngôn ngữ Python, các thư viện unit test; phân tích cấu trúc 4 thành phần của Selenium (IDE, RC, WebDriver, Grid) cùng những ưu điểm (mã nguồn mở, hỗ trợ đa ngôn ngữ, tích hợp linh hoạt) và nhược điểm (chỉ hỗ trợ ứng dụng web, đòi hỏi kỹ năng lập trình khi xây dựng khung kiểm thử).

Chương 3: Triển khai kiểm thử

Chương 3 là phần thực nghiệm kỹ thuật của đề tài:

  • Khảo sát giao diện, cấu trúc và luồng dữ liệu của website Guru99 Bank.
  • Xây dựng tài liệu đặc tả chức năng chi tiết cho 2 phân hệ: Đăng nhập (Login) và Thêm mới khách hàng (Add New Customer).
  • Thiết kế bảng Test Case chi tiết trên trang tính với đầy đủ thông tin: ID, Mô tả kịch bản, Các bước thực hiện, Dữ liệu đầu vào, Kết quả mong đợi.
  • Lập trình các đoạn mã kịch bản kiểm thử tự động hóa bằng Python kết hợp thư viện Selenium WebDriver. Kịch bản mô phỏng các hành vi của người dùng: định vị phần tử web (web elements), điền dữ liệu vào form, bắt sự kiện click, xử lý pop-up thông báo (alert dialog), và so sánh kết quả thực tế với kết quả mong đợi.
  • Ghi nhận và chụp màn hình kết quả thực thi kiểm thử tự động cho toàn bộ các ca kiểm thử.

Kết quả và đóng góp

1. Kết quả kỹ thuật đạt được

Đề tài đã hoàn thành việc xây dựng và thực thi bộ kịch bản kiểm thử tự động trên website Guru99 Bank với các kết quả cụ thể:

  • Chức năng Đăng nhập (Login):
    • Tự động hóa thành công kịch bản để trống dữ liệu (Login unsuccessful by blank fields).
    • Tự động hóa kịch bản đăng nhập sai tên người dùng (Login unsuccessful by UserID).
    • Tự động hóa kịch bản đăng nhập sai mật khẩu (Login unsuccessful by Password).
    • Tự động hóa kịch bản đăng nhập sai cả hai trường thông tin (Login unsuccessful by UserID and Password).
    • Thực thi kịch bản đăng nhập thành công với thông tin hợp lệ (Login Successful), hệ thống tự động xác nhận chuyển trang.
  • Chức năng Thêm mới khách hàng (Add New Customer):
    • Thực thi kịch bản phát hiện lỗi khi để trống trường thông tin bắt buộc (Add New Customer unsuccessful by blank field).
    • Thực thi kịch bản kiểm tra ràng buộc độ dài mã PIN dưới 6 chữ số (Add New Customer unsuccessful when PIN less than 6 digits).
    • Thực thi kịch bản phát hiện trùng lặp địa chỉ email (Add New Customer unsuccessful with Email Already Exist).
    • Thực thi kịch bản nhập đầy đủ thông tin hợp lệ và tạo khách hàng thành công (Add New Customer Successful).

2. Đóng góp của báo cáo

  • Tổng hợp hoàn chỉnh cơ sở lý luận về quy trình kiểm thử phần mềm, mô hình SDLC, kỹ thuật thiết kế test case và vòng đời của lỗi phần mềm.
  • Ứng dụng thực tế bộ đôi công cụ Python và Selenium WebDriver để giải quyết bài toán tự động hóa kiểm thử giao diện người dùng (UI Automation Testing) trên ứng dụng web tài chính - ngân hàng.
  • Cung cấp tài liệu mẫu về đặc tả chức năng, ma trận thiết kế ca kiểm thử và kịch bản mã nguồn kiểm thử tự động hóa có thể tái sử dụng.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:
    • Phạm vi thực nghiệm của đề tài chỉ tập trung vào 2 chức năng giao diện cơ bản là "Login" và "Add New Customer", chưa bao quát toàn bộ các nghiệp vụ phức tạp khác của hệ thống ngân hàng ảo như quản lý tài khoản, chuyển tiền (Fund Transfer) hay sao kê lịch sử giao dịch.
    • Các kịch bản kiểm thử mới dừng lại ở mức độ kiểm thử chức năng giao diện (UI Functional Testing), chưa tích hợp kiểm thử hiệu năng (Performance Testing), kiểm thử chịu tải (Load Testing) hay kiểm thử bảo mật (Security Testing).
  • Hướng nghiên cứu và phát triển:
    • Mở rộng phạm vi kịch bản kiểm thử tự động cho toàn bộ các chức năng còn lại trên website Guru99 Bank.
    • Xây dựng mô hình kiểm thử hướng dữ liệu (Data-Driven Testing) hoặc mô hình Page Object Model (POM) bằng Python để tăng tính module hóa và khả năng bảo trì kịch bản kiểm thử khi giao diện thay đổi.
    • Tích hợp kịch bản kiểm thử vào quy trình phân phối và tích hợp liên tục (CI/CD).

Giá trị tham khảo

Báo cáo thực tập có giá trị tham khảo thiết thực cho các nhóm đối tượng:

  • Sinh viên chuyên ngành Hệ thống thông tin quản lý, Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu học tập tham khảo về cách tiếp cận quy trình kiểm thử chuẩn mực, phương pháp phân tích yêu cầu phần mềm và cách thiết kế tài liệu test case chuẩn.
  • Người mới bắt đầu tìm hiểu vị trí Software Tester / QA / QC: Cung cấp bức tranh toàn cảnh về nghề nghiệp, các yêu cầu kỹ năng tại doanh nghiệp thực tế (TMA Solutions) và hệ thống hóa kiến thức lý thuyết nền tảng (SDLC, Scrum, Bug Life Cycle, các kỹ thuật thiết kế ca kiểm thử).
  • Kỹ sư kiểm thử định hướng Automation Test: Cung cấp ví dụ thực hành cụ thể về việc cài đặt môi trường, định vị phần tử web và viết test script bằng Python kết hợp Selenium WebDriver cho các kịch bản kiểm thử giao diện từ cơ bản đến nâng cao.

Câu hỏi thường gặp

1. Báo cáo thực tập nghề nghiệp này được thực hiện tại đơn vị nào và thuộc cơ sở đào tạo nào?

Báo cáo được thực hiện bởi sinh viên Khoa Thống kê - Tin học, Trường Đại học Kinh tế – Đại học Đà Nẵng, tại đơn vị thực tập là Công ty TMA Solutions Bình Định (thuộc Công viên Sáng tạo TMA Bình Định), dưới sự hướng dẫn của TS. Hoàng Thị Thanh Hà và cán bộ hướng dẫn doanh nghiệp Hồ Tây.

2. Sự khác biệt cốt lõi giữa QA và QC được tác giả trình bày như thế nào?

Theo báo cáo, QA (Quality Assurance) là hoạt động định hướng theo quy trình, tập trung vào việc thiết lập các tiêu chuẩn, quy chuẩn và giám sát toàn bộ quá trình phát triển nhằm phòng ngừa lỗi xảy ra. Trong khi đó, QC (Quality Control) là hoạt động định hướng theo sản phẩm, tập trung vào việc kiểm tra, đo lường và phát hiện lỗi trực tiếp trên sản phẩm sau khi hoàn thành từng công đoạn hoặc hoàn thiện toàn bộ.

3. Những kỹ thuật thiết kế ca kiểm thử nào được phân tích trong đề tài?

Đề tài phân tích hai nhóm kỹ thuật:

  • Kỹ thuật dựa trên đặc tả kỹ thuật: Phân vùng tương đương, Phân tích giá trị biên, Bảng quyết định, và Kiểm tra chuyển đổi trạng thái.
  • Kỹ thuật dựa trên kinh nghiệm: Đoán lỗi (Error Guessing) và Thử nghiệm thăm dò (Exploratory Testing).

4. Bốn thành phần chính cấu thành bộ công cụ kiểm thử Selenium là gì?

Bộ công cụ Selenium gồm có 4 thành phần: Selenium IDE (môi trường ghi và phát lại), Selenium RC (Remote Control), Selenium WebDriver (giao diện lập trình điều khiển trực tiếp trình duyệt), và Selenium Grid (hỗ trợ thực thi kiểm thử song song trên nhiều môi trường và trình duyệt khác nhau).

5. Những kịch bản kiểm thử nào đã được tự động hóa cho chức năng "Add New Customer"?

Đối với chức năng "Add New Customer", tác giả đã lập trình và thực thi tự động 4 kịch bản kiểm thử:

  1. Thêm mới thất bại do để trống trường thông tin bắt buộc (blank field).
  2. Thêm mới thất bại khi nhập mã PIN dưới 6 chữ số (PIN less than 6 digits).
  3. Thêm mới thất bại khi nhập địa chỉ email đã tồn tại trong hệ thống (Email Already Exist).
  4. Thêm mới thành công khi nhập đầy đủ thông tin hợp lệ (Add New Customer Successful).

Kết luận

Báo cáo thực tập nghề nghiệp đã hệ thống hóa đầy đủ cơ sở lý thuyết về quy trình kiểm thử phần mềm, các mô hình phát triển hệ thống và kỹ thuật thiết kế ca kiểm thử chuẩn mực. Thông qua việc tìm hiểu thực tế tại doanh nghiệp TMA Solutions Bình Định, tác giả đã ứng dụng thành công ngôn ngữ Python và Selenium WebDriver để tự động hóa các kịch bản kiểm thử trên website giả lập ngân hàng Guru99 Bank. Kết quả thực nghiệm cho thấy tính khả thi, độ chính xác và khả năng tiết kiệm thời gian của phương pháp kiểm thử tự động đối với các chức năng đăng nhập và quản lý dữ liệu người dùng trên nền tảng web.