Công việc của một Tester phần mềm không phải là một công việc dễ dàng. Nó chứa đầy những thách thức, cũng nhiều đòi hỏi không kém. Tester có nghĩa vụ phải cảnh giác và nhiệt tình trong từng giai đoạn của vòng đời ứng dụng.
Vai trò của một tester bắt đầu từ rất sớm. Và ngay từ khi khái niệm hóa dự án, tester đã tham gia vào các cuộc thảo luận với product owner, người quản lý dự án và các bên liên quan (stakeholders) khác nhau.
I. Các khái niệm cơn bản
Các mô hình quy trình kiểm thử phần mềm:
- Traditional Waterfall Development Model (Thác nước truyền thống)
- Agile Development Model
- V Model
- Spiral Model (Mô hình xoắn ốc)
Các Phương pháp/Cách tiếp cận Kiểm thử phần mềm:
Kiểm thử hộp trắng
Kiểm tra hộp đen
Kiểm tra hộp xám
Các Level/Cấp độ kiểm thử phần mềm:
Unit Testing
(Kiểm tra đơn vị)Integration Testing
(Thử nghiệm hội nhập)System Testing
(Thử nghiệm hệ thống)Acceptance Testing
(Kiểm tra chấp nhận)
Functional Testing - Kiểm thử phi chức năng
Tập trung vào việc xác minh hệ thống hoạt động theo đúng các yêu cầu nghiệp vụ.
Các loại kiểm thử chức năng:
Unit Testing
(Kiểm thử đơn vị)Sanity Testing
Smoke Testing
System Testing
(Kiểm thử hệ thống)Acceptance Testing
(Kiểm thử chấp nhận)- Installation Testing (Kiểm thử cài đặt)
- Interface Testing (Kiểm thử giao diện)
- Integration Testing (Kiểm thử tích hợp)
- Regression Testing (Kiểm thử hồi quy)
- Usability Testing (Kiểm tra khả năng sử dụng)
- Localization Testing
- .v.v.
Non Functional Testing - Kiểm thử chức năng
Tập trung vào việc xác minh hệ thống hoạt động theo đúng, mức độ sẵn sàng theo các tham số phi chức năng như:
Security
(Bảo mật): Tham số xác định cách hệ thống được bảo vệ an toàn trước các cuộc tấn công có chủ ý và đột ngột từ các nguồn bên trong và bên ngoài.Reliability
(Độ tin cậy): Mức độ mà bất kỳ hệ thống phần mềm nào liên tục thực hiện các chức năng được chỉ định mà không gặp sự cố.Survivability
(Khả năng sống sót): Tham số kiểm tra rằng hệ thống phần mềm tiếp tục hoạt động và tự phục hồi trong trường hợp lỗi hệ thống.Availability
(Tính sẵn có): Tham số xác định mức độ mà người dùng có thể phụ thuộc vào hệ thống trong quá trình hoạt động.Usability
(Khả năng sử dụng): Người dùng có thể dễ dàng học hỏi, vận hành, chuẩn bị đầu vào và đầu ra thông qua tương tác với một hệ thống.Scalability
(Khả năng mở rộng): Thuật ngữ này đề cập đến mức độ mà bất kỳ ứng dụng phần mềm nào cũng có thể mở rộng khả năng xử lý của nó để đáp ứng nhu cầu gia tăng.Interoperability
(Khả năng tương tác): Tham số phi chức năng này kiểm tra giao diện hệ thống phần mềm với các hệ thống phần mềm khác.Efficiency
(Tính hiệu quả): Mức độ mà bất kỳ hệ thống phần mềm nào cũng có thể xử lý dung lượng, số lượng và thời gian đáp ứng.Flexibility
(Tính linh hoạt): Thuật ngữ này đề cập đến sự dễ dàng mà ứng dụng có thể hoạt động trong các cấu hình phần cứng và phần mềm khác nhau. Giống như RAM tối thiểu, yêu cầu CPU.Portability
(Tính di động): Tính linh hoạt của phần mềm để chuyển từ môi trường phần cứng hoặc phần mềm hiện tại của nó.Reusability
(Tái sử dụng): Nó đề cập đến một phần của hệ thống phần mềm có thể được chuyển đổi để sử dụng trong một ứng dụng khác.
Các loại kiểm thử phi chức năng
- Performance Testing (Kiểm thử hiệu năng)
- Load Testing (Kiểm thử tải)
- Failover Testing (Kiểm thử chuyển đổi dự phòng)
- Compatibility Testing (Kiểm thử tương thích)
- Usability Testing (Kiểm thử khả năng sử dụng)
- Stress Testing (Kiểm thử về áp lực)
- Maintainability Testing (Kiểm thử bảo trì)
- Scalability Testing (Kiểm thử khả năng mở rộng)
- Volume Testing (Kiểm thử khối lượng)
- Security Testing (Kiểm thử bảo mật)
- Disaster Recovery Testing (Kiểm thử khắc phục thảm họa)
- Compliance Testing (Kiểm thử tuân thủ)
- Portability Testing (Kiểm thử tính di động)
Các công cụ kiểm thử phần mềm
- Selenium
- Appium
- Katalon
- Cucumber
- HPE Unified Functional Testing
- Worksoft
- IBM Rational Functional Tester
- Teleric Test Studio
- Soap UI
- TestComplete
Các thành phẩm kiểm thử phần mềm
- Test Strategy (Chiến lược test)
- Test Plan and Estimation
- Test Scenario
- Test Cases
- Test Data
- Requirement Traceability Matrix
- Test Summary Report
- Test Closure Report
- Incident Report
Tham khảo:
- The Road Map - Software Testing
- A COMPLETE GUIDE ON SOFTWARE TESTING
- Types of Software Testing
- A Quick Guide to the Software Testing Life Cycle (STLC)
- The Evolution of the Testing Pyramid
- Test Pyramid In Practice
- Restructuring Frontend Testing Pyramid: alternative to Unit/Integration/E2E approach
- The Testing Pyramid
- The Agile Testing Pyramid
- System tests: an objective look at the product
- Total Test Best Practices
- Test Automation Pyramid: 2021 Version
- Test Approach
- Testing Strategies For Microservices
- The 5 Main Strategies for Testing a Microservices App
- Microservices Testing Strategies, Types & Tools: A Complete Guide
- Testing a Spring Boot Microservices: Tools and Techniques
- Acceptance test with gauge and spring boot
- Phương pháp kiểm thử phần mềm - Nguyên lý kiểm thử phần mềm
- CÁC PHƯƠNG PHÁP KIỂM THỬ.
- Kiểm thử hộp trắng
- Kiểm Thử Hộp Trắng
- Kỹ thuật kiểm thử hộp trắng - White-box testing
- Tìm hiểu về kiểm thử hộp trắng(Phần 1)
- Tìm hiểu về kiểm thử hộp trắng (phần 2)
- Kiểm thử chuyển đổi cơ sở dữ liệu: Hộp Đen hay Hộp Trắng?
- KIỂM THỬ HỘP ĐEN
- Kiểm Thử Hộp Đen - Black box Testing
- Kỹ thuật kiểm thử hộp đen (Black-Box Testing)
- Kỹ thuật kiểm thử hộp đen - Black box Testing
- Các kỹ thuật kiểm thử hộp đen (Phần 1)
- Các kỹ thuật kiểm thử hộp đen (Phần 2)
- Kiểm thử hộp xám là gì?
- Unit Test - Kiểm thử đơn vị
- Integration testing - Kiểm thử tích hợp
- System Testing - Kiểm thử hệ thống
- System Testing - Kiểm thử hệ thống
- Acceptance Testing - Kiểm thử chấp nhận
- Test Automation IDE - JetBrains Aqua
- Acceptance Test là gì, được thực hiện như thế nào?
- Acceptance Testing là gì? Phân loại Acceptance Testing
- Test level
- Tìm hiểu về các loại Test Level
- Tìm hiểu về các loại test type (phần 1)
- System testing và End-to-End testing
- Sự khác nhau giữa System Testing Và End-To-End Testing
- Kiểm thử phi chức năng là gì?
- Tìm hiểu về kiểm thử chức năng (Functionality Testing)
- Tìm hiểu về kiểm thử chức năng (Functional Testing) trong kiểm thử phần mềm
- Kiểm thử phi chức năng
- Giới thiệu về kiểm thử phi chức năng
- Non-functional Testing là gì?
- Sự khác nhau giữa Functional Testing và Non-Functional Testing
- Tìm hiểu về IOT testing
- What is IoT Testing? Types & Tools
- Nên kiểm thử tự động hay kiểm thử thủ công
- 10 chiến lược kiểm thử (Testing Strategies) hiệu quả dành cho thiết bị di động
- Chiến lược kiểm thử Round Earth
- https://viblo.asia/tags/test-level
- https://viblo.asia/tags/unit-test
- https://viblo.asia/tags/integration-test
- https://viblo.asia/tags/system-test
- https://viblo.asia/tags/functional-testing
- https://viblo.asia/tags/non-functional-testing
- https://viblo.asia/tags/testcase
- Tìm hiểu về test plan
- Test Strategy
- Kỹ thuật kiểm thử - Kiểm thử hộp đen(Black box testing)
- QA Engineer là gì? QC Engineer là gì?
- Tất tần tật về QA - All about QA job Description, Roles, Duties and Career path.
- How to Write Test Cases ( Hướng dẫn cách viết Testcases)
- Làm thế nào để viết testcase cho người mới bắt đầu - Khái niệm và các loại test case
- Cách viết test case cho phần mềm
- Cách viết test case cho phần mềm - Viết Test Case từ User Story & Acceptance Criteria
- Làm thế nào để quản lý test case tốt
- Hướng dẫn xây dựng Testcase Chức năng
- Tìm hiểu về Kiểm thử chức năng đăng xuất - Logout Functionality
- Mẫu Test Case tốt nhất kèm ví dụ
- Kiểm thử độ bền là gì?
- Software Testing Metric - Chìa khoá để giải quyết mọi bài toán của Test Leaders
- Cucumber (P1) - Giới thiệu tổng quan
- Cucumber (P2) - Tạo project bằng Eclipse và quản lý thư viện với Maven
- Cucumber (P3) - Parameters và Scenario Outline
- Cucumber (P4) - Cucumber Options & Report
- Test API sử dụng Pytest (Phần 1: Kiến thức cơ bản)
- Test API sử dụng Pytest (Phần 2: Testcase Template và Dynamic Testing Function)
- Sự khác nhau giữa Sanity Testing và Smoke Testing
- Agile Testing là gì?
- Góc nhìn của một Tester về các dự án Agile
- Agile & Scrum
- V model trong kiểm thử phần mềm là gì? Tìm hiểu với ví dụ SDLC& STLC.
- Vòng đời kiểm thử trong một vài mô hình phát triển phần mềm phổ biến hiện nay
- https://viblo.asia/tags/cypress
- https://viblo.asia/u/oanhnguyen2403
- https://viblo.asia/u/nguyen.hong.minh
- https://viblo.asia/u/tran.thi.tra.giang
- https://viblo.asia/u/ngocyanl2k1
- https://viblo.asia/u/thaoltp
- 7 nguyên tắc quan trọng trong kiểm thử phần mềm
- 7 cách đơn giản để trở thành một kiểm thử phần mềm hiệu quả
- 7 cách dễ dàng để việc kiểm thử trở nên hiệu quả
- 7 Kỹ năng để trở thành một automation tester thành công trong năm 2019
- Các hướng dẫn để trở thành một người kiểm thử
- Trở thành Kiểm thử viên: 9 lời đồn và sự thật
- Làm thế nào để trở thành người kiểm thử hiệu năng tốt hơn
- Làm thế nào để trở thành 1 kiểm thử viên phần mềm? (Part 1)
- Làm thế nào để trở thành 1 kiểm thử viên phần mềm? (Part 2)
- Chỉ số chất lượng của một tester: 22 giá trị cốt lõi để trở thành người kiểm thử tốt
- Thành kiến nhận thức trong kiểm thử phần mềm. Tại sao kiểm thử viên lại để sót bug?
- Chìa khóa kiểm thử đơn vị thành công - Làm thế nào các nhà phát triển kiểm thử mã code của họ?
- 5 mẹo đơn giản để việc kiểm thử của bạn trở lên đơn giản
- Cách để trở thành người kiểm thử phần mềm giỏi
- Những yếu tố cần thiết để trở thành kỹ sư kiểm thử phần mềm giỏi
- Những kỹ năng cần thiết của một Tester
- 10 điều bạn nên làm nếu muốn trở thành một tester giỏi
- Học gì để trở thành một Tester?
- Cách trở thành một tester beta giỏi
- TRỞ THÀNH TESTER XUẤT SẮC NHƯ THẾ NÀO?
- Làm thế nào để trở thành test leader?
- 9 bước để trở thành một QA leader tuyệt vời
- Thiếu những kỹ năng mềm sẽ cản trở con đường tới thành công của Test Manager như thế nào? (Phần 1)
- Thiếu những kỹ năng mềm sẽ cản trở con đường tới thành công của Test Manager như thế nào? (Phần 2)
- 10 kỹ năng để trở thành 1 great tester
- Tester có cần phải biết code??
- Một “chớt” tâm sự của một Tester quèn gửi tới Dev team, PM, DM, PO,…
- NHỮNG CÂU HỎI PHỎNG VẤN QC // MANUAL TESTER // FRESHER
- Bộ câu hỏi phỏng vấn tuyển dụng Tester
- What Is Full Stack QA or Tester? 4 Steps Guide For Beginners
- HƯỚNG DẪN MANUAL TESTING TỪ A-Z
- HƯỚNG DẪN AUTOMATION TESTING TỪ A-Z
- 10 CÔNG CỤ KIỂM THỬ PHẦN MỀM TỐT NHẤT CHO TESTER
- 4 MỨC ĐỘ KIỂM THỬ PHẦN MỀM TESTER PHẢI BIẾT
- TÀI LIỆU KIỂM THỬ PHẦN MỀM – NHỮNG KIẾN THỨC CẦN BIẾT
- TỐI ƯU HÓA PHÂN TÍCH YÊU CẦU VÀ TẠO TESTCASE
- [TEST AUTOMATION] HƯỚNG DẪN CƠ BẢN SELENIUM TRONG PYTHON
- UNIT TESTING TUTORIAL: LÀM QUEN VỚI PHPUNIT
- CÁC CHỨNG CHỈ MỘT TESTER NÊN CÓ
- API Testing bằng Postman - Khởi đầu mới
- API Testing bằng Postman - Tạo testcase
- API Testing bằng Postman - Collection runner
- Postman nâng cao - Viết Tests cho Postman
- Các công cụ kiểm thử tự động nổi bật trong năm 2019 ( Phần 1)
-
Các công cụ kiểm thử tự động nổi bật trong năm 2019 ( Phần 2)
- https://viblo.asia/tags/katalon-studio
- Giới thiệu về Katalon Studio - Công cụ kiểm thử tự động đến từ Việt Nam
- Giới thiệu và tạo new project trong Katalon
- Tạo test case sử dụng script mode trong Katalon
- Automation Testing with Cucumber BDD in Katalon
- REST API và Webservice với Katalon Studio
- Tạo dự án Mobile Testing với Katalon Studio và tích hợp Kobiton cloud-based device farm
- Katalon Studio và so sánh các công cụ kiểm thử tự động phổ biến hiện nay
- Katalon Studio- Cách cài đặt và cấu hình- Viết một kịch bản test
- Kiểm thử cơ sở dữ liệu trong Katalon Studio
- Testing API đơn giản với Katalon Studio
- Tìm hiểu về công cụ Katalon trong kiểm thử phần mềm - tổng quan về Katalon (Phần 1)
- Tìm hiểu về công cụ Katalon trong kiểm thử phần mềm - tổng quan về Katalon (Phần 2)
- Tìm hiểu về công cụ Katalon trong kiểm thử phần mềm - tổng quan về Katalon (Phần 3)
- Tìm hiểu về công cụ Katalon trong kiểm thử phần mềm (Phần 4) - Tips & Tricks
- Tìm hiểu về testNG framework (Phần 1)
- Tìm hiểu về testNG framework (Phần 2)
- Tìm hiểu về testNG framework (Phần 3)
- Tìm hiểu về testNG framework (Phần 4)
- Tìm hiểu về testNG framework (Phần 5)
- Tìm hiểu về testNG framework (Phần 6)
- Kiểm Thử Phần Mềm Dành Cho Người Mới Bắt Đầu - Nhập Môn Kiểm Thử Phần Mềm (Phần I)
- Kiểm Thử Phần Mềm Dành Cho Người Mới Bắt Đầu (Phần II)
- Kiểm Thử Phần Mềm Dành Cho Người Mới Bắt Đầu (Phần III)
- Kiểm Thử Phần Mềm Dành Cho Người Mới Bắt Đầu (Phần IV)
- Làm thế nào để trở thành Tester chuyên nghiệp
- Telegram Automation Testing
- Telegram Manual Testing
- https://toolsqa.com/
- Các công cụ kiểm tra phần mềm giá rẻ và miễn phí
- ROADMAP TO QA AUTOMATION ENGINEER
- Roadmap QA Engineer