Software Testing

Whitebox and Blackbox test

Whitebox Test

ホワイトボックステストとは、プログラム内部の構造やロジックを理解した上で行うテスト手法です。このテストの目的は、コードの処理ロジックが正しく動作しているかを確認し、コードの網羅性をチェックすることです。メリットとしては、コード内部のロジック上の不具合を発見でき、カバレッジやプログラムの複雑さを検証できる点が挙げられます。

Whitebox test là phương pháp kiểm thử dựa trên việc hiểu biết bên trong cấu trúc và logic code. Mục đích của phương pháp này là đảm bảo các đoạn code, luồng xử lý logic hoạt động đúng, và kiểm tra độ bao phủ code. Phương pháp này có ưu điểm là có thể phát hiện lỗi logic bên trong code, kiểm tra được tính bao phủ và độ phức tạp của chương trình.

一方で、テストを実施するためにはテスターがプログラミング知識を持ち、コードを理解している必要があります。また、コードの構造分析に時間がかかり、実際のエンドユーザーの体験には直接フォーカスしにくいという欠点もあります。

Tuy nhiên, để thực hiện phương pháp test này thì người kiểm thử phải có kiến thức lập trình, hiểu rõ code. Ngoài ra, phương pháp kiểm thử hộp trắng tốn nhiều thời gian để phân tích cấu trúc code và không tập trung vào trải nghiệm thực tế của end user.

Blackbox Test

ブラックボックステストとは、システム内部の動作や構造を考慮せず、入力(Input)と出力(Output)のみに着目して行うテスト手法です。テスターはコードを理解する必要はなく、システムが期待通りに動作するかどうかだけを確認します。

Blackbox Test là phương pháp kiểm thử không quan tâm đến bên trong hệ thống hoạt động như thế nào, chỉ tập trung vào đầu vào (input) và đầu ra (output). Tester không cần biết code, chỉ quan tâm hệ thống có hoạt động đúng như mong đợi hay không.

この手法の利点は、顧客からの要件に基づいて直接テストができ、エンドユーザーの実際の利用体験に近い形で検証できる点です。しかし、欠点としてはコード内部のロジックを確認できず、カバレッジが低いという問題があります。

Với phương pháp này, chúng ta có thể kiểm thử trực tiếp theo yêu cầu từ khách hàng, gần với trải nghiệm thực tế của end-user. Nhưng phương pháp này không kiểm tra được logic code bên trong, độ bao phủ thấp.

Manual test

マニュアルテストとは、テスターがツールを使わずに自らテストケースを実行し、検証する方法です。テスターは入力データを操作し、結果を観察し、期待される結果(Expected Result)と比較してソフトウェアを評価します。

Manual test (kiểm thử thủ công) là quá trình tester trực tiếp thực hiện các test case mà không dùng công cụ tự động. Tester sẽ nhập dữ liệu, quan sát kết quả, so sánh với expected result để đánh giá phần mềm.

例: テスターがECサイトにアクセスし、有効なアカウントでログイン → 商品をカートに追加 → 決済を行う → 注文が正常に作成されるかを確認します。

Ví dụ: Tester truy cập website bán hàng, đăng nhập bằng tài khoản hợp lệ, thêm sản phẩm vào giỏ, tiến hành thanh toán và kiểm tra xem đơn hàng có được tạo thành công hay không.

Automation test

自動テストとは、ツールやスクリプトを使用してテストケースを自動的に実行する方法です。

Automation test (kiểm thử tự động) là việc sử dụng các công cụ hoặc script để tự động thực hiện test case.

例えば、Selenium を使って以下のシナリオを自動実行する:

ログイン → 商品をカートに追加 → 決済 → 注文完了の確認 → システムが継続的に実行し、結果を Pass/Fail で返す。

Ví dụ: sử dụng Selenium để tự động chạy kịch bản: đăng nhập→thêm sản phẩm vào giỏ→thanh toán→ xác nhận đơn hàng → hệ thống sẽ chạy liên tục và trả về kết quả pass/fail.

マニュアルテストと自動テストを組み合わせることで、コスト・時間・品質の最適化が可能になります。

Kết hợp cả manual và automation sẽ giúp tối ưu chi phí, thời gian và chất lượng.

開発されたソフトウェアには、必ず Software Testing(ソフトウェアテスト) の工程が欠かせません。これは、製品の品質を保証し、顧客の要求に正しく応えるとともに、最終的なユーザーに良い体験を提供するためです。

Một phần mềm được phát triển ra chắc chắn không thể thiếu bước Software Testing để đảm bảo chất lượng sản phẩm đáp ứng đúng yêu cầu của khách hàng cũng như mang lại trải nghiệm tốt cho người dùng cuối.

Software Testing は単に不具合を発見するだけでなく、信頼性を高め、保守コストを削減し、顧客満足度を向上させる という重要な役割も果たします。

Software Testing không chỉ giúp phát hiện lỗi mà còn đóng vai trò quan trọng trong việc nâng cao độ tin cậy, giảm chi phí bảo trì, và gia tăng sự hài lòng của khách hàng.

本記事を通じて、みなさんは Software Testing の基本知識、主要なテストの種類やテスト手法、そして Manual Test と Automation Test の違い を理解できたかと思います。これらは、ソフトウェア開発プロジェクトに参加するうえでの大切な基盤となるでしょう。

Hy vọng thông qua bài viết này, bạn đã nắm được những kiến thức cơ bản về Software Testing, từ các loại test chính, phương pháp kiểm thử cho đến sự khác biệt giữa Manual Test và Automation Test. Đây sẽ là nền tảng quan trọng để bạn bắt đầu làm việc và tham gia vào các dự án phát triển phần mềm.

Pages: 1 2