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.

khét lẹt
nhìn số lượng TC muốn xỉu ròi kaka
theo tôi thì cứ xài mấy cái opensource thôi
nếu ông nào đủ skill để build thì sau khi xong cũng tốn thêm mớ time training nữa
tôi thấy cứ thông dụng như java mà phang, sereniry bdd chả hạn, ko thì serenity thuần
còn dễ dùng hơn thì có vẻ là robotframework
Java thì có mỗi QC biết một chút. Dev không ai code java cả. Nên source cũng đang viết theo hướng QC ít tốn thời gian nhất để làm quen.
 
Java thì có mỗi QC biết một chút. Dev không ai code java cả. Nên source cũng đang viết theo hướng QC ít tốn thời gian nhất để làm quen.
Nên viết java vì nó có nguyên tắc rõ ràng, cú pháp rõ ràng, code sai cú pháp compile là thấy. Còn viết mấy cái ngôn ngữ dynamic thì mỗi người viết 1 kiểu, manual mà, họ không có nhiều khái niệm về code convention nên rất dễ viết lung tung.
Java đúng dài nhưng nó nghiêm cẩn, không phải viết sao cũng được. Automation khác code phần mềm ở chỗ là 1 đoạn code có thể được sử dụng nhiều lần ở trăm nơi, và có khả năng nhiều người sửa nên code mà dynamic quá thì cần 1 ông lead có đủ skills cứng để review và manage code
 
Nên viết java vì nó có nguyên tắc rõ ràng, cú pháp rõ ràng, code sai cú pháp compile là thấy. Còn viết mấy cái ngôn ngữ dynamic thì mỗi người viết 1 kiểu, manual mà, họ không có nhiều khái niệm về code convention nên rất dễ viết lung tung.
Java đúng dài nhưng nó nghiêm cẩn, không phải viết sao cũng được. Automation khác code phần mềm ở chỗ là 1 đoạn code có thể được sử dụng nhiều lần ở trăm nơi, và có khả năng nhiều người sửa nên code mà dynamic quá thì cần 1 ông lead có đủ skills cứng để review và manage code
Mình mới code khoảng 50 test case thử nghiệm thì có thấy viết cũng không quá khó như lập trình. Vì các framework test gần như đã làm hết những cái chi tiết phức tạp phía dưới.
Chưa kể những phần việc khó và phức tạp thì dev sẽ xử lý, gom lại một nơi.
QC chỉ gọi và sử dụng nó, họ hầu như không dùng tới java để coding. Vì thế việc sử dụng java hay không sử dụng java nó cũng không khác nhau lắm.
 
Mình mới code khoảng 50 test case thử nghiệm thì có thấy viết cũng không quá khó như lập trình. Vì các framework test gần như đã làm hết những cái chi tiết phức tạp phía dưới.
Chưa kể những phần việc khó và phức tạp thì dev sẽ xử lý, gom lại một nơi.
QC chỉ gọi và sử dụng nó, họ hầu như không dùng tới java để coding. Vì thế việc sử dụng java hay không sử dụng java nó cũng không khác nhau lắm.
Thì bây giờ chỉ mới có mình bạn viết và chỉ mới viết được 50 cases, thử nghĩ tới trường hợp 8-10 QCs viết trên 2-3000 test cases bạn sẽ thấy việc sử dụng ngôn ngữ có quy tắc lợi ích chừng nào. Khi số lượng test cases nhiều việc thay đổi 1 chút nhỏ trong phần page object có khi ảnh hưởng tới hàng trăm cases khác, mà người thay đổi lại không đủ skills để hiểu điều đó, nhất là với những bạn trẻ, ít kinh nghiệm thì việc học được tý kiến thức ở trên mạng rồi apply vô thử mà xem nó như là đúng nhất. Mấy bạn trẻ thường thích viết code kiểu ngắn nhất gọn nhất mà không nghĩ tới việc maintain nó về sau.
Nên với các dự án mà số lượng test cases lớn thì nên dùng những ngôn ngữ mà có tính quy tắc mạnh.
 
Thì bây giờ chỉ mới có mình bạn viết và chỉ mới viết được 50 cases, thử nghĩ tới trường hợp 8-10 QCs viết trên 2-3000 test cases bạn sẽ thấy việc sử dụng ngôn ngữ có quy tắc lợi ích chừng nào. Khi số lượng test cases nhiều việc thay đổi 1 chút nhỏ trong phần page object có khi ảnh hưởng tới hàng trăm cases khác, mà người thay đổi lại không đủ skills để hiểu điều đó, nhất là với những bạn trẻ, ít kinh nghiệm thì việc học được tý kiến thức ở trên mạng rồi apply vô thử mà xem nó như là đúng nhất. Mấy bạn trẻ thường thích viết code kiểu ngắn nhất gọn nhất mà không nghĩ tới việc maintain nó về sau.
Nên với các dự án mà số lượng test cases lớn thì nên dùng những ngôn ngữ mà có tính quy tắc mạnh.
Ưu điểm của ngôn ngữ có tính quy tắc mạnh thì mình cũng hiểu á. Nhưng hiện tại dự án dev không ai code java nên phải code bằng javascript thôi á.
 
bộ tcs này đã nhặt ra những case chính chưa, theo mình thì số lượng case chính không nhiều đến vậy đâu, test hồi quy với số lượng tc manual lớn vậy thì chỉ nên nhặt ra những case có priority cao nhất chứ để automated hết đống tc bên manual quăng sang vậy nó không khả thi và rất tốn nguồn lực nữa, đội manual thuần nhiều khi cố đẻ ra case chứ họ cũng không biết là automated một phần được thôi chứ không phải thay hoàn toàn :confused: mà team QC không ai biết code thì sao handle được :eek:
 
bộ tcs này đã nhặt ra những case chính chưa, theo mình thì số lượng case chính không nhiều đến vậy đâu, test hồi quy với số lượng tc manual lớn vậy thì chỉ nên nhặt ra những case có priority cao nhất chứ để automated hết đống tc bên manual quăng sang vậy nó không khả thi và rất tốn nguồn lực nữa, đội manual thuần nhiều khi cố đẻ ra case chứ họ cũng không biết là automated một phần được thôi chứ không phải thay hoàn toàn :confused: mà team QC không ai biết code thì sao handle được :eek:
Hiện tại cũng đang ưu tiên implement những test case có độ ưu tiên cao. Những case mà viết auto test mất nhiều thời gian với không ổn định thì đẩy về manual test rồi.
Hiện tại vẫn đang vừa code vừa train á.
 
Hehe, chỗ mình thì engineer code xong viết integration+unit thôi, còn QC viết cái E2E vs UI Testing
Nhưng mà cũng sắp phải kiêm thêm viết E2E rồi
 
Các bác cho e hỏi , có nguồn nào hay có chỗ nào có ví dụ về Unit Test , Automation Test như trong dự án không ạ . Hiện tại em đang tự học cách viết Unit Test với Mockito với Selenium mà thấy mình viết nó cứ cùi cùi sao ấy ạ :(((
 
Các bác cho e hỏi , có nguồn nào hay có chỗ nào có ví dụ về Unit Test , Automation Test như trong dự án không ạ . Hiện tại em đang tự học cách viết Unit Test với Mockito với Selenium mà thấy mình viết nó cứ cùi cùi sao ấy ạ :(((
Selenium thì tài liệu đúng cùi á bác, bị issue đi gg tung đít. Ngoài ra các thư viện khác thì mình cũng toàn đọc docs của nó là chính thôi á.
 

Attachments

  • 1701222181590.png
    1701222181590.png
    56.2 KB · Views: 18
Convert hết 10k tc gần như không thể, nếu bạn làm lead thì phải nắm rõ được nhu cầu thực tế và nguônd lực. Mình làm auto test cũng lâu rồi mà chưa thấy scope nào lớn vậy :))
 
Quan trọng là strategy để chạy cái bộ 10k test cases đó. Tuỳ theo business của project mà có strategy phù hợp.
Ví dụ cần release theo từng sprint, thì cho chạy bộ smoke test hàng ngày, rồi tới regression test. Hoặc là 1 tuần chạy full e2e tests để đảm bảo hệ thống ko bị bug gì nghiêm trọng.
Thêm nữa là trong bộ 10k test cases đó, cần review lại để xem cái nào có thể chạy unit test, api test, e2e test. Làm theo được như mô hình pyramic thì sẽ giảm tải được rất nhiều.
Và cái cuối là dùng Selenium Grid để phân phối chạy tests trên nhiều máy khác nhau cùng lúc để giảm tải time, cũng như performance.
 
Convert hết 10k tc gần như không thể, nếu bạn làm lead thì phải nắm rõ được nhu cầu thực tế và nguônd lực. Mình làm auto test cũng lâu rồi mà chưa thấy scope nào lớn vậy :))
Con số 10k là mình ước lượng cho tương lai á. Hiện tại test case manual đang là 6k6 case.
Quan trọng là strategy để chạy cái bộ 10k test cases đó. Tuỳ theo business của project mà có strategy phù hợp.
Ví dụ cần release theo từng sprint, thì cho chạy bộ smoke test hàng ngày, rồi tới regression test. Hoặc là 1 tuần chạy full e2e tests để đảm bảo hệ thống ko bị bug gì nghiêm trọng.
Thêm nữa là trong bộ 10k test cases đó, cần review lại để xem cái nào có thể chạy unit test, api test, e2e test. Làm theo được như mô hình pyramic thì sẽ giảm tải được rất nhiều.
Và cái cuối là dùng Selenium Grid để phân phối chạy tests trên nhiều máy khác nhau cùng lúc để giảm tải time, cũng như performance.
Plan hiện tại đang viết 2e2 cho những phần chính, ổn định, regression mất thời gian á. Chỉ mới vậy. Chưa nghe có plan xa hơn từ sếp. :beat_plaster:
 
Mọi người cho em hỏi , hiện tại trên cty em đang có task verify mail mà cần phải đăng nhập mail từ đầu . Em sử dụng Selenium + Java để viết nhưng có vẻ thằng Chrome không cho phần mềm automation điều khiển . Có cách nào không ạ
1702688846613.png
 
Mọi người cho em hỏi , hiện tại trên cty em đang có task verify mail mà cần phải đăng nhập mail từ đầu . Em sử dụng Selenium + Java để viết nhưng có vẻ thằng Chrome không cho phần mềm automation điều khiển . Có cách nào không ạ View attachment 2238139
Dùng profile chrome bật sẵn email mà verify. Chứ pass qua 2FA của gmail hơi khó. Hoặc cho test với những domain email free như yopmail trước
 
Back
Top