Nghiên cứu kiểm thử phần mềm và hướng dẫn sử dụng Postman để test API cho website

Nghiên cứu kiểm thử phần mềm, sử dụng Postman test API website. Tìm hiểu cách kiểm tra API hiệu quả, đảm bảo chất lượng website với Postman.

Chuyên ngành

Hệ Thống Thông Tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2022

69
53
0

Phí lưu trữ

30 Point

Tóm tắt

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

Kiểm thử phần mềm là một phần quan trọng trong quy trình phát triển phần mềm, nhằm phát hiện lỗi và đảm bảo chất lượng sản phẩm. Nó giúp người phát triển nhận diện các vấn đề tiềm ẩn trong phần mềm trước khi đưa ra thị trường. Kiểm thử phần mềm không chỉ đảm bảo rằng các chức năng hoạt động đúng mà còn giúp cải thiện trải nghiệm người dùng. Theo nghiên cứu, việc thực hiện kiểm thử phần mềm hiệu quả có thể giảm thiểu chi phí bảo trì và tăng độ tin cậy của sản phẩm. Các kỹ thuật kiểm thử như kiểm thử hộp đen và hộp trắng đều có vai trò quan trọng trong việc phát hiện lỗi. Đặc biệt, trong môi trường phát triển Agile, việc áp dụng các công cụ như Postman để test API ngày càng trở nên phổ biến, giúp nâng cao hiệu quả trong quy trình kiểm thử.

1.1. Định nghĩa và vai trò của kiểm thử phần mềm

Kiểm thử phần mềm được định nghĩa là quá trình xác minh và xác nhận rằng phần mềm hoạt động theo đúng yêu cầu. Vai trò của kiểm thử rất quan trọng, không chỉ giúp phát hiện lỗi mà còn đảm bảo sản phẩm đáp ứng được kỳ vọng của người dùng. Thực hiện kiểm thử giúp nâng cao chất lượng sản phẩm, giảm thiểu các rủi ro trong quá trình phát triển. Theo một nghiên cứu, một sản phẩm được kiểm thử kỹ lưỡng có khả năng thành công cao hơn trên thị trường, do đó, việc áp dụng các phương pháp kiểm thử hiệu quả là cần thiết.

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

Có nhiều loại kiểm thử phần mềm, bao gồm kiểm thử chức năng, kiểm thử phi chức năng và kiểm thử hiệu suất. Kiểm thử chức năng tập trung vào việc kiểm tra các chức năng của phần mềm, đảm bảo chúng hoạt động như mong đợi. Kiểm thử phi chức năng lại chú trọng đến các yếu tố như hiệu suất, khả năng mở rộng và bảo mật. Mỗi loại kiểm thử đều có những phương pháp và công cụ riêng, trong đó Postman là một công cụ phổ biến để kiểm thử API, cho phép người dùng thực hiện các yêu cầu và kiểm tra phản hồi một cách dễ dàng.

II. Giới thiệu về Postman

Postman là một công cụ mạnh mẽ dùng để kiểm thử API, hỗ trợ việc gửi yêu cầu HTTP và nhận phản hồi từ server. Với giao diện thân thiện, Postman giúp người dùng dễ dàng tạo, lưu trữ và quản lý các yêu cầu API. Một trong những ưu điểm lớn nhất của Postman là khả năng tự động hóa kiểm thử, giúp tiết kiệm thời gian và công sức cho các tester. Ngoài ra, Postman còn hỗ trợ việc tổ chức các yêu cầu trong Collections, cho phép người dùng dễ dàng truy cập và sử dụng lại. Việc sử dụng Postman trong quy trình phát triển phần mềm không chỉ giúp nâng cao hiệu quả kiểm thử mà còn cải thiện khả năng phối hợp giữa các thành viên trong nhóm phát triển.

2.1. Ưu nhược điểm của Postman

Postman có nhiều ưu điểm như giao diện trực quan, dễ sử dụng, và khả năng hỗ trợ kiểm thử tự động. Nó cho phép người dùng tạo và quản lý các yêu cầu API một cách hiệu quả. Tuy nhiên, Postman cũng có một số nhược điểm như giới hạn trong việc kiểm thử các API phức tạp hoặc yêu cầu bảo mật cao. Hơn nữa, việc sử dụng Postman yêu cầu người dùng có kiến thức cơ bản về API và cách thức hoạt động của chúng. Dù vậy, Postman vẫn là một công cụ rất hữu ích cho các nhà phát triển và tester trong việc kiểm thử và phát triển phần mềm.

2.2. Các tính năng đặc biệt của Postman

Postman cung cấp nhiều tính năng đặc biệt giúp tối ưu hóa quy trình kiểm thử API. Các tính năng như Collections, Environments và Pre-request Scripts cho phép người dùng dễ dàng tổ chức và thực hiện các yêu cầu API. Hơn nữa, Postman hỗ trợ việc tự động hóa kiểm thử thông qua Collection Runner, cho phép người dùng chạy nhiều yêu cầu cùng một lúc và tổng hợp kết quả. Tính năng này rất hữu ích trong việc kiểm tra hiệu suất của API và đảm bảo rằng chúng hoạt động ổn định dưới tải cao. Nhờ vào những tính năng này, Postman đã trở thành một công cụ không thể thiếu trong quy trình phát triển phần mềm hiện đại.

III. Triển khai kiểm thử API bằng công cụ Postman

Triển khai kiểm thử API bằng Postman bao gồm việc thiết kế các kịch bản kiểm thử chi tiết cho các chức năng chính của API. Các bước đầu tiên là xác định các yêu cầu của API và tạo các testcase phù hợp. Sau đó, người dùng có thể sử dụng Postman để thực hiện các yêu cầu và kiểm tra phản hồi từ server. Việc kiểm thử không chỉ giúp phát hiện lỗi mà còn đảm bảo rằng các chức năng của API hoạt động đúng như mong đợi. Đặc biệt, việc sử dụng Postman để kiểm thử API giúp nâng cao tính tự động hóa trong quy trình phát triển, từ đó cải thiện hiệu suất và giảm thiểu rủi ro trong quá trình phát triển phần mềm.

3.1. Thiết kế testcase cho các chức năng chính

Thiết kế testcase cho các chức năng chính của API là bước quan trọng trong quy trình kiểm thử. Các testcase cần được xác định rõ ràng, bao gồm các điều kiện đầu vào, hành động thực hiện và kết quả mong đợi. Việc này giúp đảm bảo rằng tất cả các chức năng của API đều được kiểm tra kỹ lưỡng. Đặc biệt, các testcase nên được tổ chức trong Collections của Postman để dễ dàng quản lý và thực hiện. Hơn nữa, việc sử dụng các biến môi trường trong Postman giúp tăng tính linh hoạt cho các testcase, cho phép người dùng dễ dàng thay đổi các giá trị kiểm thử mà không cần sửa đổi từng yêu cầu.

3.2. Kiểm thử tự động Collection Runner

Collection Runner là một tính năng mạnh mẽ của Postman, cho phép người dùng thực hiện kiểm thử tự động cho nhiều yêu cầu cùng một lúc. Tính năng này giúp tiết kiệm thời gian và công sức trong quy trình kiểm thử, đặc biệt là khi kiểm tra các API phức tạp. Người dùng có thể dễ dàng tạo các kịch bản kiểm thử và chạy chúng một cách tự động, đồng thời tổng hợp kết quả kiểm thử để phân tích. Việc sử dụng Collection Runner không chỉ giúp phát hiện lỗi mà còn đảm bảo rằng API hoạt động ổn định dưới tải cao, từ đó nâng cao chất lượng sản phẩm cuối cùng.

11/12/2024

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

CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ VẤN ĐỀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM 1. Sản phẩm phần mềm và kiểm thử phần mềm 1. Sản phẩm phần mềm là gì? Phần mềm là một (bộ) chương trình được cài đặt trên máy tính nhằm thực hiện một nhiệm vụ tương đối độc lập nhằm phục vụ cho một ứng dụng cụ thể việc quản lý họat động của máy tính hoặc áp dụng máy tính trong các họat động kinh tế, quốc phòng, văn hóa, giáo dục, giải trí,… Việc tạo ra một sản phẩm phần mềm phải trải qua nhiều giai đoạn, người ta gọi là qui trình phát triển phần mềm, bắt đầu từ khi bắt đầu có ý tưởng cho đến khi đưa ra sản phẩm phần mềm thực thi. Khối lượng công việc trong từng giai đoạn của quá trình sản xuất phần mềm cũng thay đổi theo thời gian.

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 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 3 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, 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. Chính điều này giúp cho việc phát triển phần mềm theo phương pháp Agile trở nên rất nhanh chóng và giảm được nhiều chi phí cho việc sửa lỗi do lỗi được phát hiện từ rất sớm. Minh họa sử dụng quy trình kiểm chứng và thẩm định trong quá trình phát triển phần mềm Trong kiểm thử phần mềm, 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õ 4 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.

Khi lỗi được thực thi sẽ dẫn tới thất bại.  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.

4 Kiểm thử phần mềm có thể chia làm 2 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ế,. Trong quy trình kiểm chứng và thẩm định chất lượng phần mềm thì kiểm thử tĩnh được sử dụng trong quy trình kiểm chứng.

 Kiểm thử động là kỹ thuật chỉ được thực hiện khi mã nguồn chương trình phần mềm được biên dịch và chạy. Mục đích chính của kỹ thuật kiểm thử động là thẩm định xem chương trình phần mềm có hoạt động đúng và đầy đủ các chức năng như những mong muốn của người sử dụng hay không, do đó trong quy trình kiểm chứng và thẩm định chất lượng phần mềm thì kiểm thử động được sử dụng trong quy trình thẩm định. Vấn đề về đảm bảo chất lượng phần mềm 2. Lỗi phần mềm là gì? Có rất nhiều định nghĩa khác nhau về lỗi phần mềm, nhưng tựu chung có thể phát biểu một cách tổng quát: “Lỗi phần mềm là sự không khớp giữa chương trình và đặc tả của nó”.

Dựa vào định nghĩa, chúng ta có thể thấy lỗi phần mềm xuất hiện theo ba dạng sau: • Sai: Sản phẩm được xây dựng khác với đặc tả. • Thiếu: Một yêu cầu đã được đặc tả nhưng lại không có trong sản phẩm được xây dựng. • Thừa: Một yêu cầu được đưa vào sản phẩm mà không có trong đặc 5 tả. Cũng có trường hợp yêu cầu này có thể là một thuộc tính sẽ được người dùng chấp nhận nhưng khác với đặc tả nên vẫn coi là có lỗi.

Tại sao lỗi phần mềm xuất hiện Khác với sự cảm nhận thông thường, lỗi xuất hiện nhiều nhất không phải do lập trình. Nhiều nghiên cứu đã được thực hiện trong các dự án từ rất nhỏ đến các dự án rất lớn và kết quả luôn giống nhau. Số lỗi do đặc tả gây ra là nhiều nhất, chiếm khoảng 80%. Có một số nguyên nhân làm cho đặc tả tạo ra nhiều lỗi nhất.

Trong nhiều trường hợp, đặc tả không được viết ra. Các nguyên nhân khác có thể do đặc tả không đủ cẩn thận, nó hay thay đổi, hoặc do chưa phối hợp tốt trong toàn nhóm phát triển. Sự thay đổi yêu cầu của khách hàng cũng là nguyên nhân dễ gây ra lỗi phần mềm. Khách hàng thay đổi yêu cầu không cần quan tâm đến những tác động sau khi thay đổi yêu cầu như phải thiết kế lại, lập lại kế hoạch, làm lại những việc đã hoàn thành.

Nếu có nhiều sự thay đổi, rất khó nhận biết hết được phần nào của dự án phụ thuộc và phần nào không phụ thuộc vào sự thay đổi. Nếu không giữ được vết thay đổi rất dễ phát sinh ra lỗi. Các nguyên nhân gây ra lỗi phần mềm 6 Nguồn gây ra lỗi lớn thứ hai là thiết kế. Đó là nền tảng mà lập trình viên dựa vào để nỗ lực thực hiện kế hoạch cho phần mềm.

Lỗi do lập trình gây ra cũng khá dễ hiểu. Ai cũng có thể mắc lỗi khi lập trình. Thời kì đầu, phát triển phần mềm có nghĩa là lập trình, công việc lập trình thì nặng nhọc, do đó lỗi do lập trình gây ra là chủ yếu. Ngày nay, công việc lập trình chỉ là một phần việc của quá trình phát triển phần mềm, cộng với sự hỗ trợ của nhiều công cụ lập trình cao cấp, việc lập trình trở nên nhẹ nhàng hơn, mặc dù độ phức tạp phần mềm lớn hơn rất nhiều.

Do đó, lỗi do lập trình gây ra cũng ít hơn. Tuy nhiên, nguyên nhân để lập trình tạo ra lỗi lại nhiều hơn. Đó là do độ phức tạp của phần mềm, do tài liệu nghèo nàn, do sức ép thời gian hoặc chỉ đơn giản là những lỗi “không nói lên được”. Một điều cũng hiển nhiên là nhiều lỗi xuất hiện trên bề mặt lập trình nhưng thực ra lại do lỗi của đặc tả hoặc thiết kế.

Một nguyên nhân khác tạo ra lỗi là do bản thân các công cụ phát triển phần mềm cũng có lỗi như công cụ trực quan, thư viện lớp, bộ biên dịch,… 2. Chi phí cho việc sửa lỗi Bảo trì là phần chi phí chính của phần mềm và kiểm thử là hoạt động chi phí đắt thứ hai, ước tính khoảng 40% (15/33) chi phí trong quá trình phát triển ban đầu của sản phẩm phần mềm. Kiểm thử cũng là phần chi phí chính của giai đoạn bảo trì do phải tiến hành kiểm thử lại những thay đổi trong quá trình sửa lỗi và đáp ứng yêu cầu người dùng. Kiểm thử và sửa lỗi có thể được thực hiện tại bất kỳ giai đoạn nào của vòng đời phần mềm.

Tuy nhiên chi phí cho việc tìm và sửa lỗi tăng một cách đáng kể trong quá trình phát triển. Quy trình kiểm thử phần mềm Software Testing Life Cycle đề cập đến một quy trình Test (Testing process) trong đó các bước cụ thể được thực hiện theo một trình tự nhất định 7 để đảm bảo mục tiêu chất lượng được đáp ứng. Trong quy trình kiểm thử phần mềm mỗi hoạt động được thực hiện một cách có kế hoạch và hệ thống. Mỗi một giai đoạn có các mục tiêu khác nhau.

Quy trình kiểm thử phần mềm Requirement Analysis (giai đoạn tìm hiểu và phân tích yêu cầu): Đây là giai đoạn tiếp cận dự án được thực hiện bởi toàn bộ team (project manager, developer, tester, QA…) cùng tham gia để phân tích các nghiệp vụ trong SRS thành các đơn vị chức năng của chương trình cần xây dựng. Testcase Development (giai đoạn lập các trường hợp kiểm thử): Sau khi có test plan, đội ngũ tester bắt đầu vào giai đoạn thiết kế các trường hợp kiểm thử cho các chức năng trong dự án, sau khi testcase được thiết kế xong sẽ được test leader, test manager phê duyệt để đưa vào giai đoạn thực hiện test sau này. 8 Environment Setup (giai đoạn thiết lập môi trường kiểm thử): Sau khi hoàn thành xong giai đoạn thiết kế các trường hợp kiểm thử, đội test sẽ tiếp tục chuẩn bị các môi trường kiểm thử (hệ điều hành, browser, thiết bị…) để sẵn sàng đưa sản phẩm vào thực hiện test sau khi hoàn thành xong. Vòng 2 sẽ bắt đầu ngay sau khi sản phẩm hoàn thành 100% (Test hết tất cả các testcase đã thiết kế và tiến hành log bug vào hệ thống).

Vòng 03 sẽ bắt đầu khi những bug mà tester tìm ra ở vòng test thứ 2 được xử lý hết và đội lập trình triển khai phiên bản mới. Chú ý: Số vòng test có thể nhiều hơn hoặc ít hơn tùy thuộc vào quy mô cũng như yêu cầu của dự án. Test Cycle Closure (giai đoạn kết thúc): Sau khi dự án thỏa mãn các tiêu chí về chất lượng, test leader/test manager tiến hành xác minh, tổng kết quá trình test để sẵn sàng ra mắt cho khách hàng. Đội test sẽ tiến hành lập báo cáo kiểm thử cho quản lý trực tiếp phục vụ cho việc làm tài liệu dự án gửi cho khách hàng.

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

Bài viết với tiêu đề "Nghiên cứu kiểm thử phần mềm và sử dụng công cụ postman để test api cho website" của tác giả Đắc Thị Trà My, dưới sự hướng dẫn của ThS. Vũ Thị Thu Hà, mang đến cái nhìn sâu sắc về quy trình kiểm thử phần mềm, đặc biệt là kiểm thử API bằng công cụ Postman. Nghiên cứu này không chỉ giúp người đọc hiểu rõ hơn về tầm quan trọng của kiểm thử trong phát triển phần mềm mà còn cung cấp những kỹ năng thực tiễn để áp dụng Postman một cách hiệu quả. Những lợi ích mà bài viết mang lại bao gồm việc nâng cao chất lượng sản phẩm phần mềm và giảm thiểu lỗi trong quá trình phát triển.

Nếu bạn quan tâm đến các chủ đề liên quan, hãy khám phá thêm bài viết "Luận văn tốt nghiệp khoa học máy tính phát triển hệ thống nhận diện cảm xúc qua giọng nói", nơi bạn có thể tìm hiểu về ứng dụng công nghệ trong nhận diện cảm xúc, một lĩnh vực cũng cần đến kiểm thử phần mềm. Bên cạnh đó, bài viết "Đồ án tốt nghiệp mô hình phân loại sản phẩm bằng mã qr code" cũng sẽ mở rộng kiến thức của bạn về việc áp dụng công nghệ trong phân loại sản phẩm, liên quan đến kiểm thử và phát triển phần mềm. Những bài viết này không chỉ bổ sung thêm thông tin mà còn giúp bạn có cái nhìn tổng quát hơn về các ứng dụng của công nghệ trong nhiều lĩnh vực khác nhau.