thảo luận [automation test] Xin góp ý về thiết kế hệ thống với số lượng test case trên 10.000.

AccDuyNhat

Senior Member
Chào các bác!

Mình có nhận một yêu cầu thiết kế hệ thống automation test với selenium + mocha. Số lượng test case cỡ trên 10 ngàn test.
Do trước giờ mình cũng không có kinh nghiệm nhiều về thiết kế hệ thống và trình mình cũng không giỏi nên mang lên đây xin ý kiến của các bác để hoàn thiện hơn.

Code mình có đẩy lên repo: GitHub - M1nhNV/selenium (https://github.com/M1nhNV/selenium) và cũng đã viết ý tưởng và cấu trúc source vào README mời các bác xem qua.

Cảm ơn các bác!
 
Mình từng làm với project có cũng khá nhiều test case nhưng chưa đến 10k test case như vậy. Test case bác nhắc đến là manual test case hay auto test case vậy. Mình cũng già rùi hay sao mà chưa nghe mocha bjo ak🤣
 
Vãi 10k case :)) các case có tương tự nhau ko hay luồng khác nhau hết? Resource bao nhiêu người làm?
 
Không rõ bác đã thảo luận với bên yêu cầu chưa? Nếu chưa thì mình nghĩa bác nên thảo luận để deal thời gian review lại TCs một lần, kinh nghiệm làm việc của mình thì chưa thấy auto mà tới 10k cases cả. Có khi bộ đó nhét cả manual (component, system) , rồi UAT testcases vô luôn ấy chứ.
 
Mình từng làm với project có cũng khá nhiều test case nhưng chưa đến 10k test case như vậy. Test case bác nhắc đến là manual test case hay auto test case vậy. Mình cũng già rùi hay sao mà chưa nghe mocha bjo ak🤣
Project chạy nhiều năm rồi á bác. Có kế hoạch chuyển sang single page, Bộ test case hiện tại vẫn đang là manual. Đang cover dần qua automation.
Vãi 10k case :)) các case có tương tự nhau ko hay luồng khác nhau hết? Resource bao nhiêu người làm?
Dự án mình mới join. Cũng chưa nắm hết được :v Hiện đang build dựa trên bộ test case manual. Và đang nhờ QC chuyển dần sang automation. Team QC hiện có 9 người :LOL:
Hôm qua có est time gởi lên sếp đây :v
 

Attachments

  • Screenshot 2023-11-16 at 08.38.07.png
    Screenshot 2023-11-16 at 08.38.07.png
    61.2 KB · Views: 30
Còn về auto system với selenium thì base cứ POM thôi, các hoạt động cải thiện khác sẽ làm dần dần để match với biz/req của công ty bác, đừng đặt nặng quá ngay từ đầu. Nhưng nhắc lại bác nên cân nhắc về auto 10k cases như ETA về execute time, duplicate scenarios, auto maintaince cost so với manual ...
 
Không rõ bác đã thảo luận với bên yêu cầu chưa? Nếu chưa thì mình nghĩa bác nên thảo luận để deal thời gian review lại TCs một lần, kinh nghiệm làm việc của mình thì chưa thấy auto mà tới 10k cases cả. Có khi bộ đó nhét cả manual (component, system) , rồi UAT testcases vô luôn ấy chứ.
Bộ test case hiện tại là của manual test. Bên PO thấy thời gian để regression test tốn thời gian quá. Nên muốn làm automation cho bớt việc của QC. 10k test case là mình dự tính. Vì số lượng test case đang update hiện tại cũng chưa là đầy đủ á.
 
Vậy bác nhóm lại theo domains hay features, đánh priority -> review với team -> rồi auto cuốn chiếu từng phần mình nghĩ chắc ổn. Nói chung qa process thì manual hay automation chỉ là testing types thôi.
 
Còn về auto system với selenium thì base cứ POM thôi, các hoạt động cải thiện khác sẽ làm dần dần để match với biz/req của công ty bác, đừng đặt nặng quá ngay từ đầu. Nhưng nhắc lại bác nên cân nhắc về auto 10k cases như ETA về execute time, duplicate scenarios, auto maintaince cost so với manual ...
Mình cũng đang thử áp dụng POM vào project đây bác. Do số lượng test case lớn nên mình cũng băn khoăn nhất về các vấn đề mà bác nói. QC hiện tại không có kinh nghiệm automation mà mình build source xong thì phải train. Nên để đảm bảo
execute time, duplicate scenarios, auto maintaince cost
thì mình thấy cũng khó.

Ngoài ra đợt trước dự án có viết bằng Katalon. Chạy lên cỡ 6k case là nó lăn ra chết. Nên lão PO hơi lo.
 
Mình cũng đang thử áp dụng POM vào project đây bác. Do số lượng test case lớn nên mình cũng băn khoăn nhất về các vấn đề mà bác nói. QC hiện tại không có kinh nghiệm automation mà mình build source xong thì phải train. Nên để đảm bảo

thì mình thấy cũng khó.

Ngoài ra đợt trước dự án có viết bằng Katalon. Chạy lên cỡ 6k case là nó lăn ra chết. Nên lão PO hơi lo.
1. POM thì trươc hết bác nhờ manual hay QA SME/lead list vài page/main screen để handle trước. QC manual không có exp thì ngoài bác xin tuyển thêm 1 hay 2 bạn chuyên auto hay SDET -> build core rồi để các bạn manual QC viét layer ngoài cùng. Bước đầu chỉ cần theo đúng code convention là ổn rồi. Sau đó train từ từ advanced.
2. Bộ test quá lớn thì đúng là nên tự build để match với nhu cầu công ty, có khi tự viết mấy library sp luôn. Chứ dùng 3rd hơi đuối, rồi bị depend và còn tốn tiền license nữa.
 
1. POM thì trươc hết bác nhờ manual hay QA SME/lead list vài page/main screen để handle trước. QC manual không có exp thì ngoài bác xin tuyển thêm 1 hay 2 bạn chuyên auto hay SDET -> build core rồi để các bạn manual QC viét layer ngoài cùng. Bước đầu chỉ cần theo đúng code convention là ổn rồi. Sau đó train từ từ advanced.
2. Bộ test quá lớn thì đúng là nên tự build để match với nhu cầu công ty, có khi tự viết mấy library sp luôn. Chứ dùng 3rd hơi đuối, rồi bị depend và còn tốn tiền license nữa.
1. Cũng có một lão chuyên viết automation team khác được gởi qua support. Dự án lão dùng selenium cũng chạy tầm tới chừng đó test case rồi. Vẫn chạy ok nên được gởi qua sp. Nhưng mà lão code bằng java. Mà team hiện tại không ai code java cả. Nên cũng không bê nguyên struct của lão qua được mà chỉ là lấy lại ý tưởng và nghiên cứu các issue lão gặp để tự build thôi.

Mình cũng đang làm theo hướng là gói gọn hết trong /core. QC chỉ việc gọi các hàm đã được viết sẵn từ /factories ra để chạy thôi.

Team cũng đã viết chạy với test case login, hoàn thành cỡ 95%. Thì mình nhận thấy 1 điều là QC viết theo hướng copy/past nhiều. Không có viết gọn thành các hàm, biến để đỡ duplicate. ;(
 
del mẹ, cái này mang lên voz hỏi, voz toàn lũ tay mơ, sinh viên lập trình, biết gì về thực tế đâu mà hỏi, mang lên stackoverflow, reddit hỏi may ra có người đưa ra phương pháp đc, thậm chí hỏi chatgpt còn đỡ tốn thời gian lên voz hỏi:D
Này tôi nói thật lòng
haha, voz ngọa hổ tàng long. Mấy bác cao nhân ẩn dật nhiều lắm. Nhưng chắc chê thớt em nên k thèm vào cmt thôi. Còn source em cũng bắt tay làm rồi, mang lên thảo luận mong các bác khác góp ý thêm, chỉ ra lỗi sai á.
 
1. Cũng có một lão chuyên viết automation team khác được gởi qua support. Dự án lão dùng selenium cũng chạy tầm tới chừng đó test case rồi. Vẫn chạy ok nên được gởi qua sp. Nhưng mà lão code bằng java. Mà team hiện tại không ai code java cả. Nên cũng không bê nguyên struct của lão qua được mà chỉ là lấy lại ý tưởng và nghiên cứu các issue lão gặp để tự build thôi.

Mình cũng đang làm theo hướng là gói gọn hết trong /core. QC chỉ việc gọi các hàm đã được viết sẵn từ /factories ra để chạy thôi.

Team cũng đã viết chạy với test case login, hoàn thành cỡ 95%. Thì mình nhận thấy 1 điều là QC viết theo hướng copy/past nhiều. Không có viết gọn thành các hàm, biến để đỡ duplicate. ;(
vậy là ok rồi đó, giờ nếu không bị áp lực push từ trên thì cứ cuốn chiếu từ từ. Theo mình, thì auto mà không bị dí kiểu bắt trend hay show up thì ngôn ngữ nào cũng ok cả, vì chỉ cần 1 2 core sdet hay nhờ bên dev team sp 1 phần là được. Quan trọng là phải giữ được tinh thần của QA -> hướng tới quality -> nên việc review, thậm chí phải revamp bộ testcases cho auto nếu cần thiết là quan trọng hơn hết.

Đi làm gặp nhiều proj làm auto để show up programming skills, rồi latest trend chứ không hề quan tâm tính hiệu quả, team ở dưới thì maintaince bục mặt, output thì nhiều mà outcome gần như = 0.
 
haha, voz ngọa hổ tàng long. Mấy bác cao nhân ẩn dật nhiều lắm. Nhưng chắc chê thớt em nên k thèm vào cmt thôi. Còn source em cũng bắt tay làm rồi, mang lên thảo luận mong các bác khác góp ý thêm, chỉ ra lỗi sai á.
thật ra cũng không chê đâu bác, đi làm nhiều hoặc lâu, đa số tech stack hay skills nó sẽ match với của công ty. HIểu điều đó nên nhiều ông cũng lười góp ý (cũng có thể do đang focus làm sml). Còn dạng popular/hot stack thì mình thấy hầu như là start up ( show up để gọi vốn/pr), mà dạng này thì độ lớn của product mà lên tới 10k cases như bác thì chắc hỏi bị hiếm : ))
 
vậy là ok rồi đó, giờ nếu không bị áp lực push từ trên thì cứ cuốn chiếu từ từ. Theo mình, thì auto mà không bị dí kiểu bắt trend hay show up thì ngôn ngữ nào cũng ok cả, vì chỉ cần 1 2 core sdet hay nhờ bên dev team sp 1 phần là được. Quan trọng là phải giữ được tinh thần của QA -> hướng tới quality -> nên việc review, thậm chí phải revamp bộ testcases cho auto nếu cần thiết là quan trọng hơn hết.

Đi làm gặp nhiều proj làm auto để show up programming skills, rồi latest trend chứ không hề quan tâm tính hiệu quả, team ở dưới thì maintaince bục mặt, output thì nhiều mà outcome gần như = 0.
  • Vẫn có est để convert lại test case từ manual sang auto á bác.
  • Dev team thì có mình và 1 bé nữa. Chứ tester không phải main role của mình :v. Vì dự tính xa hơn là các QC sẽ viết chính test case. Nên hướng build chính của mình là QC càng ít can thiệp vào phần core. Viết ở các layer trên như bác nói. Sau này pro rồi thì có thể thêm thắt gì tùy ý dựa trên flow đã định sẵn từ trước.
 
mình ko hiểu với 10k test cases thì sẽ là như nào. quản lý env, config cho từng test case cũng thấy quá phức tạp.
cộng vói việc b muốn chạy hết 10k test cases trong 1 lần releases?
 
mình ko hiểu với 10k test cases thì sẽ là như nào. quản lý env, config cho từng test case cũng thấy quá phức tạp.
cộng vói việc b muốn chạy hết 10k test cases trong 1 lần releases?
  • Config thì mình đang chia nhỏ theo "màn hình". Cái nào chung chung thì để vào commons.
  • Trước release thì sẽ có giai đoạn regression test, lúc này sẽ chạy lại toàn bộ test case á.
 
Back
Top