Bạn nghe về kiểm thử phần mềm, muốn làm công việc kiểm thử phần mềm nhưng chưa biết bắt đầu từ đâu? Sẽ đi đến đâu và phải làm gì, học gì? Xin chúc mừng bạn đã đến đúng nơi. Trong chuỗi bài viết này bạn sẽ giải đáp được cho những câu hỏi trên và xây dựng được những khái niệm, kỹ năng cơ bản cần thiết để theo đuổi con đường của một Tester. Kiểm thử phần mềm cơ bản sẽ như một chuỗi cẩm nang toàn diện và cơ sở cho bạn. Các bài viết được đi kèm với những ví dụ thực tế giúp cho bạn có thể dễ dàng tưởng tượng được công việc cần làm một cách thực tế và chính xác nhất.
Tại sao tôi lại viết series này?
Trong quá trình giảng dạy, làm freelancer, đọc các bài hỏi đáp trên nhiều diễn đàn khác nhau về công nghệ thì không ít lần tôi bắt gặp những câu hỏi và những định kiến sai lầm về tester như:
- “Em là con gái muốn theo học công nghệ thông tin thì em nên làm tester?”
- “Em học lập trình nhưng không biết code em có thể làm tester được không?”
- “Em thấy em không giỏi, học lập trình khó quá, vậy em có nên làm tester?
Đó chỉ là những định kiến phiến diện mà các developer hay gắn cho tester. Trên thực tế tester không chỉ sử dụng những kỹ năng đơn giản hay công cụ sẵn có mà còn cần hiểu rất nhiều về các quy trình phát triển, các khái niệm kỹ thuật phức tạp để có thể làm tốt công việc của mình. Trên thực tế:
- Dù bạn là con trai hay con gái thì tester vẫn có thể là lựa chọn đáng lưu ý của bạn. Tuy nhiên, nếu bạn là nữ thì bạn sẽ có lợi thế lớn hơn do môi trường làm việc, do tính cẩn thận, tỉ mỉ, khả năng tuân thủ quy trình. Còn đối với nam giới vốn được biết đến với tính bộp chộp, nóng nảy, phá cách, ẩu, luôn muốn theo đuổi cái mới lạ thì sẽ có khá nhiều khó khăn nếu chọn nghề tester.
- Bạn không biết code bạn vẫn có thể làm tester ở mức độ nào đó tuy nhiên để đi xa hơn, chắc chắn bạn nên cần biết code hoặc ít ra là hiểu được quy trình và giải thuật. Điều này sẽ giúp bạn dễ dàng suy nghĩ đến các bug nhiều hơn, nhanh hơn và hiểu được đối tác, đồng nghiệp của mình nhiều hơn.
- Bạn học không giỏi, không vấn đề gì, miễn là bạn làm giỏi. Bạn có thể làm developer, tester hay bất cứ nghề gì kể cả khi bạn học không giỏi. Trên thực tế thì tester cũng sẽ đòi hỏi nhiều kỹ năng không hề thua kém một developer, nếu bạn muốn làm việc một cách “ra ngô ra khoai”.
- Cuối cùng, dù bạn là developer bạn cũng nên học về kiểm thử phần mềm? Tại sao? Bởi khi nắm được quy trình bạn sẽ làm việc hiệu quả gấp 10. Hãy tin tôi đi, rất đáng để thử nếu bạn có thể. Một developer có thể viết ra code ít lỗi hơn, “sạch” hơn nếu biết cơ bản về kiểm thử phần mềm. Hãy thử ngay, sẽ không mất của bạn quá nhiều thời gian nhưng sẽ mang lại cho bạn vô số lợi ích về lâu dài.
Và quan trọng hơn!
Tester là một khía cạnh nghề nghiệp khá ổn định, triển vọng với ngành công nghệ thông tin và là xem xét hàng đầu về công việc.
Chuỗi bài viết “Kiểm thử phần mềm cơ bản” này được tổng hợp, dịch và viết lại dựa vào nhiều nguồn, blog và tài liệu cho các tester và Q&A chính thống và nổi tiếng trên thế giới, bổ sung nhiều kiến thức thực tế trong quá trình giảng dạy và làm việc với các team developer và tester mà mình đã trải qua, cùng với việc tham khảo ý kiến của nhiều tester lâu năm trong ngành. Do đó, bạn có thể chắc chắn với tính hiệu quả của nó. Hi vọng Kiểm thử phần mềm cơ bản sẽ giúp ích cho bạn trong quá trình làm quen để trở thành một Tester.
Giờ thì đã đến lúc chúng ta hãy bắt đầu series bài viết chi tiết.
Phần I. Tổng quan về kiểm thử phần mềm
Bài 1. Kiểm thử phần mềm là gì? Những điều bạn chưa biết về kiểm thử phần mềm
Bài 2. Kiểm thử phần mềm? Bạn đã sẵn sàng để bắt đầu?
Bài 3. QA là gì? QC là gì? Những định hướng sự nghiệp của tester
Bài 4. Học kiểm thử phần mềm, nên bắt đầu từ đâu?
Bài 3. Lỗi hay Bug, hiểu sao cho đúng? Phân biệt giữa Error, Mistake, Fault, Bug, Failure, Defect
Bài 4. 7 loại lỗi phần mềm mà mọi tester đều nên biết
Bài 5. 7 nguyên lý trong kiểm thử phần mềm mà mọi tester đều nên thuộc lòng
Bài 6. 10 hiểu lầm phổ biến về tester và công việc kiểm thử phần mềm
Bài 7. 10 sai lầm chết người của tester
Bài 8. SDLC là gì? Vai trò của kiểm thử trong quy trình phát triển phần mềm
Bài 9. Quy trình kiểm thử phần mềm STLC và những điều cần chú ý
Bài 10. Quản lý Bug trong kiểm thử
Phần II. Các dạng kiểm thử
Bài 11. 100+ dạng kiểm thử mà tester nên biết
Bài 12. Kiểm thử thủ công
Bài 13. Kiểm thử tự động
Bài 14. Sự khác biệt giữa kiểm thử thủ công và kiểm thử tự động. Khi nào nên kiểm thử tự động?
Bài 15. Kiểm thử chức năng – “Đây là một chức năng không phải một lỗi…”
Bài 16. Kiểm thử phi chức năng – Tại sao nhiều phần mềm nhiều chức năng tuyệt vời cũng chẳng ai dùng?
Bài 17. Kiểm thử hộp đen – chúng ta kiểm thử như thế nào khi không có mã nguồn?
Bài 18. Kiểm thử hộp trắng – mổ sẻ phần mềm chi tiết
Bài 19. Kiểm thử đơn vị (Unit Testing)
Bài 20. Kiểm thử tích hợp
Bài 21. Kiểm thử hệ thống
Bài 22. Phân biệt Smoke Testing và Sanity Testing
Bài 23. Kiểm thử hồi quy (Regression Testing) là gì? Tại sao cần kiểm thử hồi quy
Bài 24. Sự khác biệt giữa kiểm thử lại (Retesting) và Kiểm thử hồi quy (Regression Testing)
Bài 25. Nâng cao trải nghiệm người dùng với kiểm thử khả năng sử dụng (Usability Testing)
Bài 26. Liệu người dùng có sử dụng sản phẩm? Những điều cần chú ý trong kiểm thử chấp nhận người dùng (User Acceptance Testing)
Bài 27. Bản Alpha, bản Beta là gì? Những điều cần biết về kiểm thử Beta và Alpha
Bài 28. Kiểm thử hiệu năng (Performance Testing) – Nâng cao tính thân thiện bằng nhanh và nhẹ
Bài 29. Load Testing
Bài 30. Stress Testing
Bài 31. Kiểm thử an toàn – Xác định các lỗ hổng an toàn
Phần III. Kỹ thuật kiểm thử