Software Testing

Software Testing

Software Testing(ソフトウェアテスト)とは、ソフトウェアを実行し、不具合(バグ)を発見するとともに、システムが要求通りに動作しているかどうかを確認するプロセスです。

Software testing là quá trình thực thi phần mềm với mục đích tìm ra lỗi và kiểm tra xem hệ thống có đáp ứng đúng yêu cầu đã đặt ra hay không.

  • 妥当性確認(Validation):ソフトウェアが顧客のニーズを正しく満たしているかを確認すること。

Mục đích của software testing:

  • Đảm bảo chất lượng: Giảm thiểu rủi ro, tăng độ tin cậy và sự hài lòng của người dùng.
Software Testing Type

Unit Test

単体テストとは、ソフトウェアを構成する最小単位(関数、モジュール、クラスなど)ごとにテストを行うことです。単体テストの目的は、プログラムを構成する各部分が期待通りに動作するかどうかを検証することです。

Unit test là việc thực hiện test từng phần nhỏ nhất (hàm, module, class) cấu tạo nên chương trình của phần mềm. Mục đích của unit test là kiểm chứng từng phần nhỏ trong chướng trình hoạt động đúng kỳ vọng.

例えば、ECサイトの場合、単体テストでは、商品を追加・削除した際にカートの合計金額を計算する関数が正しく動作しているかを確認します。

Ví dụ với website bán hàng điện tử, trong unit test, ta sẽ thực hiện kiểm tra hàm tính tổng giá trị giỏ hàng khi thêm hoặc xóa sản phẩm.

Integration Test

結合テストとは、ソフトウェアの複数のモジュールのロジックを組み合わせ、グループとしてテストを行うことです。一般的なソフトウェア開発プロジェクトでは、複数のモジュールが異なる開発者によって実装されます。そのため、結合テストの目的は、これらのモジュールを統合した際に発生する相互作用の不具合を検出することです。

Integration test được định nghĩa là một loại kiểm thử trong đó các module phần mềm được tích hợp logic và kiểm thử theo nhóm. Một dự án phát triển phần mềm thông thường bao gồm nhiều module do nhiều lập trình viên khác nhau thực hiện implement. Vì vậy, mục đích của integration test là phát hiện các lỗi trong tương tác giữa các module này khi chúng được tích hợp với nhau.

例えば、ユーザーが商品をカートに追加した後、システムが正しく決済モジュールや在庫管理モジュールと連携し、正確な情報を画面に表示するかを確認します。

Ví dụ: Sau khi người dùng thêm sản phẩm vào giỏ hàng, hệ thống phải kết nối đúng với module tính tiền, module tồn kho và hiển thị thông tin chính xác lên màn hình.

System Test

システムテストとは、ソフトウェア全体を「完成された製品」として検証し、ソフトウェアがソフトウェア要件定義書(SRS: Software Requirement Specification)に記載された要件をすべて満たしているかを確認するプロセスです。システムテストの目的は、ソフトウェアが実際の環境で正しく動作し、顧客に納品できる状態であるかどうかを検証することです。

System test là quá trình kiểm tra toàn bộ hệ thống phần mềm như một “sản phẩm hoàn chỉnh”, đảm bảo rằng phần mềm đáp ứng đầy đủ yêu cầu được mô tả trong Software Requirement Specification (SRS). Mục đích của system test là xác nhận phần mềm có hoạt động chính xác trong môi trường thực tế, và có thể bàn giao cho khách hàng hay chưa.

システムテストにはさまざまな種類があります。例えば

  • ユーザビリティテスト(Usability Testing):ユーザー体験を検証する(UI が分かりやすく、使いやすく、直感的かどうか)

Trong system test có nhiều loại kiểm thử khác nhau. Ví dụ như

  • Performance testing: Đánh giá hệ thống khi chịu tải lớn, tốc độ phản hồi, khả năng mở rộng.
  • Security Testing: Xác minh hệ thống an toàn, chống xâm nhập, bảo vệ dữ liệu người dùng.
  • Regression Testing: Đảm bảo các chức năng cũ không bị ảnh hưởng sau khi thay đổi hoặc bổ sung tính năng mới.

Acceptance Test

受け入れテストとは、ソフトウェアが事前に合意されたビジネス要件 (business requirements) と受け入れ基準 (acceptance criteria) を満たしているかどうかを確認するテストです。

Acceptance Test là quá trình kiểm thử phần mềm dựa trên yêu cầu nghiệp vụ (business requirements) và tiêu chí chấp nhận (acceptance criteria) đã được thống nhất từ đầu.

通常、このテストには顧客、エンドユーザー、または顧客の代表者が QA チームと一緒に直接参加します。

Thông thường, khách hàng, end-user hoặc đại diện khách hàng sẽ tham gia trực tiếp vào quá trình test này, bên cạnh team QA.

例:ECサイト(電子商取引サイト)の場合、受け入れテストでは、

  • 商品を選択 → カートに追加 → 決済 → 確認メールの受信 という一連の購入プロセスが正しく動作するかどうか。

を確認します。

Ví dụ, trong website bán hàng điện tử, acceptance test có thể kiểm tra:

Pages: 1 2