Trang chủ » Software testing là gì? Khái niệm cơ bản

Software testing là gì? Khái niệm cơ bản

Admin 22 Th3, 2021

software testing là gì? Chắc hẳn đây là cụm từ xuất hiện nhiều nhất trong các quá trình tạo ra một sản phẩm phần mềm. Bài viết này sẽ cung cấp cho bạn cái nhìn tổng quan về software testing , hỗ trợ quá trình tìm hiểu và tiếp cận nhanh hơn với lĩnh vực software testing hay còn gọi là kiểm thử phần mềm.

Software testing là gì

Software testing

Software testing

software testing (kiểm thử phần mềm) quá trình thực thi 1 chương trình với mục đích tìm ra lỗi, đảm bảo sản phẩm phần mềm đáp ứng chính xác, đầy đủ và đúng theo yêu cầu của khách hàng, yêu cầu của sản phẩm đề đã đặt ra.

Kiểm thử phần mềm cung cấp mục tiêu, cái nhìn độc lập về phần mềm, điều này cho phép việc đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm, tạo điều kiện cho bạn tận dụng tối đa tư duy đánh giá và sáng tạo để bạn có thể phát hiện ra những điểm mà người khác chưa nhìn thấy.

Kiểm thử phần mềm  thường chia làm 3 loại

Manual test : Đây là công việc mà đa số các bạn lựa chọn khi bắt đầu vào làm test, nó không cần kiến thức về lập trình, ít đụng chạm đến code lúc làm việc, nhưng bạn phải có vốn kiến thức về các định nghĩa, kỹ thuật test và tư duy tốt

Ưu điểm của manual test: 

Dễ dàng cho việc test giao diện, người tester sẽ có phản hồi nhanh và trực quan về giao diện ứng dụng.

Mất ít chi phí cho các tool tự động và quy trình.

Khi có thay đổi nhỏ manual testing manual testing không bị mất nhiều thời gian để thay đổi các trường hợp kiểm thử.

Nhược điểm của manual test

Kết quả kiểm thử ít tin cậy hơn vì có thể sai sót do yếu tố con người.

Quá trình thực hiện các ca kiểm thử không được ghi lại, do vậy nó không có tính tái sử dụng.

Với một số task khó thực hiện thủ công như performance testing và stress testing thì manual testing rất khó để thực hiện.

Automation test: Thường là sự lựa chọn của các bạn đang làm developer muốn chuyển sang công việc tester, hoặc các bạn làm manual test lâu năm muốn học hỏi thêm cái mới và nâng cao trình độ bản thân. Automation test thực chất là developer của test, công việc chính là viết code để thực hiện test tự động chủ yếu thời gian làm việc với code như một dev. Làm Auto thì không cần phải nắm chắc kiến thức về manual test mà cần chắc về các automation tool & frameworks cũng như làm việc trên nhiều ngôn ngữ lập trình như java, python, C++, PHP… tùy từng dự án.

Ưu điểm của Automation:Sử dụng tool tự động giúp tìm kiếm được nhiều lỗi hơn. Automation testing nhanh và hiệu quả. Quá trình kiểm thử được ghi lại, điều đó giúp chạy lại kịch bản kiểm thử nhiều lần và thực hiện trên nhiều nền tảng khác nhau, thực hiện bằng các công cụ phần mềm, do đó nó hoạt động không mệt mỏi không giống như người kiểm thử tester.

Automation testing năng suất và chính xác.Phạm vi kiểm thử rộng vì kiểm tra tự động không quên kiểm tra ngay cả đơn vị nhỏ nhất.

Nhược điểm của Automation: Rất khó có cái nhìn đúng và trực quan về giao diện người dùng như màu sắc, font chữ, vị trí, kích thước các button nếu như không có yếu tố con người. Chi phí cho các tool kiểm thử có thể tốn kém, có thể làm tăng chi phí trong khâu kiểm thử của dự án.

Nếu có một thay đổi nhỏ cũng sẽ mất thời gian để update kịch bản kiểm thử.

Security test:là kiểm thử quan trọng nhất đối với một ứng dụng và kiểm tra xem dữ liệu tuyệt mật có thực sự được giữ bí mật hay không. Trong loại kiểm thử này, tester sẽ đóng vai trò của hacker và khai thác các lỗ hổng có thể có xung quanh hệ thống để tìm các lỗi liên quan đến bảo mật. Security test đóng vai trò rất quan trọng trong công nghệ kỹ thuật phần mềm để bảo vệ dữ liệu bằng mọi cách.

Mục đích của software testing

Tìm kiếm lỗi/ Finding defects

Đảm bảo được một mức độ chất lượng/ Gaining confidence about the level of quality

Cung cấp thông tin để đưa ra quyết định/ Providing information for decision-making

Ngăn ngừa lỗi/ Preventing defects

Các nguyên tắc kiểm  thử phần mềm 

Kiểm tra sự hiện diện của lỗi/ Testing shows presence of defect

Kiểm tra toàn bộ là không thể/ Exhaustive testing is impossible

Thực hiện kiểm thử sớm/ Early testing

Phân loại lỗi/ Defect clustering

Phương pháp thuốc trừ sâu/ Pesticide paradox

Kiểm thử phụ thuộc vào bối cảnh/ Testing is context dependent

Sự vắng mặt của lỗi/ Absence of error fallacy

Các giai đoạn của software testing

Nhận yêu cầu đặc tả của khách hàng và phân tích yêu cầu

Lập kế hoạch kiểm thử

Thiết kế Test Case/ test design

Tiến hành các Test Case

Báo cáo lỗi, báo cáo kết quả kiểm thử

Ưu điểm của nghề Software testing:

Được tiếp cận , cập nhật những công nghệ, Kỹ thuật mới nhất

Làm việc với các team khác nhau tùy từng dự án giúp bạn phát huy khả năng cũng như học tập cách làm việc nhóm

Là một nghề có thu nhập tốt và cơ hội phát triển nghề nghiệp nhanh chóng 

Nghề đầy thách thức và nhiều ý nghĩa

Software là nghề rất cần thiết, nó đề cao tính sáng tạo, khả năng phân tích và trí tuệ

Không có Software testing thì không có software

Đem sự hài lòng của khách hàng

Cơ hội phát triển và chế độ đãi ngộ tốt.

Từ khóa:
Bình luận
Đăng ký nhận ưu đãi hấp dẫn
Đăng ký nhận ưu đãi hấp dẫn

    Icon Phone Icon Zalo