Trước khi bạn “thí mạng” vào nghề kiểm thử phần mềm.
Đối với những người có một nền tảng về lĩnh vực CNTT, không có nhiều khó khăn vì bạn đã biết
các thuật ngữ kỹ thuật và các thuật ngữ khác nhau, mặc dù sẽ là tốt hơn nếu bạn có thể tham gia một khóa học về kiểm thử phần mềm để có được một kiến thức chuyên sâu về các khái niệm. Tuy nhiên, những người không có một nền tảng kỹ thuật vững chắc, thực sự có thể khá khó khăn cho họ để hiểu những thuật ngữ có liên quan.
Lĩnh vực khoa học máy tính và công nghệ phần mềm là rất lớn, bạn phải đi qua những điều cơ bản để giúp bạn bắt đầu. Tìm hiểu về các thuật ngữ khác nhau được sử dụng trong công nghệ phần mềm và các lĩnh vực lập trình. Làm quen với thuật ngữ kỹ thuật khác nhau như, phần mềm, hướng dẫn, chương trình, thực thi, lỗi, phát triển và chu kỳ thử nghiệm.v.v sẽ giúp bạn có được đủ động lực để làm việc trong lĩnh vực kiểm thử. Bạn cũng sẽ nhận được một tổng quan về các phương pháp phát triển khác nhau như mô hình thác nước, mô hình xoắn ốc .v.v
Sau khi bạn hoàn thành bước đầu tiên, bắt đầu đọc một số cuốn sách về các khái niệm khác nhau và các nguyên tắc cơ bản của thủ tục kiểm thử và làm thế nào để đưa chúng vào thực tế. Hiểu các loại kiểm thử, chiến lược, phương pháp .v.v Mặc dù hầu hết các định nghĩa / thuật ngữ rất đơn giản và khá dễ dàng để giải thích, bạn nên cố gắng tạo ra một thư mục định nghĩa nhỏ, nó sẽ có ích cho bạn bất cứ lúc nào bạn cần. Việc tham gia vào một lớp đào tạo bài bản sẽ giúp bạn có được một sự hiểu biết tốt hơn về các phương pháp kiểm thử. Bạn sẽ có đủ kiến thức để có thể được thăng tiến nhanh trong lĩnh vực kiểm thử phần mềm.
Tổng quan về kiểm thử phần mềm
Là một kỹ sư kiểm thử phần mềm, bạn cần phải thiết kế trường hợp kiểm thử, các kịch bản và thực hiện chúng để đánh giá kết quả của những phương pháp kiểm thử khác nhau. Bạn cần phải biết trường hợp kiểm thử là gì, mục tiêu của kiểm thử, các phương pháp kiểm thử, mức độ kiểm thử, và các phương pháp tiếp cận… Chúng ta hãy cố gắng hiểu từng khái niệm một.
Mục tiêu (objective): Để kiểm tra xem phần mềm đáp ứng nhu cầu của khách hàng và phù hợp với các đặc tả và đảm bảo chất lượng và tính chính xác của ứng dụng.
Phương pháp kiểm thử (Testing Methods): Có hai phương pháp phổ biến của kiểm thử phần mềm – kiểm tra hộp trắng và kiểm tra hộp đen. Trong kiểm thử hộp màu trắng, cấu trúc mã hoặc thuật toán của chương trình được đưa vào xem xét. Các trường hợp kiểm thử được thiết kế dựa vào cấu trúc mã hoặc cách thức làm việc của chương trình, trong khi đó kiểm thử hộp đen không yêu cầu kỹ sư kiểm thử cần phải có bất kỳ kiến thức về mã hoặc thuật toán của chương trình. Nó kiểm tra các chức năng của hệ thống tức là những gì hệ thống được cho là cần phải làm dựa trên các đặc tả. Các trường hợp kiểm thử thường được xây dựng xung quanh đó.
Mức độ kiểm thử (Testing Levels): được phân loại thành ba loại: kiểm thử đơn vị (unit testing), kiểm thử tích hợp (integration testing) và kiểm thử hệ thống (system testing). Trong kiểm thử đơn vị các đơn vị khác nhau hoặc các thành phần của ứng dụng đang được kiểm thử để kiểm tra các chức năng của các đoạn mã. Trong kiểm thử tích hợp, việc kiểm thử được thực hiện bằng cách tích hợp các mô-đun khác nhau, trong khi đó trong kiểm thử hệ thống toàn bộ hệ thống được kiểm thử cả về chức năng và yêu cầu hệ thống để kiểm tra hành vi của hệ thống ở các cấp độ khác nhau.
Phương pháp tiếp cận kiểm thử (Testing Approach): Nó có hai loại, phương pháp tiếp cận từ trên xuống và từ dưới lên. Trong phương pháp tiếp cận từ trên xuống, các thành phần cấp cao nhất được kiểm thử đầu tiên đi xa hơn xuống các cấp thấp hơn, trong khi ở dưới lên tiếp cận các thành phần thấp nhất được thử nghiệm đầu tiên tiến dần tới mức cao hơn
Trường hợp kiểm thử (Test Case): Một trường hợp kiểm thử là một tập hợp các điều kiện được sử dụng để xác định xem một ứng dụng đang làm việc tốt hay không. Trường hợp kiểm thử có thể là tích cực hay tiêu cực. Trường hợp kiểm thử tích cực được thiết kế để kiểm tra xem ứng dụng có hoạt động như cách mà nó được dự kiến sẽ hoạt động hay không, trong khi các trường hợp kiểm thử tiêu cực được thiết kế để kiểm tra cách hệ thống phản ứng với chuỗi bất thường của các hành động hoặc giá trị bất ngờ. Một yêu cầu kiểm thử trong một ứng dụng phải có ít nhất hai trường hợp kiểm thử nghiệm – một tích cực và một tiêu cực.
Làm thế nào để trở thành một kỹ sư kiểm thử giỏi
- Mở rộng kiến thức và sự hiểu biết của bạn về lĩnh vực này, chiều sâu tư duy và sáng tạo.
- Đảm bảo rằng tất cả các vấn đề được xác định và xử lý trong giai đoạn đầu để tiết kiệm thời gian.
- Phát triển kỹ năng phân tích và kỹ thuật của bạn, và cố gắng tìm hiểu những mẹo và thủ thuật mới giúp bạn nổi bật trong đám đông.
- Kiểm tra các hệ thống để tìm ra càng nhiều lỗi, cho kết quả tốt nhất. Cải tiến quy trình bằng cách đưa ra các đề xuất.
- Bạn cần phải có kỹ năng ngoại giao tuyệt vời và duy trì tốt các mối quan hệ với các kỹ sư lập trình. Mục đích chính là để phát triển một sản phẩm chất lượng.
- Tìm kiếm lỗi trong một hệ thống đòi hỏi phải có sự tò mò, một con mắt phê phán, giao tiếp tốt với đội ngũ phát triển, và kinh nghiệm.
- Nếu công việc không chạy, khắc phục sự cố để tìm hiểu lý do. Điều này sẽ phát triển sự tự tin của bạn và giúp bạn tiến về phía trước trong sự nghiệp của bạn.
- Phát triển kỹ năng giao tiếp của bạn và lịch thiệp. Báo cáo các lỗi cho kỹ sư lập trình một cách xây dựng.
- Học cách làm việc độc lập. Điều này sẽ giúp bạn có hiệu quả hơn trong việc phát hiện lỗi.
- Hãy tổ chức và duy trì các tập tin và tài liệu của bạn để ghi lại những phát hiện của bạn.
- Cập nhật những công cụ kiểm thử và kỹ thuật mới nhất.
- Học từ những sai lầm của bạn để bạn không lặp lại chúng trong tương lai.
Mẹo và thủ thuật cho các bạn mới bắt đầu
- Bạn cần phải nắm rõ các đặc tả trước khi bạn bắt đầu kiểm thử.
- Đừng kiểm thử một hệ thống mà bạn không biết các yêu cầu. Lý do đơn giản là- bạn không biết những gì cần phải có trong hệ thống và những gì không nên có!
- Nếu bạn thực sự cần kiểm thử một hệ thống mà bạn không có các yêu cầu, bạn hãy sử dụng monkey testing. Bạn không biết gì về hệ thống! Vì vậy, bất cứ điều gì bạn nghĩ một cách hợp lý có thể là một lỗi tiềm năng trong hệ thống, bạn có thể báo cáo.
- Bạn cần phải biết yêu cầu về phần mềm và phần cứng của ứng dụng mà bạn đang làm việc.
- Đừng phỏng đoán bất cứ điều gì trong khi kiểm thử một ứng dụng cụ thể.
- Thực hiện theo các chuẩn mực của công ty bạn về các công cụ và thủ tục kiểm thử, bảo trì tập tin, tài liệu, .v.v
- Kiểm tra các ứng dụng theo quan điểm của khách hàng.
- Việc kiểm thử một hệ thống một cách toàn bộ / hoàn toàn là không thể vì các yêu cầu có thể bị thay đổi bất cứ lúc nào.
Có cần thiết phải tìm hiểu công cụ kiểm thử tự động?
Lĩnh vực kiểm thử phần mềm đang phát triển với một tốc độ ngày càng cao hơn. Mặc dù kiểm thử thủ công giúp tìm thấy lỗi tuy nhiên nó có thể tốn nhiều thời gian. Vì vậy, một kiến thức tốt về các công cụ kiểm thử tự động sẽ giúp bạn kiểm thử các ứng dụng nhanh hơn và đáng tin cậy hơn. Bạn càng biết về các công cụ kiểm thử tự động, cơ hội tốt hơn để bạn đánh dấu sự hiện diện của bạn trong ngành công nghiệp này hơn những người khác. Việc này cũng phụ thuộc vào loại dự án bạn đang làm việc. Nếu công việc của bạn đòi hỏi bạn phải hiểu và sử dụng một công cụ kiểm thử tự động, bạn sẽ phải tìm hiểu nó.
Kiểm thử phần mềm là một lĩnh vực rộng lớn với cơ hội nghề nghiệp phong phú. Tuy nhiên, biết khả năng, sở thích của bạn, và kỹ năng trước khi quyết định đi sâu vào trong lĩnh vực này.
Theo Nilesh Parekh (Buzzle)