Kiểm thử phần mềm: Các công cụ hỗ trợ cho việc kiểm thử. (Phần 1)

Kiểm thử phần mềm: Các công cụ hỗ trợ cho việc kiểm thử. (Phần 1)

Tiếp tục series tóm tắt từ cuốn sách: FOUNDATIONS OF SOFTWARE TESTING ISTQB CERTIFICATION của tác giả Dorothy Graham, Erik van Veenendaal, Isabel Evans và Rex Black và một số kinh nghiệm của cá nhân trong quá trình làm việc nhằm cung cấp cho các bạn một cái nhìn tổng quan về kiểm thử phần mềm và các kiến thức cơ bản về kiểm thử, các kỹ thuật dùng trong kiểm thử và các công cụ hỗ trợ.

Tiếp nối bài viết trước Kiểm thử phần mềm: Các công cụ hỗ trợ cho việc kiểm thử. (Phần 2) bài viết lần này mình sẽ giới thiệu với các bạn Các loại công cụ kiểm thử (Types of test tool).
Trong phần này mình sẽ giới thiệu một số loại công cụ sau:

  • Công cụ hỗ trợ quản lý kiểm thử và kiểm tra.
  • Công cụ hỗ trợ kiểm thử tĩnh.
  • Các công cụ hộ trợ kiểm tra chi tiết kỹ thuật.
  • Công cụ hỗ trợ thực thi kiểm thử và logging.
  • Công cụ hỗ trợ thực hiện và giám sát.
  • Công cụ hỗ trợ cho từng vùng ứng dụng cụ thể.
  • Các công cụ khác.

1. Công cụ hỗ trợ quản lý kiểm thử và kiểm tra.

Quản lý kiểm thử(test management). nó có thể là quản lý các bài test hoặc là quản lý quá trình kiểm thử, các công cụ được giới thiệu ở phần này có thể hỗ trợ 1 trong 2 hoặc cả 2. Việc quản lý kiểm thử áp dụng trong toàn bộ vòng đời phát triển phần mềm, do đó, một công cụ quản lý kiểm thử có thể là một trong những công cụ đầu tiên được sử dụng trong một dự án. Trong thực tế, các công cụ quản lý kiểm thử thường được sử dụng bởi các kiểm thử viên hoặc các nhà quản lý kiểm thử ở cấp độ kiểm thử hệ thống hoặc chấp nhận.

1.1. Công cụ quản lý test(Test management tools).

Các tính năng được cung cấp bởi các công cụ quản lý test bao gồm các tính năng được liệt kê dưới đây. Một số công cụ sẽ cung cấp tất cả các tính năng này. Những công cụ khác cung cấp một hoặc nhiều tính năng, tuy nhiên những công cụ này vẫn sẽ được phân loại như các công cụ quản lý test.

Các tính năng hoặc đặc điểm của các công cụ test tập trung hỗ trợ cho:

  • Quản lý các bài test: ví dụ: theo dõi các dữ liệu liên quan cho một bộ các bài test, biết những kiểm tra nào cần phải chạy trong môi trường chung, số lượng bài test đã được lên kế hoạch, viết, chạy, thông qua hoặc thất bại.
  • Lập kế hoạch cho các bài test để thực thi( bằng tay hoặc bằng công cụ thực thi).
  • Quản lý các hoạt động kiểm thử (thời gian chi cho thiết kế test, thực hiện test để xem liệu có hoàn thành đúng kế hoạch và ngân sách).
  • Giao diện với các công cụ khác, như là:
  • Công cụ thực thi test (công cụ chạy test).
  • Công cụ quản lý sự cố.
  • Công cụ quản lý yêu cầu.
  • Công cụ quản lý cấu hình.
  • Truy xuất nguồn gốc của các bài test, kết quả test và các lỗi từ yêu cầu hoặc từ nguồn gốc khác.
  • Logging kết quả test.
  • Báo cáo tiến độ dựa trên các chỉ số như: chạy test và test passed, sự cố gia tăng, những lỗi đã sửa và những lỗi lớn.

Những thông tin này có thể được sử dụng để giám sát quy trình kiểm thử và quyết định những hành động nào sẽ kiểm soát được. Công cụ cũng đưa ra thông tin về thành phần hoặc hệ thống đang được test( đối tượng test). Các công cụ quản lý test giúp thu thập, tổ chức và quản lý thông tin kiểm thử của một dự án.

Một số công cụ hỗ trợ quản lý test:

  • JIRA (incl. Cloud)
  • FogBugz.
  • Redmine.
  • Bugzilla.

1.2. Các công cụ quản lý yêu cầu (Requirements management tools).

Một vài công cụ quản lý yêu cầu có thể tìm thấy các lỗi theo các yêu cầu, ví dụ, kiểm tra những từ không rõ ràng hoặc bị cấm như “might”, “and/or”, “as needed” hoặc “to be decided”.

Các tính năng hoặc đăc điểm của các công cụ quản lý yêu cầu hỗ trợ cho:

  • Lưu trữ báo cáo yêu cầu.
  • Lưu trữ các thông tin về các thuộc tính của yêu cầu.
  • Kiểm tra tính nhất quán của các yêu cầu.
  • Xác định các yêu cầu không xác định, thiếu hoặc được xác định sau.
  • Ưu tiên các yêu cầu cho mục đích kiểm thử.
  • Truy xuất nguồn gốc của yêu cầu đối với các test và các test đối với yêu cầu, chức năng hoặc các tính năng.
  • Truy xuất nguồn gốc thông qua các mức độ yêu cầu.
  • Giao diện của các công cụ quản lý test.
  • Độ bao phủ của các yêu cầu bởi một bộ test.

Một số công cụ hỗ trợ quản lý yêu cầu:

  • Process Street
  • Visual Trace Spec
  • Avolution
  • Visure
  • SpiraTeam by Inflectra

1.3. Các công cụ quản lý sự cố (Incident management tools).

Loại công cụ này còn được gọi là công cụ theo dõi thiếu sót, công cụ quản lý thiếu sót hoặc là công cụ quản lý bug. Báo cáo sự cố thông qua một số giai đoạn nhận biết ban đầu và ghi lại chi tiết, thông qua phân tích, phân loại, phân định, công việc sửa lỗi, sửa lỗi, test lại và đóng. Công cụ quản lý sự cố giúp theo dõi các sự cố theo thời gian một cách dễ dàng.

Các tính năng và đặc điểm của các công cụ quản lý sự cố hỗ trợ:

  • Lưu trữ thông tin về các thuộc tính của sự cố (tính nghiêm trọng).
  • Lưu trữ các tập tin đính kèm (chụp ảnh màn hình).
  • Độ ưu tiên của các sự cố.
  • Phân công hành động cho từng người(sửa chữa, xác nhận test…).
  • Trạng thái (ví dụ: open, rejected, duplicate, deferred, ready for confirmation test, closed).
  • Báo cáo thống kê/ số liệu về các sự cố (thời gian mở trung bình, số lượng các sự cố với mỗi trạng thái, tổng số gia tăng, mở hoặc đóng..).
    Chức năng của công cụ quản lý sự cố có thể bao gồm trong các công cụ quản lý test thương mại.

1.4. Các công cụ quản lý cấu hình (Configuration management tools).

Các công cụ quản lý cấu hình cũng không phải là các công cụ kiểm thử nghiêm ngặt, tuy nhiên việc quản lý cấu hình tốt là rất quan trọng đối với kiểm thử kiểm soát như đã mô tả trong chương 5. Chúng ta cần biết chính xác những vấn đề gì chúng ta hỗ trợ kiểm tra, chẳng hạn như biết chính xác phiên bản của hệ thống. Có thể thực hiện các biện pháp quản lý cấu hình mà không sử dụng công cụ nhưng các công cụ sẽ làm nhanh và dễ dàng hơn, đặc biệt là trong môi trường phức tạp.

Các tính năng và đặc điểm của các công cụ quản lý cấu hình hỗ trợ:

  • Lưu trữ thông tin về các phiên bản và cấu trúc của phần mềm và testware.
  • Truy xuất nguồn gốc giữa phần mềm, testware, các phiên bản khác nhau hoặc các biến thể.
  • Theo dõi các phiên bản nào thuộc về cấu hình nào (ví dụ: hệ điều hành, các thư viện, trình duyệt…).
  • Quản lý build và release.
  • Baselining (ví dụ: tất cả loại cấu hình tạo thành một bản release cụ thể).
  • Kiểm soát việc truy cập (check in hoặc check out).

Một số công cụ quản lý cấu hình:

  • CHEF
  • JUJU
  • Rudder
  • CFEngine
  • Ansible

2. Các công cụ hỗ trợ kiểm thử tĩnh.

2.1.Công cụ hỗ trợ quá trình đánh giá (Review process support tools).

Công cụ hỗ trợ đánh giá có thể tự động tính tỷ lệ checking và flag exception. Nó có thể điều chỉnh cho quá trình đánh giá cụ thể hoặc loại hình đánh giá đang thực hiện.

Các tính năng và đặc điểm của các công cụ hỗ trợ quy trình đánh giá:

  • Đưa ra một tham chiếu chung cho quá trình đánh giá hoặc các quy trình để sử dụng trong các tình huống bất thường.
  • Lưu trữ và sắp xếp các nhận xét đánh giá.
  • Truyền tải ý kiến đến những người có liên quan.
  • Kết hợp các đánh giá trực tuyến.
  • Theo dõi các nhận xét, bao gồm các lỗi được tìm thấy và cung cấp thông tin thống kê về các lỗi đấy.
  • Cung cấp khả năng truy xuất nguồn gốc giữa các nhận xét, tài liệu đã đánh giá và các tài liệu liên quan.
  • Là kho lưu trữ các quy tắc, thủ tục và checklist được sử dụng trong các đánh giá.
  • Theo dõi tình trạng đánh giá (được thông qua(passed), thông qua với các điều chỉnh(passed with corrections), yêu cầu đánh giá lại(requires rereview)).
  • Thu thập số liệu và báo cáo các yếu tố chính.

2.2. Các công cụ phân tích tĩnh (static analysis tools)

Các công cụ phân tích tĩnh thường được các nhà phát triển coi như là một phần của quy trình phát triển và kiểm thử thành phần. Các công cụ phân tích tĩnh là phần mở rộng của công nghệ biên dịch, trong thực tế một số trình biên dịch cung cấp các tính năng phân tích tĩnh.

Các công cụ phân tích tĩnh cho code có thể giúp các nhà phát triển hiểu được cấu trúc code và có thể sử dụng được code để thi hành các tiêu chuẩn mã hóa.

Các tính năng và đặc điểm của các công cụ phân tích tĩnh tập trung hỗ trợ để:

  • Tính toán các chỉ số như độ phức tạp hoặc mức độ nghiêm trọng (điều này có thể giúp xác định được nơi cần kiểm thử nhiều hơn do rủi ro gia tăng).
  • Thi hành các tiêu chuẩn mã hóa.
  • Phân tích cấu trúc và sự phụ thuộc.
  • Hỗ trợ trong việc tìm hiểu code.
  • Xác định các bất thường hoặc sai sót trong code.

2.3. Các công cụ mô hình hóa (modeling tools)

Các công cụ mô hình hóa giúp xác định các mô hình của hệ thống hoặc phần mềm. Ưu điểm của 2 công cụ: công cụ mô hình hóa và công cụ phân tích tĩnh là chúng có thể được sử dụng trước khi các kiểm thử động có thể chạy. Điều này cho phép bất kỳ lỗi nào mà được các công cụ này có thể xác định càng sớm thì việc sửa chữa sẽ dễ dàng và rẻ hơn. Và các giai đoạn sau đó có thể sẽ có ít lỗi hơn, do đó việc phát triển có thể được đẩy nhanh hơn và có ít các công việc phải làm lại hơn.
Các tính năng và đặc điểm của các công cụ mô hình hóa bao tập trung hỗ trợ để:

  • Xác định xung đột và sai sót trong mô hình.
  • Giúp xác định và đô ưu tiên các khu vực của mô hình kiểm thử.
  • Dự đoán phản hồi và hành vi của hệ thống trong các tình huống khác nhau, như mức độ load trang.
  • Giúp hiểu được các chức năng của hệ thống và xác định được các điều kiện kiểm tra sử dụng mô hình hóa ngôn ngữ như UML.

3. Các công cụ hỗ trợ cho các chi tiết kỹ thuật test( test specification)

3.1. Các công cụ thiết kế test (test design tools).

Các công cụ thiết kế test giúp việc xây dựng các testcase hoặc ít nhất là hỗ trợ test dữ liệu đầu vào.

Các tính năng và đặc điểm của công cụ thiết kế test tập trung hỗ trợ cho:

  • Tạo các giá trị đầu vào kiểm thử từ:
  • Các yêu cầu
  • Mô hình thiết kế( trạng thái, dữ liệu hoặc đối tượng)
  • Code
  • Đồ họa giao diện người dùng
  • Các điều kiện test
  • Đưa đến các kết quả kỳ vọng, nếu oracle đã có sẵn trong công cụ.

Lợi ích của loại công cụ này là xác định dễ dàng và nhanh chóng các trường hợp kiểm thử( hoặc test đầu vào) và sẽ thực hiện tất cả các thành phần (ví dụ: đầu vào của các trường, các nút, các nhánh). Điều này giúp kiểm thử được kỹ lưỡng hơn. Nhưng với số lượng trường hơp test quá nhiều không thể test hết được cần phải tìm và xác định những trường hợp quan trọng nhất để chạy. Việc cắt giảm số lượng những trường hợp test không thể quản lý được thực hiện bằng cách phân tích rủi ro.

3.2. Công cụ chuẩn bị dữ liệu test (Test data preparation tools).

Việc thiết lập dữ liệu test có thể mang lại động lực đáng kể, đặc biệt nếu phạm vi hoặc khối lượng dữ liệu lớn thì việc thiết lập dữ liệu kiểm thử là cần thiết. các công cụ được sử dụng bởi các nhà phát triển trong kiểm thử chấp nhận hoặc kiểm thử hệ thống và có hữu ích cho kiểm thử hiệu năng và độ tin cậy- những nơi cần nhiều dữ liệu thực tế. Lấy dữ liệu từ cơ sở dữ liệu hiện có hoặc những cơ sở dữ liệu đã tạo, đã thao tác và chỉnh sửa cho việc sử dụng trong các bài test

Các tính năng và đặc điểm của các công cụ chuẩn bị dữ liệu test tập trung hỗ trợ để:

  • Trích xuất dữ liệu từ dữ liệu được lựa chọn từ các file hoặc cơ sở dữ liệu.
    “Massage” các bản ghi dữ liệu để các dữ liệu được ẩn đi hoặc không xác định được với người thực (để bảo vệ dữ liệu).
  • Cho phép các bản ghi được sắp xếp và bố trí theo một thứ tự khác.
  • Tạo ra các bản ghi mới với dữ liệu giả ngẫu nhiên hoặc dữ liệu được thiết lập theo một số nguyên tắc.
  • Xây dựng một số lượng lớn các bản ghi tương tự từ một mẫu, thiết lập số lượng bản ghi lớn cho khối lượng các bài test.

4. Công cụ hỗ trợ cho thực thi test và logging

4.1. Công cụ thực thi test (test execution tools).

Hầu hết các công cụ thực thi test đều bắt đầu bằng cách chụp hoặc ghi lại các kiểm thử thủ công do đó còn được gọi là công cụ capture/playback, công cụ capture/replay hoặc công cụ record/playback. Các công cụ thực thi test sử dụng các ngôn ngữ kịch bản để điều khiển các công cụ, nhưng các ngôn ngữ kịch bản là một ngôn ngữ lập trình. Vì vậy, bất kỳ tester nào muốn sử dụng một công cụ thực thi test trực tiếp sẽ cần cử dụng kỹ năng lập trình để tạo và sửa đổi kịch bản. Lợi thế của kịch bản lập trình là các kiểm tra có thể lặp lại hành động (trong vòng lặp) cho các giá trị dữ liệu khác nhau (vd: test các đầu vào), các kịch bản có thể lấy các route khác nhau phụ thuộc vào kết quả của các kiểm tra(nếu kiểm tra thất bại thì nên đi đến một kiểm tra khác) và có thể được gọi từ các kịch bản khác từ cấu trúc của tập hợp các kiểm tra.

Một trong những lợi ích quan trọng nhất của việc sử dụng loại công cụ này là bất cứ khi nào một hệ thống hiện có được thay đổi( ví dụ: sửa lỗi hoặc nâng cấp), tất cả các test đã chạy trước đó có thể được chạy lại để chắc chắn sự thay đổi không làm ảnh hưởng đến hệ thống.

Các tính năng và đặc điểm của các công cụ thực thi test tập trung hỗ trợ cho:

  • Chụp(ghi lại) đầu vào test trong khi các test được thực hiện thủ công.
  • Lưu trữ các kết quả kỳ vọng trên một màn hình hoặc đối tượng để so sánh trong lần kiểm tra tiếp theo.
  • Thực thi kiểm thử từ các kịch bản đã được lưu trữ và từ các tệp dữ liệu tùy chọn được truy cập bởi kịch bản (nếu kịch bản data-driven hoặc keyword-driven được sử dụng).
  • So sánh động ( test trong khi đang chạy) của các màn hình, các thành phần, các link, điều khiển, các đối tượng và các giá trị.
  • Khả năng thực hiện so sánh sau khi thực thi.
  • Kết quả khai thác của chạy test (pass/fail, sự khác biệt giữa kết quả mong đợi và kết quả thực tế).
  • Che đậy hoặc lọc tập hợp con của kết quả mong đợi và kết quả thực tế.
  • Đo thời gian của các bài test.
  • Đồng bộ hóa đầu vào và ứng dụng đang được kiểm tra.
  • Gửi kết quả tổng hợp đến một công cụ quản lý test.

4.2: Các công cụ nền tảng của kiểm thử đơn vị (unit test framework tools) và test harness.

Hai loại công cụ này được nhóm với nhau vì 2 công cụ này đều là biến thể của kiểu hỗ trợ mà các nhà phát triển cần khi kiểm tra các thành phần và đơn vị riêng lẻ.

  • Test harness cung cấp các stub và driver, đó là các chương trình nhỏ tương tác với phần mềm đang kiểm tra( kiểm thử phần mềm trung gian và phần mềm nhúng(embedded software)).
  • Công cụ nền tảng cho kiểm thử đơn vị (unit test framework tools) cung cấp sự hỗ trợ cho phần mềm hướng đối tượng( object-oriented software). Khuôn khổ của kiểm thử đơn vị có thể được sử dụng phát triển agile để kiểm thử tự động song song với sự phát triển.

Các tính năng và đặc điểm của test harnesses and unit test framework tools hỗ trợ cho:

  • Cung cấp đầu vào cho phần mềm đang kiểm tra.
  • Nhận kết quả đầu ra được tạo bởi phần mềm đang kiểm tra.
  • Thực thi bộ test với framework hoặc sử dụng test harnesses.
  • Ghi lại kết quả test (pass/fail) cho mỗi lần test (framework tool).
  • Lưu trữ các lần test( framework tool).
  • Hỗ trợ cho việc gỡ lỗi( framework tool).
  • Đo độ bao phủ ở mức code ( framework tool).

Một số framework hỗ trợ cho kiểm thử mức đơn vị

  • Selenium
  • Junit
  • TestNG

4.3. Test comparators.

Có 2 cách để so sánh kết quả thực tế của kiểm thử với kết quả kỳ vọng của kiểm thử, đó là: so sánh động(Dynamic comparison) và so sánh sau khi thực hiện(Post-execution comparison)

So sánh động có nghĩa là so sánh đươc thực hiện trong khi quá trình kiểm thử đang được thực hiện còn so sánh sau khi thực hiện có nghĩa là so sánh được thực hiện sau khi quá trình kiểm thử đã kết thúc, phần mềm kiểm thử không chạy nữa.

Các tính năng và đặc điểm của test comparator hỗ trợ để:

  • So sánh động của các sự kiện tạm thời xảy ra trong quá trình thực thi.
  • So sánh sau khi thực thi của các dữ liệu đã được lưu trữ, vd như các tập tin và cơ sở dữ liệu.
  • Che giấu hoặc lọc các tập con của các kết quả thực thế và kết quả kỳ vọng.

4.4. Các công cụ đo độ bao phủ (Coverage measurement tools).

Ở mức độ kiểm thử thành phần, các mục bao phủ có thể là các dòng code, các câu lệnh code hoặc kết quả quyết định. Ở mức độ tích hợp thành phần, các mục bao phủ có thể được gọi là một chức năng hoặc một module. Độ bao phủ có thể được đo tại mức kiểm thử chấp nhận hoặc kiểm thử hệ thống, ở đây độ bao phủ có thể là một báo cáo về yêu cầu.

Các tính năng và đặc điểm của công cụ đo độ bao phủ tập trung hỗ trợ để:

  • Xác định các loại bao phủ (instrument code).
  • Tính tỷ lệ phần trăm các mục bao phủ đã được thực hiện bởi một tập các kiểm tra.
  • Báo cáo các mục bao phủ chưa được thực hiện.
  • Xác định các đầu vào kiểm thử để thực hiện các mục chưa được bao phủ( chức năng công cụ thiết kế test).
  • Tạo ra các stub và driver ( nếu là một phần của nền tảng kiểm thử đơn vị).

Lưu ý: các công cụ bao phủ chỉ đo độ bao phủ của các mục mà chúng có thể xác định. Các kiểm tra đạt được độ bao phủ 100% không có nghĩa là phần mềm đấy đã được kiểm tra 100%.

4.5. Các công cụ bảo mật (security tools)

Các công cụ kiểm thử bảo mật có thể được sử dụng để kiểm tra bảo mật bằng cách cố xâm nhập vào một hệ thống, cho dù hệ thống đấy có được bảo vệ hay không. Các cuộc tấn công có thể tập trung vào mạng lưới, phần mềm hỗ trợ, ứng dụng code hoặc nền tảng cơ sở dữ liệu.

Các tính năng và đặc điểm của công cụ kiểm thử bảo mật tập trung hỗ trợ để:

  • Xác định virus.
  • Phát hiện xâm nhập như từ chối các tấn công dịch vụ.
  • Mô phỏng các kiểu tấn công bên ngoài.
  • Thăm dò các cổng mở hoặc các điểm có thể nhìn thấy được bên ngoài của cuộc tấn công..
  • Xác định điểm yếu trong các file mật khẩu và mật khẩu.
  • Kiểm tra bảo mật trong quá trình hoạt động, ví dụ: kiểm tra tính toàn vẹn của các file và phát hiện sự xâm nhập, kiểm tra kết quả của những lần tấn công thử.

Một số công cụ bảo mật

  • Wireshark (packet sniffer previously-known as Ethereal)
  • Metasploit (exploit)
  • Nessus (vulnerability scanner)
  • Aircrack (WEP and WPA cracker)
  • Snort (network intrusion detector)

5. Công cụ hỗ trợ thực hiện và giám sát.

5.1. Các công cụ phân tích động (Dynamic analysis tools )

Phân tích những gì diễn ra đằng sau trong khi phần mềm đang chạy(cho dù đang được thực hiện với các testcase hoặc đang được sử dụng để hoạt động).

Các tính năng và đặc điểm của các công cụ phân tích động tập trung hỗ trợ để:

  • Phát hiện rò rỉ bộ nhớ.
  • Xác định các lỗi con trỏ như con trỏ null.
  • Xác định thời gian phụ thuộc.
    Những công cụ này thường được sử dụng bởi các nhà phát triển trong kiểm thử thành phần và kiểm thử tích hợp thành phần.

5.2. Các công cụ kiểm thử hiệu suất(Performance-testing), Kiểm thử tải(load-testing) và kiểm thử áp lực(stress-testing).

  • Kiểm thử hiệu suất liên quan đến kiểm thử ở mức hệ thống để xem hệ thống có nâng mức sử dụng lên số lượng lớn được không.
  • Kiểm thử tải(load-testing) là kiểm tra xem hệ thống có thể chống cự được với số lượng giao dịch dự kiến.
  • Kiểm thử áp lực(stress-testing) là kiểm thử vượt quá mức sử dụng bình thường của hệ thống (xem điều gì sẽ xảy ra ngoài kỳ vọng thiết kế của hệ thống) có liên quan đến tải trọng hoặc khối lượng.

Trong kiểm thử hiệu suất, có rất nhiều đầu vào dùng để kiểm tra được gửi tới phần mềm hoặc hệ thống nơi các kết quả riêng biệt có thể không được kiểm tra chi tiết. Mục đích của kiểm thử là để đo các đặc tính như thời gian phản hồi, thông lượng hoặc thời gian trung bình giữa các sai sót (kiểm thử độ tin cậy). Để đánh giá hiệu suất, công cụ cần phải tạo ra một số hoạt động trên hệ thống và điều này có thể thực hiện theo những cách khác nhau, nếu hiệu suất khoogn đạt được tiêu chuẩn theo kỳ vọng thì cần thực hiện một số phân tích để xem xét vấn đề nằm ở đâu và để biết rằng phải làm những cách nào để cải thiện hiệu suất.

Các tính năng và đặc điểm của các công cụ kiểm thử hiệu suất tập trung hỗ trợ để:

  • Tạo ra một mức tải trọng trên hệ thống để kiểm tra.
  • Đo thời gian của các giao dịch cụ thể khi tải trọng trên hệ thống thay đổi.
  • Đo thời gian đáp ứng trung bình.
  • Tạo biểu đồ hoặc sơ đồ phản hồi của thời gian được thêm.

Một số công cụ hỗ trợ:

  • Jmeter
  • Webload
  • LoadUI Pro ...

5.3 Các công cụ giám sát(Monitoring tools).

Các công cụ giám sát được sử dụng để liên tục theo dõi tình trạng của hệ thống đang sử dụng để có những cảnh báo sớm nhất về các vấn đề hoặc để cải thiện dịch vụ. Có rất nhiều công cụ giám sát cho các máy chủ, mạng, cơ sở dữ liệu, bảo mật, hiệu suất, sử dụng website và internet và các ứng dụng.

Các tính năng và đặc điểm của các công cụ giám sát tập trung hỗ trợ để:

  • Xác định các vấn đề và gửi các thông báo cảnh báo cho quản trị viên (quản trị mạng).
  • Khai thác thông tin về thời gian thực và lịch sử.
  • Tìm kiếm các cài đặt tối ưu.
  • Giám sát số lượng người dùng trên mạng.
  • Giám sát lưu lượng dữ liệu trên mạng (thời gian thực hoặc bao hàm một khoảng thời gian nhất định của một hành động với phân tích được thực hiện sau đó).

6. Các công cụ hỗ trợ cho từng khu vực cụ thể

Trong phần này, chúng ta đã mô tả các công cụ theo các lớp chức năng chung. Ví dụ, có các công cụ kiểm thử hiệu suất dựa trên web cũng tốt như các công cụ kiểm thử cho các hệ thống back-office. Có nhiều công cụ phân tích tĩnh cho các nền tảng phát triển cụ thể và các ngôn ngữ lập trình, bởi vì mỗi ngôn ngữ lập trình và mỗi nền tảng đều có những đặc điểm riêng biệt. Các công cụ phân tích động tập trung vào các vấn đề bảo mật.

Mình vừa giới thiệu với các bạn một số loại công cụ được dùng để hỗ trợ kiểm thử, các tính năng và đặc điểm của từng loại công cụ hỗ trợ như thế nào trong quá trình kiểm thử. Bài viết sau mình sẽ giới thiệu một số lợi ích, rủi ro khi sử dụng các công cụ hỗ trợ kiểm thử và một số lưu ý khi sử dụng các công cụ.

Link bài viết tiếp theo Các công cụ hỗ trợ cho việc kiểm thử. (Phần 2)