Là người thử nghiệm, chúng ta không chỉ xác nhận mọi thứ mà còn đặt câu hỏi về mọi thứ.
Là người thử nghiệm, chúng ta không chỉ làm theo từng bước trong các trường hợp thử nghiệm để xác minh so với kết quả mong đợi, chúng ta cần đặt câu hỏi để thu thập thêm các thông tin về hệ thống
Rõ ràng rằng việc đặt ra những câu hỏi hay đóng vai trò quan trọng để giúp chúng ta thực hiện thử nghiệm tốt hơn.
Đặt câu hỏi đóng một vai trò quan trọng trong kiểm thử phần mềm. Nó không hề dễ dàng - thực ra, nó có thể là một trong những kỹ năng khó nhất để thành thạo, nhưng nó đáng để nỗ lực vì chúng ta càng hỏi nhiều, chúng ta càng học được nhiều hơn.
Lợi ích của việc đặt câu hỏi hay là gì?
1. Đặt câu hỏi giúp chúng ta tránh giả định
Điều thú vị là mọi người thường có ý nghĩ khác nhau khi họ nói về cùng một thứ và có cùng ý nghĩ khi họ nói về những thứ khác nhau. Đặt câu hỏi giúp chúng ta biết liệu mọi người nói gì hay họ nghĩ gì.
2. Đặt câu hỏi giúp chúng ta giải quyết vấn đề
Thông thường, khi mọi người yêu cầu giúp đỡ, họ yêu cầu một giải pháp cho vấn đề mà họ nhận thức được.
Có người tiếp cận tôi và hỏi các trường hợp thử nghiệm mẫu, kế hoạch thử nghiệm mẫu hoặc một cái gì đó tương tự mà không cho biết tại sao họ cần. Tôi thường làm họ thất vọng. Thực ra, tôi có thể cung cấp những điều này nhưng không chắc sẽ giải quyết được vấn đề của họ.
Tôi có thói quen đặt câu hỏi để hiểu vấn đề thực sự trước khi đưa ra lời khuyên hoặc đề xuất. Trong nhiều trường hợp, thứ người ta muốn lại không phải là thứ người ta cần. Đặt câu hỏi là một trong những bước đầu tiên để giải quyết vấn đề.
Một câu hỏi hay là gì và nó trông như thế nào?
1. Khi chúng ta hỏi những điều đúng đắn
Chúng ta phải biết vấn đề mình đang cố gắng giải quyết hoặc mình cần hoặc mình mong đợi gì từ câu trả lời trước khi đặt câu hỏi.
Có thể tự hỏi mình câu hỏi tương tự trước khi nhờ người khác giúp đỡ. Và chúng ta cũng nên biết rằng câu hỏi sai sẽ nhận được câu trả lời sai.
2. ... và theo đúng cách
- Đảm bảo rằng chúng ta không hỏi cùng một câu hỏi mà mình hoặc ai đó đã hỏi trước đó rồi. Điều này sẽ tránh lãng phí thời gian lặp lại các câu trả lời mà chúng ta nên tự tra cứu và tìm ra câu trả lời.
- Kể một chút về những gì chúng ta đã làm để tìm câu trả lời trước khi hỏi. Điều này cho thấy chúng ta không phải là người lười biếng.
- Đặt bối cảnh xung quanh câu hỏi: tại sao, cái gì, khi nào, bằng cách nào,… Điều này sẽ giúp người trả lời hiểu rõ hơn về câu hỏi của mình để họ có thể trả lời câu hỏi tốt hơn, đúng hướng mong đợi hơn
- Hãy cố gắng tránh câu hỏi Có/ Không. Câu hỏi tại sao, cái gì, khi nào, bằng cách nào,... được khuyến khích hơn vì nó giúp câu trả lời mang lại nhiều thông tin hơn.
- Kiểm tra chính tả, câu từ. Đây là tùy chọn nhưng người được hỏi sẽ đánh giá vấn đề này và làm cho câu hỏi của chúng ta trở nên rõ ràng và dễ đọc hơn.
Một vài ý tham khảo dành cho Người kiểm thử phần mềm khi đặt câu hỏi
1. Học từ Trẻ em
Đặt câu hỏi là quan trọng, nhưng mọi người sợ nó. Tại sao chúng ta rất ngại đặt câu hỏi? Thông thường, nó có thể là một trong hai lý do:
- Chúng ta lo lắng trông chúng ta sẽ thật ngu ngốc. Khi chúng tôi đặt câu hỏi, chúng ta đang nói với mọi người rằng tôi không biết điều gì đó. Đặt một câu hỏi có thể khiến chúng ta dễ bị tổn thương.
- Chúng ta tin rằng chúng ta “nên” biết những điều. Điều này đặc biệt đúng với những người có nhiều kinh nghiệm hơn. Chúng ta có xu hướng giả định mọi thứ và nói, “Tôi đã là một người thử nghiệm trong mười hai năm. Tôi sẽ có thể tự mình tìm ra điều này ”.
Trẻ em làm ngược lại. Chúng không quan tâm mọi người nghĩ gì về mình. Chúng chỉ đặt câu hỏi mà không hề xấu hổ và nếu câu trả lời của bạn không thỏa mãn sự tò mò của chúng, chúng sẽ tiếp tục hỏi cho đến khi nhận được câu trả lời mà chúng hiểu (hoặc cho đến khi bạn cảm thấy mệt mỏi khi trả lời).
Kết quả? Trẻ em học những điều mới rất nhanh.
Vì vậy, hãy học mẹo từ trẻ em và đừng bỏ qua các vấn đề khi bạn đang phân vân; hỏi cho đến khi chúng ta hiểu. Bước đầu tiên khi học cách đặt câu hỏi là chúng ta phải đủ dũng cảm để hỏi.
2. Giải quyết vấn đề gốc rễ
Một khi bạn sẵn sàng hỏi, bạn cần đặt câu hỏi đúng. Thông thường, những câu hỏi mà chúng ta nghĩ là nông cạn và không giải thích được nguyên nhân gốc rễ — ví dụ: “Bạn có biết về công cụ quản lý kiểm thử tốt không?”
Đặt câu hỏi này và bạn có thể nhận được câu trả lời, nhưng có thể đó sẽ là câu trả lời mà người mình đang hỏi đã giải quyết được vấn đề của họ. Còn vấn đề của chúng ta không chắc cũng giống vậy
Thay vào đó, hãy chỉ ra những gì chúng ta thực sự muốn nhận được từ một câu trả lời, và sau đó đặt câu hỏi.
3. Thêm nhiều ngữ cảnh hơn
Ngoài nguyên nhân gốc rễ, bối cảnh giải thích các câu hỏi kinh điển: ai, cái gì, khi nào, ở đâu, tại sao và bằng cách nào.
Vì vậy, thay vì chỉ hỏi về một công cụ quản lý thử nghiệm tốt, hãy thêm ngữ cảnh bằng cách nói rằng chúng ta đã gặp sự cố abc mà bạn đang cố gắng khắc phục trong bao lâu, những gì mình đã tìm hiểu, nghiên cứu, đã thực hiện, và kết quả hiện tại như thế nào.
Một câu hỏi được đưa ra tốt hơn sẽ là:
Nhóm ba người của tôi hiện đang sử dụng bảng tính Excel để quản lý các trường hợp thử nghiệm và nó hoạt động tốt. Tuy nhiên, nhóm của tôi sẽ tăng lên mười người trở lên vì vậy tôi đang tìm kiếm một công cụ quản lý thử nghiệm mới.
Tôi muốn có một công cụ phiên bản web, nó miễn phí hoạt động với cả Mac và Windows và có thể liên kết các yêu cầu kiểm thử và các trường hợp kiểm thử.
Tôi đã dùng thử Bugzilla, nhưng tôi không có máy chủ để cài đặt phần mềm và tôi cần thứ gì đó dễ dàng hơn và thân thiện hơn với người dùng.
Bạn có thể cho tôi một số gợi ý khác được không?
Câu hỏi này tốt hơn nhiều vì nó đưa ra bối cảnh xung quanh câu hỏi. Với câu hỏi này, nhiều khả năng bạn sẽ nhận được loại câu trả lời mình muốn.
4. Biết khi nào nên đặt câu hỏi mở
Không ai thích cảm thấy bị thẩm vấn và một số loại câu hỏi có thể buộc người trả lời vào góc. Các câu hỏi mở có thể hữu ích trong việc khám phá thông tin hoặc tìm hiểu điều gì đó mới.
Tất nhiên, câu hỏi mở không phải lúc nào cũng tối ưu. Ví dụ: nếu chúng ta đang tham khảo ý kiến từ những người có xu hướng không muốn chia sẻ, những câu hỏi mở có thể khiến họ né tránh hoặc nói chuyển hướng.
Trong những tình huống như vậy, các câu hỏi đóng hoạt động tốt hơn, đặc biệt nếu chúng được hỏi và hướng đến đúng chính xác vấn đề.
Hoặc có thể tối ưu thứ tự của các câu hỏi tùy thuộc vào hoàn cảnh. Khi đặt câu hỏi bắt đầu như "Bạn đã sử dựng một công cụ quản lý các trường hợp kiển thử bao giờ chưa?" và "Nó có những chức năng gì đặc biệt vậy?"
5. Đặt câu hỏi với phương phát 5 Why
Hỏi "Tại sao?" năm lần là một hoạt động phân tích nguyên nhân gốc rễ phổ biến. Đây là một kỹ thuật đặt câu hỏi lặp đi lặp lại được sử dụng để khám phá các mối quan hệ nguyên nhân và kết quả cơ bản của một vấn đề.
Đây là một ví dụ: Xe sẽ không nổ máy (vấn đề)
- Tại sao? Pin đã chết.
- Tại sao? Máy phát điện không hoạt động.
- Tại sao? Dây curoa máy phát điện bị đứt.
- Tại sao? Dây curoa máy phát điện đã vượt quá tuổi thọ sử dụng hữu ích của nó.
- Tại sao? Chiếc xe đã không được bảo dưỡng theo lịch trình dịch vụ khuyến nghị.
Khi chúng ta tiếp tục hỏi tại sao, cuối cùng sẽ nhận được câu trả lời cho nguyên nhân sâu xa.
6. Giải thích cho một con vịt
Bạn đừng cười. Nó là một kỹ thuật gỡ lỗi được gọi làRubber Ducking – Vịt Cao Su hay Rubber Duck Debugging, trong đó một lập trình viên gặp khó khăn trong một vấn đề sẽ giải thích từng dòng mã của mình cho một con vịt cao su trên bàn làm việc của anh ta trong khi anh ta đang gỡ lỗi mã.
Thông thường, lập trình viên sẽ tự mình tìm ra câu trả lời cho vấn đề khi anh ta dành thời gian để giải thích vấn đề đó một cách vô tư, vô tri.
Mặc dù đây thường là một kỹ thuật lập trình, nhưng ý tưởng này cũng có thể áp dụng trong kiểm thử phần mềm.
Tất nhiên, chúng ta có thể giải thích vấn đề cho đồng nghiệp để khởi động lại suy nghĩ của mình, nhưng việc hỏi chú vịt cao su giúp bạn không làm gián đoạn đồng nghiệp - và điều đó nghe có vẻ thú vị hơn.
7. Dừng lại và suy nghĩ
Giả sử ai đó đến gặp bạn để tham khảo ý kiến giải quyết vấn đề. Trước khi bắt đầu giải quyết, hãy đảm bảo rằng bạn hiểu đầy đủ những gì đang diễn ra. Michael Bolton gợi ý bốn từ đơn giản được sử dụng để tạm dừng và thu hút suy nghĩ phản biện: hả, thực sự, và, như vậy?
- Chờ đã… hả? Tôi có nghe đúng không? Nó có nghĩa là những gì tôi nghĩ rằng nó có nghĩa là?
- Ừm… thật không? Điều đó có phù hợp với kinh nghiệm và hiểu biết của tôi hay nó có thể như thế nào? Một số cách giải thích thay thế hợp lý cho những gì tôi vừa nghe hoặc đọc là gì?
- Chờ một chút… và? Thông tin bổ sung nào có thể bị thiếu? Tôi có thể suy ra những ý nghĩa nào khác?
- Được… vậy? Một số hệ quả của nó là gì? Sau đó thì sao? Chúng ta làm gì (hoặc nói gì, hoặc hỏi gì) tiếp theo?
Lời kết
Cựu cầu thủ bóng đá, huấn luyện viên và nhà phân tích Lou Holtz nói "Tôi không bao giờ học bất cứ điều gì nói chuyện. Tôi chỉ học được những điều khi tôi đặt câu hỏi".
Đặt câu hỏi đóng một vai trò quan trọng trong công việc hàng ngày của chúng tai với tư cách là người kiểm thử phần mềm. Nó không hề dễ dàng - thực ra đây có thể là một trong những kỹ năng khó nhất để thành thạo, nhưng nó rất đáng để nỗ lực vì khi chúng ta càng hỏi nhiều, thì càng học được nhiều hơn.
Dành thời gian thực hành đặt những câu hỏi hay. Nó sẽ giúp chúng ta trở thành một người kiểm thử tốt hơn.
Bài viết đươc tham khảo từ nguồn StickyMinds