Luận văn: Nghiên cứu và Xây dựng Công cụ Kiểm thử Ứng dụng Web

Luận văn thạc sĩ về nghiên cứu và xây dựng công cụ kiểm thử ứng dụng web. Tìm hiểu phương pháp, kỹ thuật kiểm thử hiệu quả cho ứng dụng web hiện đại.

Trường đại học

Đại học Quốc gia Hà Nội

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2014

66
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

DANH MỤC CÁC BẢNG

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

LỜI GIỚI THIỆU

1. CHƢƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM

1.1. Các khái niệm cơ bản

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

1.3. Mức kiểm thử

1.4. Kiểm thử tự động

1.5. Ứng dụng Web

1.6. Kỹ thuật kiểm thử tĩnh

1.7. Kiểm thử dòng dữ liệu tĩnh

1.8. Kỹ thuật kiểm thử động

1.9. Kiểm thử hàm

1.10. Kiểm thử dòng điều khiển

1.11. Kiểm thử dòng dữ liệu động

1.12. Các loại kiểm thử ứng dụng Web

2. CHƢƠNG 2: CÁC CÔNG CỤ KIỂM THỬ TỰ ĐỘNG CHO CÁC ỨNG DỤNG WEB

2.1. Công cụ kiểm thử tự động tĩnh

2.2. Công cụ kiểm thử ngôn ngữ lập trình phía máy chủ

2.3. Công cụ kiểm thử ngôn ngữ lập trình phía máy khách

2.4. Công cụ kiểm thử tự động động

2.5. Công cụ kiểm thử giao diện người dùng

2.6. Công cụ kiểm thử hàm

2.7. Công cụ kiểm thử khả năng chịu tải của ứng dụng Web

2.8. Thư viện hỗ trợ xây dựng công cụ kiểm thử tự động

3. CHƢƠNG 3: XÂY DỰNG CÔNG CỤ KIỂM THỬ TỰ ĐỘNG

3.1. Đặt vấn đề bài toán

3.2. Phân tích bài toán

3.3. Thỏa thuận khi sử dụng công cụ

3.4. Xây dựng công cụ

3.5. Ứng dụng công cụ vào thực tế

3.6. Ứng dụng vào form thành viên đăng nhập

3.7. Ứng dụng vào form đăng ký nhận bản tin

3.8. Đánh giá ưu nhược điểm của công cụ

4. CHƢƠNG 4: KẾT LUẬN

4.1. Tóm tắt kết quả làm được

4.2. Hướng nghiên cứu

TÀI LIỆU THAM KHẢO

Phụ lục 1: Kết quả sau khi thực hiện kiểm thử form thành viên đăng nhập

Phụ lục 2: Kết quả sau khi thực hiện kiểm thử form đăng ký nhận bản tin

Tóm tắt

I. Tổng Quan Về Kiểm Thử Ứng Dụng Web Hướng Dẫn Chi Tiết

Kiểm thử ứng dụng web là một quá trình thiết yếu nhằm đảm bảo chất lượng và độ tin cậy của các ứng dụng trực tuyến. Quá trình này bao gồm việc xác định các lỗi, thiếu sót, và các vấn đề tiềm ẩn khác trước khi ứng dụng được triển khai cho người dùng cuối. Kiểm thử không chỉ giúp cải thiện trải nghiệm người dùng mà còn giảm thiểu rủi ro về bảo mật và chi phí khắc phục lỗi sau này. Kiểm thử phần mềm đóng vai trò quan trọng trong việc cải thiện chất lượng phần mềm và giảm chi phí kiểm thử cũng như khắc phục lỗi. Kiểm thử phần mềm sử dụng quy trình kiểm chứng và thẩm định chất lượng phần mềm trong quá trình thực hiện việc kiểm thử. Kiểm thử tĩnh và kiểm thử động là hai phương pháp tiếp cận chính, mỗi phương pháp có những ưu điểm và ứng dụng riêng. Kiểm thử tĩnh tập trung vào việc phân tích mã nguồn và tài liệu liên quan mà không cần thực thi chương trình, giúp phát hiện sớm các lỗi cú pháp, logic và tuân thủ quy chuẩn. Kiểm thử động bao gồm việc thực thi ứng dụng với các đầu vào khác nhau để kiểm tra chức năng, hiệu năng và bảo mật. Việc kết hợp cả hai phương pháp này mang lại hiệu quả kiểm thử toàn diện, đảm bảo ứng dụng hoạt động ổn định và đáp ứng yêu cầu của người dùng. Theo tài liệu gốc, kiểm thử phần mềm có vai trò rất quan trọng trong việc cải thiện chất lượng phần mềm [4, tr.655-657] và làm giảm chi phí kiểm thử cũng như khắc phục lỗi.

1.1. Các khái niệm cơ bản về kiểm thử web và phần mềm

Kiểm thử phần mềm bao gồm các giai đoạn và mức độ khác nhau, từ kiểm thử đơn vị đến kiểm thử chấp nhận. Mỗi mức độ kiểm thử tập trung vào các khía cạnh khác nhau của ứng dụng, từ tính đúng đắn của các thành phần riêng lẻ đến khả năng hoạt động ổn định của toàn bộ hệ thống. Kiểm thử đơn vị (unit testing) tập trung vào việc kiểm tra các thành phần nhỏ nhất của ứng dụng, chẳng hạn như hàm hoặc lớp. Kiểm thử tích hợp (integration testing) kiểm tra sự tương tác giữa các thành phần khác nhau. Kiểm thử hệ thống (system testing) đảm bảo rằng toàn bộ hệ thống hoạt động đúng theo yêu cầu. Kiểm thử chấp nhận (acceptance testing) được thực hiện bởi người dùng cuối để xác nhận rằng ứng dụng đáp ứng nhu cầu của họ. Các khái niệm như lỗi, sai, khuyết thiếu, thất bại đều có nghĩa khá gần nhau nhưng trên thực tế cần phân biệt rõ các khái niệm này. Lỗi do lập trình viên phạm phải trong quá trình lập trình. Sai bắt nguồn từ lỗi, do quá trình thực hiện không tuân theo quy trình dẫn đến phần mềm thực hiện một cách không xác định. Thất bại xảy ra khi chức năng của phần mềm không thực hiện đúng như mong đợi. Khuyết thiếu là sự thiếu sót các trường hợp có thể xảy ra khi phần mềm hoạt động, có thể do đặc tả thiếu hoặc thiếu sót khi lập trình.

1.2. Phân biệt kiểm thử tĩnh và kiểm thử động Cách tiếp cận

Kiểm thử tĩnh và kiểm thử động là hai phương pháp chính trong kiểm thử phần mềm, mỗi phương pháp có cách tiếp cận và mục tiêu khác nhau. Kiểm thử tĩnh bao gồm việc xem xét mã nguồn, tài liệu thiết kế và các tài liệu liên quan khác để phát hiện lỗi mà không cần thực thi chương trình. Phương pháp này thường sử dụng các công cụ phân tích mã tĩnh để kiểm tra cú pháp, quy tắc coding, và các vấn đề tiềm ẩn khác. Kiểm thử tĩnh được thực hiện trước quy trình thẩm định do sản phẩm phần mềm cần đúng với đặc tả trước. Kiểm thử động bao gồm việc thực thi chương trình với các đầu vào khác nhau và kiểm tra kết quả để đảm bảo rằng chương trình hoạt động đúng theo yêu cầu. Phương pháp này bao gồm kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống và kiểm thử chấp nhận. Kiểm thử động có thể chia làm hai nhóm kỹ thuật chính là kỹ thuật kiểm thử tĩnh và kỹ thuật kiểm thử động. Kiểm thử tĩnh là kỹ thuật không yêu cầu phải biên dịch và chạy mã nguồn chương trình để thực hiện việc kiểm thử phần mềm. Kỹ thuật này kiểm thử chương trình bằng cách kiểm tra cú pháp, cấu trúc mã nguồn của chương trình hoặc rà soát các tài liệu liên quan như tài liệu đặc tả, tài liệu thiết kế để tìm ra lỗi.

II. Các Công Cụ Kiểm Thử Ứng Dụng Web Tự Động Top Công Cụ

Việc lựa chọn công cụ kiểm thử tự động phù hợp là một quyết định quan trọng, ảnh hưởng trực tiếp đến hiệu quả và chi phí của quá trình kiểm thử. Hiện nay, có rất nhiều công cụ kiểm thử tự động khác nhau, mỗi công cụ có những ưu điểm và nhược điểm riêng. Các công cụ kiểm thử tự động được chia thành nhiều loại khác nhau, bao gồm công cụ kiểm thử tĩnh, công cụ kiểm thử động, công cụ kiểm thử hiệu năng, và công cụ kiểm thử bảo mật. Việc đánh giá kỹ lưỡng các tiêu chí như khả năng tương thích với nền tảng và ngôn ngữ lập trình, độ dễ sử dụng, khả năng tùy biến, và chi phí là rất quan trọng để đưa ra lựa chọn tối ưu. Cần phải xem xét đến yêu cầu và đặc thù của từng dự án để đưa ra lựa chọn phù hợp nhất. Các công cụ kiểm thử tự động được chia thành nhiều loại khác nhau, bao gồm công cụ kiểm thử tĩnh, công cụ kiểm thử động, công cụ kiểm thử hiệu năng, và công cụ kiểm thử bảo mật.

2.1. Phân tích các công cụ kiểm thử tĩnh Ưu và nhược điểm

Các công cụ kiểm thử tĩnh giúp phát hiện sớm các lỗi trong mã nguồn và tài liệu liên quan, từ đó giảm thiểu chi phí và thời gian sửa lỗi sau này. Fxcop là một công cụ phân tích mã nguồn cho các ngôn ngữ lập trình .Net, giúp phát hiện các sai phạm về tiêu chuẩn, quy ước hoặc dư thừa mã nguồn. JSLint là công cụ phân tích mã nguồn Javascript, giúp phát hiện các lỗi cú pháp, lỗi tiềm ẩn và các vấn đề về coding style. Ưu điểm của các công cụ kiểm thử tĩnh bao gồm khả năng phát hiện sớm lỗi, cải thiện chất lượng mã nguồn, và giảm chi phí bảo trì. Nhược điểm bao gồm khả năng bỏ sót các lỗi phức tạp, yêu cầu kiến thức chuyên môn về mã nguồn, và khả năng đưa ra các cảnh báo sai. Fxcop giúp hỗ trợ phát hiện các sai phạm hoặc các dư thừa trong mã nguồn như sai phạm về tiêu chuẩn, quy ước hoặc dư thừa mã nguồn khi khai báo biến nhưng không sử dụng. JSLint là công cụ phân tích mã nguồn Javascript được cung cấp dưới dạng một ứng dụng Web. Sử dụng JSLint khá đơn giản, chỉ cần sao chép mã nguồn Javascript và dán vào input để JSLint thực thi phân tích mã nguồn.

2.2. Đánh giá các công cụ kiểm thử động Selenium Loader.io ...

Các công cụ kiểm thử động cho phép thực thi ứng dụng và kiểm tra chức năng, hiệu năng và bảo mật. Selenium IDE là một công cụ hỗ trợ việc kiểm thử hàm tự động cho các ứng dụng web, hoạt động bằng cách ghi lại các thao tác trên trình duyệt và chạy lại. Loader.io là công cụ hỗ trợ cho việc kiểm thử khả năng chịu tải của ứng dụng web, cho phép kiểm thử viên có thể thực hiện việc kiểm thử khả năng chịu tải của ứng dụng web theo ba kiểu. Selenium IDE hoạt động bằng cách ghi lại các thao tác trên trình duyệt và chạy lại. Loader.io cho phép kiểm thử viên có thể thực hiện việc kiểm thử khả năng chịu tải của ứng dụng Web theo ba kiểu: Sử dụng số lượng lớn truy vấn trong một ca kiểm thử, không giới hạn số lượng truy vấn trên một giây. Sử dụng số lượng lớn truy vấn trong một ca kiểm thử nhưng quy định giới hạn số lượng truy vấn trong một giây. Liên tục duy trì số lượng lớn truy vấn trong một ca kiểm thử trong suốt thời gian quy định.

III. Hướng Dẫn Xây Dựng Công Cụ Kiểm Thử Ứng Dụng Web Tự Động

Việc xây dựng công cụ kiểm thử tự động riêng có thể mang lại nhiều lợi ích, đặc biệt là khi các công cụ có sẵn không đáp ứng đầy đủ yêu cầu của dự án. Quá trình xây dựng công cụ kiểm thử tự động bao gồm các bước như xác định yêu cầu, thiết kế kiến trúc, lựa chọn công nghệ, phát triển và kiểm thử. Selenium WebDriver là một thư viện hỗ trợ xây dựng công cụ kiểm thử tự động, cung cấp các API để tương tác với các thành phần HTML trên trình duyệt web. Thư viện này có thể kết hợp với nhiều ngôn ngữ lập trình và hỗ trợ hầu hết các trình duyệt phổ biến hiện nay. Việc tự xây dựng công cụ kiểm thử cho phép tùy biến và kiểm soát hoàn toàn quá trình kiểm thử. Việc xây dựng công cụ kiểm thử tự động riêng có thể mang lại nhiều lợi ích, đặc biệt là khi các công cụ có sẵn không đáp ứng đầy đủ yêu cầu của dự án.

3.1. Xác định yêu cầu và phân tích bài toán kiểm thử web

Để xây dựng một công cụ kiểm thử tự động hiệu quả, việc xác định yêu cầu và phân tích bài toán là bước đầu tiên và quan trọng nhất. Cần xác định rõ mục tiêu của công cụ, phạm vi kiểm thử, và các chức năng cần thiết. Phân tích bài toán giúp xác định các thành phần cần kiểm thử, các loại lỗi cần phát hiện, và các tiêu chí đánh giá. Việc kiểm tra tính hợp lệ của các dữ liệu đầu vào là rất quan trọng do dữ liệu đầu vào không chỉ yêu cầu phải đúng kiểu dữ liệu mà còn đòi hỏi phải đúng định dạng của loại dữ liệu đó, ví dụ như định dạng email, dạng số hay ngày tháng. Do đó các ứng dụng Web cần phải có khả năng kiểm tra tính hợp lệ của dữ liệu đầu vào một cách hiệu quả thì các tiến trình xử lý tiếp theo mới được đảm bảo hoạt động tốt.

3.2. Sử dụng Selenium WebDriver Cách tích hợp API

Selenium WebDriver là một thư viện mạnh mẽ cung cấp các API để tương tác với các thành phần HTML trên trình duyệt web. Việc tích hợp Selenium WebDriver vào công cụ kiểm thử tự động cho phép điều khiển trình duyệt, nhập dữ liệu, kích hoạt sự kiện, và kiểm tra kết quả. Selenium WebDriver có thể kết hợp với nhiều ngôn ngữ lập trình như Java, Python, C#, và hỗ trợ hầu hết các trình duyệt phổ biến như Chrome, Firefox, Safari. Selenium WebDriver có thể kết hợp với nhiều ngôn ngữ lập trình và hỗ trợ hầu hết các trình duyệt phổ biến hiện nay. Các API mà Selenium WebDriver cung cấp rất đơn giản và dễ sử dụng. Tuy nhiên các API này không hoạt động tốt với các thành phần Ajax cũng như các thành phần như hộp thoại hay cảnh báo.

3.3. Thuật toán sinh ca kiểm thử Giá trị biên tương đương

Để tự động hóa quá trình kiểm thử, cần xây dựng các thuật toán sinh ca kiểm thử tự động. Các thuật toán này có thể dựa trên các kỹ thuật kiểm thử như giá trị biên, phân vùng tương đương, và kiểm thử tổ hợp. Thuật toán giá trị biên tập trung vào việc kiểm tra các giá trị ở biên của miền dữ liệu, trong khi thuật toán phân vùng tương đương chia miền dữ liệu thành các phân vùng nhỏ hơn và chọn một giá trị đại diện từ mỗi phân vùng. Để sinh các dữ liệu mẫu, công cụ sử dụng hai cách, cách thứ nhất là dùng thuật toán và cách thứ hai là dùng dữ liệu thu thập từ kinh nghiệm của các kiểm thử viên. Cách thứ nhất có thể minh họa với input có điều kiện “Độ dài tối thiểu của dữ liệu nhập vào là 6 và tối đa là 12”, thuật toán được công cụ lựa chọn là áp dụng kỹ thuật kiểm thử giá trị biên mạnh [1, tr.

IV. Ứng Dụng Thực Tế Công Cụ Kiểm Thử Web Tự Động Ví Dụ

Để đánh giá hiệu quả của công cụ kiểm thử tự động, cần áp dụng nó vào các ứng dụng web thực tế. Các ví dụ có thể bao gồm kiểm tra tính hợp lệ của dữ liệu đầu vào trong các form đăng ký, đăng nhập, hoặc các chức năng khác yêu cầu nhập liệu. Việc đánh giá kết quả kiểm thử giúp xác định các điểm mạnh và điểm yếu của công cụ, từ đó cải thiện và hoàn thiện nó. Công cụ được đề xuất có khả năng tự sinh ca kiểm thử, thực thi và lưu lại kết quả kiểm thử. Ngoài ra chương này cũng minh họa áp dụng công cụ trong thực tế và đánh giá ưu nhược điểm của công cụ cùng hướng phát triển.

4.1. Kiểm thử form đăng ký và đăng nhập Các bước chi tiết

Kiểm thử form đăng ký và đăng nhập là một ví dụ điển hình cho việc áp dụng công cụ kiểm thử tự động. Quá trình kiểm thử bao gồm các bước như xác định các input cần kiểm tra, xác định các điều kiện đầu vào, sinh các ca kiểm thử, thực thi các ca kiểm thử, và đánh giá kết quả. Đối với mỗi input, cần kiểm tra các điều kiện như không được để trống, phải đúng định dạng (ví dụ: email, số điện thoại), phải có độ dài phù hợp, và phải thỏa mãn các quy tắc khác. Khi kiểm thử viên tiến hành kiểm thử một form trên ứng dụng Web, việc đầu tiên thường là kiểm tra xem khả năng bắt lỗi (kiểm tra tính hợp lệ) trên các input có chính xác hay không sau đó mới kiểm tra đến chức năng đó có thực hiện và cho ra kết quả chính xác hay không.

4.2. Đánh giá kết quả và rút ra bài học kinh nghiệm

Sau khi thực hiện các ca kiểm thử, cần đánh giá kết quả và rút ra các bài học kinh nghiệm. Việc này giúp xác định các lỗi đã được phát hiện, các lỗi còn sót lại, và các vấn đề về hiệu năng hoặc bảo mật. Từ đó, có thể cải thiện công cụ kiểm thử, điều chỉnh quy trình kiểm thử, và nâng cao chất lượng ứng dụng web. Nếu những dữ liệu đầu vào mẫu không hợp lệ mà ứng dụng không đưa ra cảnh báo hoặc từ chối thì chứng tỏ khả năng kiểm tra tính hợp lệ đầu vào của ứng dụng hoạt động chưa hiệu quả và ngược lại. Với những dữ liệu mẫu đó thì những điều kiện của input sẽ phản ứng ra sao.

V. Kết Luận và Hướng Phát Triển Công Cụ Kiểm Thử Web

Việc nghiên cứu và xây dựng công cụ kiểm thử tự động là một quá trình liên tục, đòi hỏi sự cải tiến và hoàn thiện không ngừng. Trong tương lai, có thể mở rộng công cụ để hỗ trợ nhiều loại kiểm thử hơn, tích hợp với các công cụ khác, và cải thiện khả năng tự động hóa. Cần phải kết hợp các kiến thức như lập trình, quản trị mạng, an ninh mạng, . tuy nhiên hầu hết các kiểm thử viên đều không có đầy đủ những kiến thức này nên việc kiểm thử an ninh, bảo mật thường được thực hiện bằng sự kết hợp của một đội ngũ chuyên gia. Luận văn xin giới thiệu thư viện Selenium WebDriver hỗ trợ xây dựng công cụ kiểm thử tự động nhằm giúp người đọc có thể lựa chọn nền tảng giúp tự tạo công cụ kiểm thử cho phù hợp với nhu cầu của mình.

5.1. Tổng kết các kết quả đạt được trong luận văn

Luận văn đã trình bày một cách tổng quan về kiểm thử ứng dụng web, các công cụ kiểm thử tự động, và quy trình xây dựng một công cụ kiểm thử tự động. Luận văn cũng đã đề xuất một công cụ kiểm thử tự động có khả năng sinh ca kiểm thử và thực hiện các ca kiểm thử đó nhằm xác định ứng dụng web có thể kiểm tra tính hợp lệ của dữ liệu đầu vào chính xác. Ngoài ra chương này cũng minh họa áp dụng công cụ trong thực tế và đánh giá ưu nhược điểm của công cụ cùng hướng phát triển. Ý tưởng thực hiện một công cụ kiểm thử tự động có khả năng sinh ra các ca kiểm thử và thực hiện các ca kiểm thử đó nhằm xác định ứng dụng Web có thể kiểm tra tính hợp lệ của dữ liệu đầu vào chính xác là điều rất cần thiết không chỉ hỗ trợ cho những người chưa có nhiều kinh nghiệm mà còn giúp giảm thời gian và chi phí để thiết kế, thực thi các ca kiểm thử.

5.2. Hướng nghiên cứu và phát triển công cụ kiểm thử

Trong tương lai, công cụ kiểm thử tự động có thể được mở rộng để hỗ trợ nhiều loại kiểm thử hơn, chẳng hạn như kiểm thử hiệu năng, kiểm thử bảo mật, và kiểm thử khả năng tương thích. Công cụ cũng có thể được tích hợp với các công cụ khác, chẳng hạn như công cụ quản lý dự án, công cụ quản lý kiểm thử, và công cụ báo cáo. Ngoài ra, cần cải thiện khả năng tự động hóa của công cụ, chẳng hạn như tự động sinh ca kiểm thử, tự động thực thi kiểm thử, và tự động đánh giá kết quả. Trong tương lai, có thể mở rộng công cụ để hỗ trợ nhiều loại kiểm thử hơn, tích hợp với các công cụ khác, và cải thiện khả năng tự động hóa. Trong tương lai, công cụ kiểm thử tự động có thể được mở rộng để hỗ trợ nhiều loại kiểm thử hơn, chẳng hạn như kiểm thử hiệu năng, kiểm thử bảo mật, và kiểm thử khả năng tương thích.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

24/09/2025
Luận văn thạc sĩ nghiên cứu và xây dựng công cụ kiểm thử ứng dụng web

Trích đoạn nội dung tài liệu

Đặt vấn đề bài toán. 44 TIEU LUAN MOI download : skknchat@gmail. Phân tích bài toán. Thỏa thuận khi sử dụng công cụ.

Xây dựng công cụ. Ứng dụng công cụ vào thực tế. Ứng dụng vào form thành viên đăng nhập. Ứng dụng vào form đăng ký nhận bản tin.

Đánh giá ưu nhược điểm của công cụ. 60 CHƢƠNG 4 KẾT LUẬN. Tóm tắt kết quả làm được. Hướng nghiên cứu.

61 TÀI LIỆU THAM KHẢO. 63 Phụ lục 1: Kết quả sau khi thực hiện kiểm thử form thành viên đăng nhập. 63 Phụ lục 2: Kết quả sau khi thực hiện kiểm thử form đăng ký nhận bản tin. 64 TIEU LUAN MOI download : skknchat@gmail.com 5 DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT API Application Programming Interface, giao diện lập trình ứng dụng.

C-S Client-Server, máy khách – máy chủ. CSS Cascading Style Sheets, là ngôn ngữ được dùng để miêu tả cách trình bày các tài liệu viết bằng ngôn ngữ HTML và XHTML. HTML Hypertext Markup Language, ngôn ngữ đánh dấu tạo website. HTTP HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản được dùng để trao đổi giữa máy khách và máy chủ ứng dụng Web.

HTTPS Hypertext Transfer Protocol Secure, là sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách bảo mật trên Internet. STT Số thứ tự TDD Testing Driven Development, kỹ thuật phát triển phần mềm dựa trên kiểm thử. URL Uniform Resource Locator, đường dẫn tham chiếu tới tài nguyên trên Internet. TIEU LUAN MOI download : skknchat@gmail.com 6 DANH MỤC CÁC BẢNG Bảng 1.

Các điều kiện con kết hợp trong câu lệnh điều kiện. Một số lỗi thường gặp trên ứng dụng Web. Minh họa một số quy ước về lập trình của Microsoft. Hàm và từ khóa thường dùng của Selenium WebDriver.

Một số điều kiện đầu vào với input trong ứng dụng Web. Một số dữ liệu đầu vào mẫu cho input ngày tháng Việt Nam. Kết quả thực hiện kiểm thử bằng công cụ kiểm thử tự động với form đăng ký nhận bản tin. 59 TIEU LUAN MOI download : skknchat@gmail.com 7 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.

Mã nguồn minh họa Driver và Stub. Kiểm thử hồi quy được thực hiện tại các mức kiểm thử khác nhau. Các câu lệnh tuần tự có bất thường loại 1. Câu lệnh có bất thường loại 2.

Sơ đồ chuyển trạng thái của một biến tương ứng với những bất thường về dòng dữ liệu. Các biểu tượng xây dựng đồ thị dòng điều khiển. Mã nguồn tính tổng các số từ 1 đến 9. Đồ thị dòng điều khiển của mã nguồn hình 1.

Ví dụ mã nguồn hàm ReturnAverage. Đồ thị dòng dữ liệu minh họa hàm ReturnAverage. Giao diện Fxcop. Mã nguồn được phân tích bởi Fxcop.

Kết quả phân tích từ Fxcop. Giao diện công cụ JSLint. Mã nguồn được phân tích bởi JSLint. Kết quả phân tích từ JSLint.

Giao diện Browser Shots. Giao diện người dùng trên các trình duyệt khác nhau. Giao diện Selenium IDE. Các thao tác xử lý được Selenium IDE ghi lại.

Mã HTML của ca kiểm thử được Selenium IDE lưu lại. Giao diện công cụ loader. Kết quả khi thực thi kiểm thử với loader. Form thêm người dùng trên ứng dụng Web.

Minh họa hộp thông báo đăng nhập thành công. Minh họa dòng thông báo từ ứng dụng Web đến người dùng. 46 TIEU LUAN MOI download : skknchat@gmail. Các dữ liệu mẫu sinh ra từ kỹ thuật kiểm thử giá trị biên mạnh.

Giao diện công cụ kiểm thử tự động. Thêm ô textbox chứa input. Lựa chọn các điều kiện cần kiểm thử của input. Lỗi xuất hiện được thông báo cho kiểm thử viên.

Kiểm tra tính hợp lệ của điều kiện của độ dài tối thiểu và tối đa. Thông báo không tìm thấy phần tử có id như đã nhập. Điều kiện và giá trị được sinh ra khi lựa chọn điều kiện cho input. Mã nguồn hàm ngẫu nhiên sinh ra chuỗi ký tự có độ dài là.

53 tham số truyền vào. Kết quả sau khi thực hiện kiểm thử form. Giao diện form thành viên đăng nhập. Thông báo không được bỏ trống tên đăng nhập.

Thông báo tên đăng nhập không được nhỏ hơn 6 ký tự. Thông báo sai tên đăng nhập hoặc mật khẩu. Lấy id của input. Điền thông tin form thành viên đăng nhập vào công cụ.

Chọn điều kiện cho các input. Kết quả kiểm thử form thành viên đăng nhập. Giao diện form đăng ký nhận bản tin. Thông báo không được bỏ trống email.

Thông báo nhập sai định dạng email. Điền thông tin form đăng ký nhận bản tin vào công cụ. Chọn điều kiện cho input email. 59 TIEU LUAN MOI download : skknchat@gmail.com 9 LỜI GIỚI THIỆU Với sự phát triển của Internet và công nghệ phần mềm, các ứng dụng Web đang dần thay thế các ứng dụng phần mềm truyền thống bởi tính tiện lợi của nó.

Đi kèm với thành công mà những ứng dụng Web mang lại cho nhà phát triển đó là những thách thức như phải đảm bảo và nâng cao chất lượng cho người dùng khi sử dụng dịch vụ. Một trong những giải pháp để hoàn thành tốt công việc này đó là thực hiện kiểm thử phần mềm. Kiểm thử là một công việc tốn nhiều thời gian và chi phí, thông thường thời gian dành cho việc kiểm thử chiếm đa số thời gian phát triển ứng dụng phần mềm. Tuy nhiên, để thực hiện kiểm thử đòi hỏi kiểm thử viên phải kiên nhẫn và tỉ mỉ, chính những điều này dẫn tới sự cần thiết của kiểm thử tự động.

Kiểm thử tự động sẽ thực hiện tự động các ca kiểm thử theo một kịch bản cho sẵn hoặc tự nó sinh ra. Những lợi ích của các công cụ kiểm thử tự động mang lại là rất lớn tuy nhiên các tài liệu về kiểm thử tự động được viết bằng tiếng Việt lại còn rất hạn chế. Xuất phát từ thực tế đó và được sự gợi ý của giảng viên hướng dẫn, tôi lựa chọn đề tài luận văn “Nghiên cứu và xây dựng công cụ kiểm thử ứng dụng Web” với mong muốn mang lại cho người đọc một tài liệu hỗ trợ hữu ích trước khi quyết định sử dụng kiểm thử tự động cho ứng dụng Web của mình. Luận văn đƣợc cấu trúc thành bốn chƣơng: Chương một sẽ trình bày các tìm hiểu về kiểm thử phần mềm như các khái niệm cơ bản về kiểm thử, các mức kiểm thử, ca kiểm thử, các kỹ thuật kiểm thử tĩnh và động.

Chương một cũng sẽ đưa ra khái niệm về ứng dụng Web, phân biệt ứng dụng Web với ứng dụng máy khách – máy chủ và các loại kiểm thử cần chú trọng cho ứng dụng Web. Chương hai sẽ giới thiệu các công cụ kiểm thử tự động phổ biến hiện nay dành cho ứng dụng Web, ngoài việc cung cấp thông tin và cách sử dụng từng công cụ, luận văn còn phân tích ưu nhược điểm của các công cụ giúp người đọc có một gợi ý trước khi lựa chọn công cụ phù hợp cho ứng dụng cần kiểm thử. Xuất phát trên thực tế, mỗi ứng dụng Web đều có những yêu cầu đặc thù riêng biệt nên việc sử dụng các công cụ kiểm thử tự động đã có sẵn có thể không thỏa mãn hoặc phù hợp với việc kiểm thử các ứng dụng này. Luận văn cũng giới thiệu một nền tảng hỗ trợ xây dựng công cụ kiểm thử tự động nhằm giúp người đọc có thể lựa chọn nền tảng giúp tự tạo công cụ kiểm thử cho phù hợp với nhu cầu của mình.

Trong ứng dụng Web, việc kiểm tra tính hợp lệ của các dữ liệu đầu vào là rất quan trọng do dữ liệu đầu vào không chỉ yêu cầu phải đúng kiểu dữ liệu mà còn đòi TIEU LUAN MOI download : skknchat@gmail.com 10 hỏi phải đúng định dạng của loại dữ liệu đó. Do đó, ứng dụng Web cần phải có khả năng kiểm tra tính hợp lệ của dữ liệu đầu vào một cách hiệu quả thì các tiến trình xử lý tiếp theo mới được đảm bảo hoạt động tốt. Một vấn đề nữa là hiện nay có rất nhiều công cụ hỗ trợ cho việc kiểm thử tự động ứng dụng Web, tuy nhiên hầu hết các công cụ chỉ hỗ trợ cho việc thực thi tự động các ca kiểm thử còn việc thiết kế các ca kiểm thử lại rất hạn chế. Chương ba sẽ trình bày về ý tưởng, phân tích và xây dựng công cụ kiểm thử tự động nhằm đánh giá khả năng kiểm tra tính hợp lệ dữ liệu đầu vào của ứng dụng Web.

Công cụ được đề xuất có khả năng tự sinh ca kiểm thử, thực thi và lưu lại kết quả kiểm thử. Ngoài ra chương này cũng minh họa áp dụng công cụ trong thực tế và đánh giá ưu nhược điểm của công cụ cùng hướng phát triển. Chương bốn sẽ đưa kết luận về các nội dung đạt được trong luận văn, các mặt hạn chế và hướng phát triển trong thời gian tới của luận văn. TIEU LUAN MOI download : skknchat@gmail.com 11 CHƢƠNG 1 TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.

Các khái niệm cơ bản 1. Khái niệm kiểm thử phần mềm Kiểm thử phần mềm là công việc được thực hiện nhằm tìm ra lỗi, thiếu sót của phần mềm hoặc chứng minh phần mềm hoạt động đúng đắn. Kiểm thử phần mềm có vai trò rất quan trọng trong việc cải thiện chất lượng phần mềm [4, tr.655-657] và làm giảm chi phí kiểm thử cũng như khắc phục lỗi. Kiểm thử phần mềm sử dụng quy trình kiểm chứng và thẩm định chất lượng phần mềm trong quá trình thực hiện việc kiểm thử.

Quy trình kiểm chứng sẽ đảm bảo rằng phần mềm khi được phát triển sẽ đúng với đặc tả của nó và quy trình thẩm định thì sẽ đảm bảo rằng phần mềm thỏa mãn được yêu cầu của người dùng cuối. Quy trình kiểm chứng sẽ được thực hiện trước quy trình thẩm định do sản phẩm phần mềm cần đúng với đặc tả trước. Nếu thực hiện quy trình thẩm định trước quy trình đặc tả, nếu xảy ra lỗi, rất khó có thể xác định lỗi này là do đặc tả sai hay do lập trình sai so với đặc tả. Tuy nhiên, thẩm định nếu được thực hiện quá muộn thì khi phát hiện ra lỗi hoặc thiếu sót sẽ kéo theo chi phí khắc phục lỗi tăng đồng thời khiến thời gian hoàn thiện phần mềm kéo dài.

Vì vậy, quy trình thẩm định nên được thực hiện sớm để góp phần làm giảm chi phí cũng như thời gian phát triển sản phẩm phần mềm. Trong phương pháp phát triển phần mềm Agile [4, tr.58-64], khách hàng sẽ đóng vai trò là một thành viên của nhóm phát triển và thực hiện việc thẩm định sản phẩm phần mềm liên tục sau mỗi vòng lặp phát triển trong suốt quá trình thực hiện dự án phần mềm.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ