CƠ SỞ LÝ THUYẾT
Các kỹ thuật kiểm thử
Kiểm thử được định nghĩa theo nhiều cách khác nhau, nhưng khái niệm tổng quát nhất đến từ Glen Myers: “Kiểm thử là quá trình thực thi một chương trình nhằm mục đích phát hiện lỗi.”
Kiểm thử, theo quan điểm của Paul Jorgensen, là quá trình tìm kiếm lỗi, sai sót và hỏng hóc trong ứng dụng Mục tiêu của kiểm thử là chạy các ứng dụng theo các trường hợp kiểm thử nhằm phát hiện sai sót và giải thích cách thức hoạt động của chúng.
2.1.2 Vòng đời và quy trình kiểm của việc kiểm thử
Mục đích chính của kiểm thử là thiết kế chuỗi các trường hợp kiểm thử nhằm phát hiện lỗi hiệu quả Để đạt kết quả tốt nhất, cần chuẩn bị kế hoạch kiểm thử, trải qua các công đoạn khác nhau và áp dụng biện pháp khắc phục khi phát hiện lỗi.
Vòng đời của việc kiểm thử thông thường sẽ trải qua đó là: “Mô tả yêu cầu”,
“Phân tích thiết kế”, “Lập trình”, “Kiểm thử”, “Ban giao sản phẩm”
Mô hình của một đời kiểm thử:
Hình 2.1 Vòng đời kiểm thử[3]
Trong quá trình phát triển, lỗi có thể xuất hiện ở nhiều giai đoạn khác nhau Đặc biệt, trong giai đoạn kiểm thử, chúng ta sẽ phát hiện ra những sai sót, dẫn đến kết quả không đạt yêu cầu như mong đợi.
Kiểm thử hộp trắng (White-Box Testing), còn được gọi là kiểm thử logic, cho phép kiểm tra cấu trúc bên trong của ứng dụng nhằm đảm bảo rằng tất cả các câu lệnh và điều kiện đều được thực thi ít nhất một lần.
Kiểm thử hộp trắng, còn được gọi là kiểm thử hộp thủy tinh hay kiểm thử trong suốt, là phương pháp kiểm thử cho phép người kiểm thử truy cập vào mã nguồn của chương trình Quá trình này dựa trên việc thực hiện và xây dựng ứng dụng, giúp đảm bảo chất lượng và hiệu suất của phần mềm.
Kiểm thử hộp trắng là phương pháp kiểm thử dựa trên cấu trúc và mã lệnh của chương trình, cho phép kiểm tra toàn diện chương trình, phần chương trình, hoặc hệ thống Phương pháp này đảm bảo rằng tất cả các giá trị đầu vào, bao gồm cả giá trị không hợp lệ hoặc không mong đợi, đều được kiểm tra.
Khi kiểm thử hộp trắng, cần chú ý đến đường dẫn lệnh trong phương pháp này Việc thực hiện tất cả các đường dẫn của đồ thị điều khiển trong chương trình sẽ đảm bảo kiểm thử triệt để Tuy nhiên, do số lượng đường dẫn logic khác nhau trong một chương trình rất lớn, điều này trở nên không khả thi.
Ngoài những điều kiện không khả thi, chương trình còn có thể gặp nhiều lỗi do các nguyên nhân khác Đây chính là nhược điểm của phương pháp kỹ thuật kiểm thử hộp trắng.
- Việc kiểm thử bằng kỹ thuật hộp trắng không thể đảm bảo rằng chương trình đã tuân theo đặc tả
- Một chương trình bị sai do thiếu đường dẫn, việc kiểm thử hộp trắng không thể biết được sự thiếu sót này
- Việc kiểm thử bằng kỹ thuật hộp trắng không thể phát hiện được lỗi do dữ liệu gây ra
Để đảm bảo việc phát hiện lỗi hiệu quả trong kiểm thử phần mềm, việc chỉ sử dụng kỹ thuật kiểm thử hộp trắng là không đủ Do đó, thiết kế các trường hợp kiểm thử cần kết hợp với kiểm thử hộp đen để đạt được kết quả kiểm thử triệt để.
Hình 2.2 Sơ đồ khối chu trình điều khiển a) Kiểm thử theo đường dẫn
Kiểm thử đường dẫn (Basic Path Testing) là một kỹ thuật kiểm thử hộp trắng, cho phép thiết kế các trường hợp kiểm thử dựa trên độ phức tạp logic của thiết kế thủ tục Phương pháp này sử dụng các phép đo để xác định một tập cơ sở các đường dẫn thực hiện, đảm bảo rằng mỗi lệnh trong chương trình được thực hiện ít nhất một lần trong quá trình kiểm thử.
Phương pháp kiểm thử đường dẫn có thể áp dụng mà không cần đồ thị luồng, nhưng đồ thị luồng là công cụ hữu ích để nắm bắt luồng điều khiển và minh họa phương pháp tiếp cận Bài viết này sẽ trình bày các thành phần cơ bản của đồ thị luồng và ký hiệu đồ thị tương ứng với mỗi cấu trúc điều khiển.
Biểu diễn điều kiện phức trong đồ thị luồng là một quá trình quan trọng, trong đó các điều kiện phức được thể hiện thông qua các phép toán logic như AND, OR và NOT Khi gặp điều kiện phức, cần chia nhỏ thành các điều kiện đơn để thực hiện kiểm thử đường dẫn cơ sở hiệu quả Mỗi đỉnh chứa điều kiện được gọi là đỉnh điều kiện và thường có hai hoặc nhiều cạnh xuất phát từ nó.
Trong bài viết này, chúng ta sẽ chuyển đổi từ đồ thị thuật toán sang đồ thị luồng Cụ thể, đồ thị thuật toán 2.6 (a) sẽ được chuyển đổi thành đồ thị luồng 2.6 (b).
Độ phức tạp Cyclomatic là một thước đo quan trọng trong lập trình ứng dụng, giúp đánh giá định lượng độ phức tạp của chương trình Trong bối cảnh phương pháp kiểm thử đường dẫn cơ sở, giá trị của độ phức tạp Cyclomatic xác định số lượng đường dẫn độc lập trong một tập cơ sở chương trình, từ đó cung cấp giới hạn trên cho số lượng kiểm thử cần thiết để đảm bảo rằng tất cả các câu lệnh trong chương trình đều được thực hiện ít nhất một lần.
Kiểm thử mô hình ứng dụng Web
Trong kỹ thuật phần mềm, một ứng dụng Web hay một Webapp là một trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như Internet
Các ứng dụng Web là phần mềm độc lập chạy trên máy chủ web hoặc máy chủ ứng dụng, tương tác với người dùng qua trình duyệt Chúng hoạt động theo mô hình Client-Server, trong đó Client gửi yêu cầu và Server xử lý để cung cấp phản hồi Chu trình này tạo nền tảng cho các ứng dụng Web, với hầu hết sử dụng giao thức HTTP để giao tiếp.
2.2.2 Các thành phần của ứng dựng Web
Hiểu rõ các thành phần bên trong của một ứng dụng Web và cách chúng giao tiếp với nhau là rất quan trọng để nâng cao hiệu quả kiểm thử Thông thường, kiến trúc của ứng dụng Web được nhận biết qua việc đọc mã nguồn hoặc phân tích sự giao tiếp giữa các thành phần Tuy nhiên, việc nắm vững kiến trúc ứng dụng ở mức độ thành phần là cần thiết để xác định các loại lỗi cần tìm và đặt ra các câu hỏi phù hợp.
Hệ thống Client – Server trên Web được cấu trúc thành ba tầng liên quan chặt chẽ với nhau: (1) các thành phần dịch vụ phía người dùng, (2) các thành phần dịch vụ xử lý.
(3) các thành phần dịch vụ dữ liệu [5]
Hình 2.8 Hệ thống ứng dụng Web 3 tầng
Các thành phần phần mềm trong hệ thống ứng dụng web cung cấp các chức năng cụ thể và liên quan đến nhau Chúng bao gồm ứng dụng tích hợp, các thành phần của hãng thứ ba, thành phần dịch vụ, hệ điều hành, và các dịch vụ ứng dụng như trình chủ Web và cơ sở dữ liệu SQL.
Các thành phần của hãng thứ ba trong ứng dụng Web được chia thành các đơn vị nhỏ hơn gọi là Unit hay Module, bao gồm mã nguồn và định dạng nhị phân như DLL hoặc tệp JAR Ngoài ra, các thành phần này còn bao gồm thành phần Java và điều khiển ActiveX.
Thư viện liên kết động (DLL) là một khái niệm quan trọng trong lập trình, và việc hiểu rõ về DLL cùng với các lỗi tiềm ẩn liên quan sẽ giúp chúng ta thiết kế các trường hợp kiểm thử hiệu quả.
Trình chủ cơ sở dữ liệu là những kho lưu trữ dữ liệu hỗ trợ cho trình chủ Web, thường được sử dụng trong các ứng dụng Web thông qua trình chủ cơ sở dữ liệu quan hệ.
HTML là ngôn ngữ đánh dấu chuẩn để tạo trang web, trong khi XML là định dạng dữ liệu chuẩn cho phép các hệ thống hỗ trợ XML trao đổi thông tin với nhau.
2.2.3 So sánh kiểm thử Web và kiểm thử truyền thống
Khi kiểm thử ứng dụng Web, việc áp dụng các phương pháp phân tích và kiểm thử lỗi mới là rất quan trọng Mặc dù đã nắm vững các kỹ thuật kiểm thử truyền thống, chúng ta cần hiểu rõ sự khác biệt giữa kiểm thử ứng dụng Web và kiểm thử truyền thống để áp dụng hiệu quả Đầu tiên, cần xem xét mô hình ứng dụng của hệ thống máy tính so với hệ thống Client-Server dựa trên Web Hệ thống máy tính bao gồm phần cứng và phần mềm, nhận dữ liệu đầu vào từ người dùng, lưu trữ dữ liệu trong bộ nhớ (RAM) hoặc ổ cứng, thực hiện tính toán và trả lại đầu ra cho người dùng qua các giao diện khác nhau như bản ghi hoặc mẫu văn bản.
Hệ thống Client-Server dựa trên nền tảng Web khác biệt so với hệ thống máy tính thông thường, yêu cầu một mạng lưới và tối thiểu hai máy tính: một máy tính khách (Client) và một máy tính chủ (Server) Trong mô hình này, máy Client gửi yêu cầu đến Server, sau đó Server xử lý và trả lại kết quả được định dạng, hiển thị trên trình duyệt của máy Client.
Hình 2.10 Các hệ thống Client – Server b) Các ứng dụng phía Client
Trình khách của hệ thống máy khách chủ truyền thống chỉ hoạt động trên các nền tảng như Windows và Linux, trong khi trình khách hệ thống Web là các ứng dụng truy cập dữ liệu thông qua trình duyệt Các ứng dụng này được thiết kế để xử lý các hoạt động tương tự như hệ thống khách chủ truyền thông, nhưng khác biệt ở chỗ chúng hoạt động trong môi trường trình duyệt Web Trình duyệt Web có khả năng hiển thị thông tin dưới dạng ngôn ngữ đánh dấu (HTML), nội dung động như Ajax và Flash, cùng với các ngôn ngữ như XML, CSS và các tính năng bảo mật.
Các ứng dụng phía trình chủ khác biệt với ứng dụng phía trình khách ở hai điểm chính Thứ nhất, ứng dụng phía trình chủ không có giao diện người dùng, nghĩa là người dùng cuối chỉ tương tác với các ứng dụng phía trình khách Thứ hai, các ứng dụng phía trình chủ hoạt động liên tục, luôn sẵn sàng cung cấp dịch vụ cho ứng dụng phía trình khách, trong khi ứng dụng phía trình khách cần có sự tương tác từ người dùng để hoạt động.
2.2.4 Các kiểm thử cho ứng dụng Web
Để kiểm thử một ứng dụng Web hiệu quả, chúng ta cần chú trọng đến các vấn đề quan trọng như kiểm thử giao diện người dùng Điều này bao gồm việc đảm bảo rằng giao diện thân thiện, dễ sử dụng và đáp ứng tốt trên nhiều thiết bị khác nhau Việc kiểm tra các yếu tố như tính tương thích trình duyệt, khả năng phản hồi và trải nghiệm người dùng là rất cần thiết để đảm bảo ứng dụng hoạt động trơn tru và đáp ứng nhu cầu của người dùng.
Vấn đề đầu tiên trong kiểm thử ứng dụng Web chúng ta cần xem xét đến đó là
Kiểm thử giao diện người dùng là một yếu tố quan trọng trong quá trình phát triển ứng dụng web Khi thiết kế giao diện, cần chú ý đến mục tiêu của người thiết kế và lĩnh vực ứng dụng, đồng thời xem xét công nghệ mà người phát triển sử dụng để xây dựng giao diện.
Kiểm thử thiết kế giao diện người dùng
Kiểm thử giao diện người dùng là quá trình đánh giá khả năng đáp ứng yêu cầu của người dùng đối với thiết kế Điều này bao gồm việc xem xét tính dễ sử dụng, cũng như cảm nhận và hình thức của giao diện Khi thực hiện kiểm thử, cần chú ý đến sự phù hợp của thiết kế, xác định các khu vực có thể gây nhầm lẫn cho người dùng và đảm bảo rằng giao diện đáp ứng đúng mong đợi của họ.
BÀI TOÁN VÀ GIẢI PHÁP
Mô tả yêu cầu bài toán
Sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt trong phân phối dữ liệu trực tuyến, đã dẫn đến sự phức tạp ngày càng tăng của các ứng dụng Web Do đó, việc xây dựng và kiểm tra tính đúng đắn của các ứng dụng này đòi hỏi độ chính xác và tin cậy cao Nhiều công cụ và nghiên cứu liên quan đến kiểm tra tính chính xác của ứng dụng web đã được phát triển, bao gồm các công cụ kiểm thử white-box, black-box, và các công cụ kiểm thử giao diện, chức năng và dữ liệu web Từ đó, tôi tập trung vào nghiên cứu và xây dựng chương trình kiểm thử các chức năng và tính liên kết của các chức năng trong ứng dụng web, đồng thời ứng dụng phương pháp kiểm thử white-box.
Trong luận văn này, tôi phát triển bộ công cụ kiểm thử tự động cho các liên kết chức năng của ứng dụng web, dựa trên các test cases chung Mục tiêu chính là hỗ trợ các nhà phát triển web trong việc kiểm tra và thao tác với từng phần hoặc toàn bộ cấu trúc chương trình Nghiên cứu của tôi cũng giúp người dùng tránh các lỗi khi sử dụng các chức năng của ứng dụng web, từ đó nâng cao hiệu quả công việc và giảm thiểu phiền toái.
Để duy trì và phát triển một ứng dụng web thân thiện với người dùng, cần phải dựa vào các chức năng mà ứng dụng cung cấp Việc nắm bắt và phân tích đầy đủ các yêu cầu thông qua mô hình hóa chức năng sẽ giúp ứng dụng trở nên hoàn thiện và dễ dàng nâng cấp Do đó, kiểm tra tính sử dụng của ứng dụng là một yếu tố thiết yếu trong quá trình xây dựng và hoàn thiện chương trình, nhằm cung cấp cho người dùng các chức năng tốt nhất và ổn định nhất.
Giải pháp giải quyết bài toán
Bài toán kiểm thử có thể được giải quyết bằng phương pháp thủ công, nhưng sẽ dẫn đến thiếu sót và không có tính liên kết chặt chẽ Do đó, tôi đã phát triển một mô hình kiểm thử tự động thông qua việc phân tích toàn bộ chức năng của ứng dụng web Mô hình này sẽ sinh ra các ca kiểm thử phù hợp cho từng chức năng và hành động, duyệt tất cả các trạng thái có thể có trong ca kiểm thử Mô hình kiểm thử tự động (automated navigation testing) sẽ bao gồm tất cả các ca kiểm thử, từ liên kết chức năng với cơ sở dữ liệu, giao diện, đến các tính năng bảo mật của hệ thống, và tác động trực tiếp vào phản hồi khi chức năng được kích hoạt.
Mô hình giải quyết vấn đề được trình bày trong hình 3.1, với các tính năng đặc trưng Đầu vào của chương trình là một ứng dụng web chứa các trang web và dữ liệu liên kết Dựa trên những liên kết này, tôi sẽ xây dựng một bảng chi tiết các trạng thái có thể xảy ra cho từng chức năng, và bảng này sẽ được sử dụng như một tệp đầu vào cho ca kiểm thử cụ thể của chức năng đó.
Quá trình thực thi của ca kiểm thử được mô tả trong hình 3.2 và được triển khai trên môi trường WebDriver.
Trong phần kết quả, tôi sẽ trình bày các chức năng của ứng dụng web đã được kiểm thử thông qua các liên kết cụ thể Kết quả sẽ chỉ ra tính chặt chẽ của các liên kết và xác định liên kết nào gặp lỗi so với đặc tả ca kiểm thử.
Hình 3.1 Mô hình giải quyết bài toán Hình 3.2 Quá trình thực thi
3.2.1 Đầu vào cho ứng dụng kiểm thử
Xây dựng hoặc sử dụng một ứng dụng Web hiện có để thực hiện kiểm thử tự động là một bước quan trọng Bạn có thể lựa chọn tạo một ứng dụng Web mã nguồn mở bằng Joomla hoặc sử dụng các trang HTML đơn giản để dễ dàng triển khai.
Hình 3.3: Kiểm thử chức năng tạo bài viết
Sau khi xác định ứng dụng Web cần kiểm thử, bước đầu tiên là xác định các chức năng cần kiểm tra Tiếp theo, người kiểm thử sẽ liệt kê tất cả các trường hợp có thể xảy ra liên quan đến chức năng đó, tạo thành các ca kiểm thử Tệp tin chứa danh sách các ca kiểm thử này sẽ được sử dụng làm đầu vào cho chương trình kiểm thử tự động, và có thể được lưu trữ trong tệp tin Excel.
Hình 3.4: Tệp tin mô tả kiểm thử việc đăng bài viết tự động
Bảng 3.3 trình bày các ca kiểm thử cho trường hợp đăng bài viết tự động Một số ca kiểm thử cụ thể bao gồm: kiểm tra tính năng đăng bài thành công, xử lý lỗi khi nội dung không hợp lệ, và xác minh thông báo phản hồi sau khi đăng bài.
Để hoàn tất quy trình nhập bài viết, bạn cần điền đầy đủ tiêu đề (Title), tên viết tắt (alias), chọn mục bài viết (section) và nhập nội dung (content) Sau khi bấm nút Lưu, nếu mọi thông tin đều hợp lệ, hệ thống sẽ trả về kết quả thành công Ngược lại, nếu không nhập tên viết tắt (alias) và mục bài viết (section), hệ thống sẽ thông báo lỗi và trạng thái sẽ được lưu lại là Lỗi.
Sau khi xác định tệp tin đầu vào cho các ca kiểm thử, việc xây dựng mô hình hóa trực quan các trường hợp kiểm thử là rất quan trọng Điều này giúp kiểm thử viên kiểm soát và quản lý các ca kiểm thử một cách hiệu quả, đảm bảo không bỏ sót trường hợp nào Trong luận văn này, ứng dụng Graphviz được sử dụng để mô hình hóa các ca kiểm thử, mang lại sự rõ ràng và dễ hiểu trong quá trình kiểm thử.
Mã lệnh thực hiện mô hình hóa: digraph finite_state_machine { rankdir=LR; size="6,3" node [shape = doublecircle]; S_Artical S_Error S_MainArticle; node [shape = circle];
Hình 3.5: Mô hình hóa trực quan các trường hợp kiểm thử
Kiểm thử viên đóng vai trò quan trọng trong việc xác định ca kiểm thử đầu vào cho chức năng của ứng dụng Web, dù là thực hiện kiểm thử thủ công hay kiểm thử tự động.
WebDriver được phát triển để cung cấp một giao diện lập trình đơn giản hơn và khắc phục những hạn chế của Selenium RC Nó hỗ trợ tốt hơn cho các trang web động, nơi mà các yếu tố có thể thay đổi mà không cần tải lại trang API của WebDriver là một API hướng đối tượng, được thiết kế nhằm cải thiện việc kiểm thử các ứng dụng web hiện đại.
- Làm việc trực tiếp với trình duyệt
- Hộ trợ IE, Firefox, Opera, Chorme, Android, và Iphone
- Không cần sử dụng Server để hoạt động b) Thành phần của WebDriver
WebDriver là công cụ quan trọng giúp định vị các phần tử trên ứng dụng Web như button, checkbox, textbox và link Việc kiểm thử tự động không yêu cầu tương tác trực tiếp bằng chuột hay bàn phím, do đó, việc xác định vị trí các phần tử trên ứng dụng Web là cần thiết Dưới đây là một số thành phần chính của WebDriver.
By Id: Cách này được sử dụng nhiều nhất và hiệu quả nhất để định vị một phần tử Cú pháp sử dụng:
WebElement username = driver.findElement(By.id("modlgn_username"));
Hình 3.6: Định vị By Id
Name: Tìm phần tử có thuộc tính là Name Cú pháp sử dụng:
WebElement username = driver.findElement(By.name("passwd"));
By Xpath: Sử dụng xpath có khả năng định vị bất kỳ phần tử nào trên ứng dụng Web Cú pháp sử dụng:
In web automation testing, the WebElement can be located using XPath, as demonstrated by the code snippet: `WebElement radio = driver.findElement(By.xpath("//*[@id='state0']"));` One of the commonly used WebDriver methods is `get()`, which is utilized to load the webpage that requires automated testing.
To automate browser interactions using WebDriver, first initialize a FirefoxDriver instance with `WebDriver driver = new FirefoxDriver();` and navigate to the desired URL using `driver.get("http://localhost/manews.vn/");` To clear input fields, use the `driver.clear();` method For entering text into a textbox, utilize `driver.findElement(By.id("name")).sendKeys("Nguyen Hong Son");` and `driver.findElement(By.id("email")).sendKeys("sonnh@gmail.com");` To click on elements, implement `driver.findElement(By.xpath("//*[@id='cpanel']/div[9]/div/a")).click();` To close all related driver windows, execute `driver.close();` Additionally, you can retrieve the page title with `getTitle();` and read text values using `getText();`.
3.2.3 Giải pháp ghi lại kết quả đầu ra a) Chụp hình lại kết quả kiểm thử
WebDriver offers an API function that enables capturing the results of testing By utilizing the getScreenshotAs(OutputType.FILE) method, you can take screenshots for each test case.
Thuộc tính OutputType: Kiểu kết quả được ghi ra sau khi chụp màn hình
Thuộc tính FILE: Cho phép xác định đường dẫn để lưu ảnh sau khi chụp
Cú pháp: private void captureScreen(WebDriver driver) throws IOException{
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(System.getProperty("user.dir") + "\\Url\\" + "Filename_" + ".png")); } b) Ghi kết quả ra tệp tin XML
THỰC NGHIỆM
Kết quả thực nghiệm
Sau khi thực chạy chương trình duyệt tất cả các trường hợp kiểm thử khi thực hiện đăng nhập, kết quả thu được cụ thể:
Kết quả ghi ra Excel:
Kết quả được ghi vào tệp tin Excel, ghi lại các trường hợp kiểm thử và trạng thái là thành công hay thất bại
Hình 4.14 Kết quả ghi ra kiểm thử Login ghi ra tệp tin Excel
Trường hợp 1 với việc nhập User name là anhnv, Password là anhnvpwd123, Ngôn ngữ là Vietnamese-VN => Ở cột Results thông báo là đăng nhập thành công
Trường hợp 2 với việc nhập User name là anhnv, Password là anhnvpwd123, Ngôn ngữ là English (United Kingdom) => Ở cột Results thông báo là đăng nhập thành công
Trường hợp 3 với việc nhập User name là anhnv, Password để ” trống”, Ngôn ngữ là Vietnamese-VN => Ở cột Results thông báo là đăng nhập Thất bại
Trường hợp 4 với việc nhập User name để “trống”, Password là anhnvpwd123, Ngôn ngữ là Vietnamese-VN => Ở cột Results thông báo là đăng nhập Thất bại
Trường hợp 5 với việc nhập User name để “trống”, Password để “trống”, Ngôn ngữ là Vietnamese-VN => Ở cột Results thông báo là đăng nhập Thất bại
Kết quả ghi ra XML:
Kết quả được ghi nhận vào tệp tin XML, liệt kê tất cả các trường hợp kiểm thử
Listing 2 Kết quả ghi ra kiểm thử Login ghi ra tệp tin XML
Với mỗi thẻ Ghi nhận các trường hợp kiểm thử xem có đúng không Ở hình trên có thể thấy
-> Nhập Username là anhnv -> Mật khẩu là anhnvpwd123 -> Ngôn ngữ là Vietnamese-VN
Màn hình đăng nhập thành công với Username là anhnv , Password là anhvnpwd123 và ngôn ngữ là Vietnamese-VN
Hình4.15 Trường hợp đăng nhập thành công
Trường hợp đăng nhập không thành công với việc để Username và Password để trắng
Hình 4.16 Trường hợp đăng nhập không thành công
Ý nghĩa chương trình kiểm thử tự động
Chương trình kiểm thử tự động ứng dụng Web đã được thực nghiệm trên hơn 10 website khác nhau, đạt kết quả tốt và đáp ứng yêu cầu của bài toán Kiểm thử thành công với nhiều ứng dụng Web cho thấy tầm quan trọng của kiểm thử tự động, giúp giải quyết các vấn đề của kiểm thử thủ công như bỏ sót kiểm thử và không ghi nhận được lỗi phát sinh Ngoài ra, kiểm thử tự động còn tiết kiệm thời gian và giảm bớt sự nhàm chán trong quá trình kiểm thử.
Việc xây dựng và thực nghiệm thành công chương trình kiểm thử tự động cho đăng nhập ứng dụng Web sẽ tạo nền tảng vững chắc để phát triển một chương trình hoàn chỉnh, đảm bảo khả năng kiểm thử toàn bộ ứng dụng Web cụ thể.
Trong luận văn, tôi đã phát triển một số chương trình kiểm thử, bao gồm kiểm thử tự động cho việc đăng nội dung bài viết, kiểm thử chức năng ẩn hiện bài viết, và kiểm thử tìm kiếm chi tiết trên Google Thông tin chi tiết có thể tham khảo trong phụ lục B.