Kiểm thử trong Công ty Outsourcing và Công ty Product

Kiểm thử trong Công ty Outsource và Công ty In-house Production hoặc Product có khác nhau không? Đó chính là câu hỏi thường đặt ra bởi những QA/ Tester tương lai hay những người chỉ làm ở một loại hình công ty. Bài viết dưới đây là quan điểm cá nhân của mình, dựa vào 5,5 năm kinh nghiệm tại Cty Phát triển phần mềm và gần 1 năm kinh nghiệm tại Cty Outsource của Nhật. Ngoài ra mình cũng tham khảo một số ý kiến của bạn bè đồng nghiệp khác. Hy vọng các thông tin này sẽ giúp các bạn QA có thể tìm ra được môi trường phù hợp nhất với bản thân mỗi người.

1. Outsourcing và In-house Production

Trước tiên chúng ta cùng tìm hiểu Công ty Outsource và In-house Production là gì nhé

  • Công ty Outsource: là công ty được thuê để làm phần mềm cho những Công ty khác. Họ không sở hữu, quảng bá hay bán sản phẩm họ làm ra. Họ được trả tiền dựa trên số giờ làm việc hoặc theo dự án. Và với cách làm này, Công ty đi thuê sẽ cắt giảm được một phần chi phí. Tuy nhiên, công ty đi thuê là công ty trung gian, do đó các công ty outsourcing sẽ rất ít khi gặp trực tiếp Khách hàng/ End User.
  • ***Công ty Product (In-house Production)***: là công ty tự xây dựng, quảng bá và bán sản phẩm của mình hoặc xây dựng khi một tổ chức/ đơn vị nào đó có nhu cầu. Công ty Product được trả tiền khi người dùng muốn mua sản phẩm đó. Đội phát triển sẽ được làm việc trực tiếp với Khách hàng hay chính là End User.

Hiện nay không hề khó để có thể tìm ra thông tin một công ty Outsourcing. Theo quan điểm cá nhân của mình thì dường như công ty outsourcing đang dần chiếm ưu thế hơn các công ty Product truyền thống. Vì mô hình, tính chất công việc và qui trình làm việc khác nhau nên giữa các loại hình công ty này có một số điểm tương đồng và khác nhau.

2. Sự giống nhau

Dù là bất kỳ loại hình công ty nào thì việc Kiểm thử cũng sẽ có yêu cầu giống hệt nhau:

  • Đảm bảo chất lượng của dự án: đây là mục tiêu hàng đầu của QA cũng như toàn bộ đội dự án. Đảm bảo chất lượng không chỉ là việc hạn chế bớt các lỗi mà còn đáp ứng nhu cầu của người sử dụng. Một hệ thống tốt là một hệ thống mà người dùng cuối - end user cảm thấy thỏa mãn và sử dụng nó.
  • Quy trình kiểm thử tuân thủ các bước cơ bản: dù test ở loại hình công ty nào thì chúng ta vẫn phải trải qua các giai đoạn cơ bản của quy trình test như từ việc nghiên cứu requirement của khách hàng, lên kế hoạch thực hiện, viết bộ test case, thực hiện test...
  • Tuân thủ các nguyên tắc, chính sách kiểm thử.

3. Sự khác nhau

Điểm khác Công ty Outsourcing Công ty Product
QA/ Tester tham gia lấy Requirement Không Đa phần các công ty Product, Tester sẽ tham gia vào giai đoạn khảo sát, lấy ý kiến của KH.
Gặp EndUser Rất ít Dễ dàng gặp được Khách hàng để trao đổi tư vấn bằng cách gặp mặt trực tiếp, điện thoại, email..
Cung cấp Requirement Thường nhận yêu cầu từ Công ty trung gian. Do đó có thể sai lệch sau quá trình truyền đạt hoặc khó trong việc xác nhận/ tư vấn/ trao đổi. Các yêu cầu do KH trực tiếp cung cấp hoặc trong bản Yêu cầu kỹ thuật của Hồ sơ mời thầu.
Đưa ý kiến về Requirement QA khi thực hiện test sẽ gần như phải tuân thủ theo đúng design và yêu cầu của Khách hàng. Việc đóng góp ý kiến để thay đổi sản phẩm thường là rất ít. Khác với các công ty Outsourcing, QA/Tester công ty Product thường xuyên được đưa ra các ý kiến, yêu cầu để cải thiện tính năng hay giao diện cho hệ thống.
Môi trường test QA sẽ thực hiện test các chức năng trên môi trường Dev, môi trường Staging Đội Test sẽ được build riêng một môi trường để thực hiện test.
Test Plan Dựa trên quy trình kiểm thử của từng công ty, việc tạo tài liệu Test plan cũng sẽ có chút khác biệt. Một số các công ty ít sử dụng tài liệu này bởi các phase khá ngắn nên QA sẽ estimate nỗ lực theo các task của từng phase, thay vì sẽ lên tài liệu Plan cho cả dự án. Mọi thông tin có thể được quản lý trên tool tracking như Backlog Sau khi có tài liệu Project Plan, Test leader sẽ tạo ra tài liệu Test Plan cho toàn dự án. Tài liệu thường được viết trên file Doc và Project Management của Microsoft Office.
Báo cáo test Tương tự như với tài liệu Test plan, việc xây dựng tài liệu phụ thuộc vào quy trình của công ty đó. Với một số đơn vị outsourcing, QA có thể không tạo tài liệu này Thường xuyên tạo báo cáo theo từng version và báo cáo tổng kết kiểm thử. Mẫu báo cáo có thể theo quy trình của từng công ty hoặc tuân thủ theo CMMIs...
Ngôn ngữ tài liệu Điều này phụ thuộc vào đối tượng Khách hàng và yêu cầu của chính công ty Outsourcing. Thông thường Requirement sẽ được chuyển sang bản tiếng Anh - ngôn ngữ thông dụng - do đó yêu cầu tiếng anh với các QA là khá cần thiết. Các tài liệu Test Product như Test Case cũng đa phần sử dụng tiếng Anh. Đa phần các tài liệu sẽ là Tiếng Việt. Ngoài ra cũng có một số trường hợp khác như các công ty Product nước ngoài đặt tại Việt Nam hoặc Khách hàng có yêu cầu chuyển sang tiếng Anh thì các tài liệu cũng cần được chuyển đổi theo.
Sản phẩm Với công ty Outsourcing các dự án, Khách hàng khá đa đạng. QA sẽ ít khi chỉ tập trung vào 1 sản phẩm nhất định. Thông thường các công ty Product sẽ phát triển một số sản phẩm cốt lõi của riêng họ. Do đó QA/Tester cũng sẽ thường xuyên thực hiện kiểm thử với chính những sản phẩm đó.
Đào tạo chuyển giao Không Đa phần các công ty Product sẽ sử dụng chính nguồn lực Tester làm nguồn lực đào tạo, chuyển giao hệ thống cho người dùng cuối.
Hỗ trợ Người sử dụng Không, do bên trung gian sẽ là người trực tiếp hỗ trợ. Tester sau khi chuyển giao sẽ bước sang giai đoạn hỗ trợ người sử dụng thao tác trên hệ thống. Có thể tới trực tiếp hoặc hướng dẫn qua điện thoại... khi có yêu cầu

4. Cú "shocks" khi kiểm thử.

Trong những năm tháng đi làm, mình vẫn gặp không ít những vấn đề, những điều khiến mình bị shock và cũng thật khó để hiểu nổi.

  • Những yêu cầu "khó đỡ" của Khách hàng: có những lần mình nhận được yêu cầu của khách hàng và thực sự không hiểu nổi ý nghĩa của yêu cầu đó là gì, mục đích như thế nào, có mối liên hệ ra sao. Bởi đây là hệ thống maintain hoặc phát triển thêm 1 phần nhỏ trong hệ thống to đã có sẵn. Ngoài ra khi trao đổi KH không giải thích thêm về những phần liên quan đó. Quả thực rất bối rối.
  • Những yêu cầu thay đổi liên tục: dù là với công ty nào thì đây cũng là một vấn đề rất khó để cải thiện được.
  • Yêu cầu là 1 trang web cũ: Thay vì đưa tài liệu, nội dung yêu cầu cho hệ thống mới thì Khách hàng sẽ đưa bạn trang web cũ của họ và bạn sẽ tự xây dựng spec.
  • Suy nghĩ của bạn khác với suy nghĩ của End User: với các công ty Outsourcing, có thể do khác nhau về văn hóa nên tư duy cũng sẽ có những sự khác biệt. Mình đã từng nghĩ là hướng thay đổi này, cách giải quyết này, UI thế này là tốt hơn nhưng qua từng lần truyền thông tin thì câu trả lời nhận được lại là giữ nguyên theo cách KH mong - chúng ta sẽ phải đồng ý vì họ là End user. ... Dù bạn trở thành Kiểm thử viên ở bất kỳ công ty nào thì cũng đều tuân theo một tiêu chí duy nhất là Đảm bảo chất lượng dự án. Môi trường khác nhau sẽ giúp bạn thích ứng và có nhiều các kỹ năng để làm tốt công việc của mình. Hy vọng các bạn sẽ tìm được một nơi phù hợp.

All Rights Reserved