“Mục đích của người kiểm tra là tìm ra lỗi nhưng vẫn ủng hộ mục tiêu cuối cùng là làm cho sản phẩm tốt hơn, chứ không phải để chỉ trích và đánh giá nhà phát triển.”
Hãy đọc cuộc phỏng vấn của itviec với ông Trương Minh Sử, chuyên gia kiểm tra tự động hóa cao cấp cho công nghệ km, để tìm hiểu:
- kiểm tra tự động là gì? Khi nào sử dụng kiểm thử tự động?
- Những sai lầm trong sự nghiệp người kiểm tra tự động hóa của bạn và cách khắc phục chúng
- 6 Kỹ năng Cần thiết + Phương pháp Đào tạo cho Mọi Người kiểm tra
- 3 mẹo thực tế dành cho những người thử nghiệm trẻ tuổi để giúp họ tiến bộ ngay hôm nay
Xem công việc của người kiểm tra tự động hóa tại itviec
Sự khác biệt giữa thử nghiệm thủ công và thử nghiệm tự động là gì?
Trước đây, một hình thức kiểm thử phần mềm phổ biến là kiểm thử thủ công. Ví dụ: để kiểm tra hình thức đăng nhập, người kiểm tra thủ công sẽ nhập tên người dùng và mật khẩu theo cách thủ công, nhấp vào “Đăng nhập” và xem đăng nhập có thành công hay không.
Khi giao diện hoặc chức năng thay đổi, người kiểm tra phải kiểm tra lại các trường hợp trước đó để đảm bảo không có lỗi mới. Quá trình này đòi hỏi nhiều thời gian và công sức.
Khi khái niệm kiểm tra tự động ra đời, người kiểm tra có thể tự động chạy tất cả các bước bao gồm nhập thông tin, nhấp chuột, xem kết quả, so sánh kết quả thực tế và kết quả giả định chỉ bằng cách viết một đoạn mã hoặc sử dụng các công cụ như selen, kiểm tra hoàn chỉnh, jmetter, v.v.
Nhiều loại thử nghiệm có thể được tự động hóa, chẳng hạn như thử nghiệm chức năng, thử nghiệm hiệu suất / tải, thử nghiệm đơn vị.
Xem thêm Trình thử nghiệm là gì? Bạn cần phải có những kỹ năng gì để trở thành một tester giỏi?
Ưu điểm và nhược điểm của kiểm thử tự động so với kiểm tra thủ công là gì?
Những lợi thế của kiểm tra tự động là:
1) Đáng tin cậy. Thử nghiệm chạy chính xác như đã định. Điều này tránh được nhiều lỗi do con người gây ra, chẳng hạn như lỗi nhập dữ liệu.
2) Khi tôi chạy lặp lại nhiều lần (đồng thời) trên cùng một tập lệnh thử nghiệm, tôi có thể kiểm tra khả năng xử lý của phần mềm (chức năng / hiệu suất). Đây còn được gọi là kiểm tra hiệu suất / tải.
3) Tôi có thể viết các bài kiểm tra phức tạp hơn để lấy thông tin ẩn khỏi ứng dụng. Không thể kiểm tra thủ công tại thời điểm này.
4) Bài kiểm tra rất toàn diện . Tôi có thể tạo một bộ thử nghiệm để bao gồm tất cả các chức năng trong ứng dụng.
5) Tôi có thể sử dụng lại thử nghiệm trên nhiều phiên bản khác nhau của ứng dụng, ngay cả khi giao diện thay đổi.
Ví dụ: khi tạo phần mềm, chúng tôi cần thử nghiệm từng sản phẩm một trong nhiều môi trường: 1) môi trường thử nghiệm, 2) môi trường thử nghiệm và 3) môi trường sản xuất.
Nếu chạy thử nghiệm thủ công, mất một giờ cho một trường hợp thử nghiệm và ba giờ cho ba môi trường. Trong quá trình phát triển sản phẩm, chúng tôi phải lặp lại quá trình thử nghiệm vô số lần, điều này dẫn đến việc mất thời gian nếu chúng tôi thực hiện thử nghiệm thủ công. Thay vào đó, hãy viết một tập lệnh kiểm tra. Mỗi khi bạn triển khai sang một môi trường mới, bạn chỉ cần thay đổi url và quá trình kiểm tra sẽ tự động chạy.
6) Chất lượng và hiệu suất phần mềm tốt hơn vì tôi có thể chạy nhiều thử nghiệm hơn trong thời gian ngắn hơn với tài nguyên tối thiểu.
7) Các công cụ kiểm tra tự động giúp chạy kiểm tra nhanh hơn kiểm tra thủ công.
8) Rất tiết kiệm vì nó giảm bớt nguồn nhân lực cho việc kiểm tra hồi quy.
Những nhược điểm của kiểm tra tự động là:
1) Nhiều công cụ rất đắt tiền , chẳng hạn như các công cụ thương mại: hp quick test pro.
2) Thông thường người kiểm tra tự động được trả nhiều hơn người kiểm tra thủ công vì công việc đòi hỏi họ phải có kỹ năng cao hơn, ví dụ: phải hiểu code, phải viết được script. >
3) Việc phát triển và duy trì tập lệnh thử nghiệm rất tốn kém . Ví dụ, nếu thử nghiệm thủ công mất 1 giờ, đó là một trường hợp thử nghiệm. Nhưng nếu bạn chạy các bài kiểm tra tự động thay vào đó, bạn cần chuẩn bị các đoạn mã kiểm thử (trong trường hợp khó) sẽ mất 6-7 giờ để viết các đoạn mã kiểm thử. Người viết kịch bản thử nghiệm cần có kỹ năng lập trình và công cụ để chạy thử nghiệm. Vì vậy chi phí của kiểm thử tự động cao hơn kiểm thử thủ công.
4) Người kiểm tra bắt buộc phải có kinh nghiệm kỹ thuật và kỹ năng lập trình .
5) Yêu cầu thời gian chuẩn bị lâu hơn để thiết kế và cài đặt cẩn thận trước khi thử nghiệm dự án.
6) Một số dự án không nên chạy thử nghiệm tự động , nhưng nhiều người thử nghiệm vẫn hiểu sai và chạy thử nghiệm tự động, dẫn đến mất thời gian, tài nguyên và công sức. Ví dụ: khi thử nghiệm chức năng quá phức tạp của một ứng dụng hoặc đối tượng gui, các thử nghiệm thủ công phải được chạy.
Việc làm qa-qc-tester tại thành phố hcm
việc làm qa-qc-tester tại Hà Nội
Trách nhiệm hàng ngày của bạn là gì?
Với tư cách là kiến trúc sư kiểm thử tự động, hãy xác định các đặc điểm của khung kiểm thử tự động và hỗ trợ phát triển khung để kiểm tra tự động.
Ưu và nhược điểm của công việc người kiểm tra tự động là gì?
Ưu điểm của chuyên ngành này là nó giúp tôi cải thiện kỹ năng phân tích vấn đề và kỹ năng quản lý sự cố. Nhược điểm là trong thời gian đầu, anh ấy thường tranh cãi với nhóm phát triển về những lỗi mà anh ấy tìm thấy.
Kỹ năng phân tích vấn đề và kỹ năng quản lý vấn đề được nâng cao vì khi phát triển kế hoạch kiểm tra để kiểm tra biểu mẫu đăng nhập, bạn phải xác định tất cả các tình huống có thể xảy ra, chẳng hạn như:
1) Phải làm gì nếu bạn nhập sai tên người dùng hoặc mật khẩu
2) Điều gì xảy ra nếu một trong các trường sai
3) Điều gì xảy ra nếu bạn nhập các ký tự đặc biệt …
Tại sao bạn chọn trở thành người kiểm tra tự động hóa thay vì người kiểm tra thủ công hoặc nhà phát triển?
Kể từ năm 2004, anh ấy đã sử dụng công cụ robot hợp lý ibm để kiểm tra tự động. Tôi yêu thích nó và tôi nghĩ kiểm thử tự động là một hướng đi tốt có tiềm năng cho sự phát triển của ngành kiểm thử.
Vì vậy, anh ấy đã nghiên cứu và xây dựng nhiều khuôn khổ kiểm tra tự động dựa trên rô bốt hợp lý, hp qtp / uft, selenium webdriver và kiểm tra hoàn chỉnh, đồng thời bắt đầu sự nghiệp kiểm tra tự động của mình.
Công việc Người kiểm tra tự động hóa cấp cao
Bạn thấy xu hướng thử nghiệm trong tương lai như thế nào?
Trong vài năm qua, vị trí người kiểm tra tự động hóa là một công việc hấp dẫn để tuyển dụng, từ các vị trí chuyên nghiệp trong phát triển công cụ / khuôn khổ / thư viện cho đến những người có thể viết kịch bản dựa trên các công cụ tự động hóa. một số bài kiểm tra.
Vì vậy, tôi nghĩ thử nghiệm tự động đang và sẽ là một xu hướng lớn trong ngành thử nghiệm.
Sai lầm lớn nhất mà bạn từng mắc phải là gì? Bạn đã vượt qua nó như thế nào và bạn học được gì từ nó?
Hai năm trước, trong khi đàm phán về việc xây dựng khung thử nghiệm tự động cho khách hàng, anh ấy đã cố gắng đưa ra ước tính rất thấp cho công ty và sau đó tự mình hoàn thành dự án vì anh ấy nghĩ rằng những người còn lại trong nhóm không phải là chuyên gia mã hóa, vì vậy nếu họ tham gia, sẽ làm chậm tiến độ công việc. Anh thường xuyên ngủ lại công ty, cố gắng hoàn thành lịch trình đã thỏa thuận.
Dự án cuối cùng đã hoàn thành và được khách hàng và công ty đánh giá cao. Tuy nhiên, kể từ đó, anh ấy đã bị căng thẳng đến mức gần như muốn bỏ nghề. Anh ấy đã tìm đến người quản lý của mình để chia sẻ và nhận được lời khuyên:
Bạn nên chia sẻ công việc của mình với những người khác. Dù chỉ phải làm việc trong 1 giờ nhưng tôi vẫn phải giao hàng so với có thể là 5 – 6 giờ cho các thành viên khác vì nhóm phát triển đồng đều thì mới bền vững được.
Kể từ đó, mỗi khi thương lượng với khách hàng, anh ấy đều dựa vào năng lực chung của đội mình.
Ngoài ra, anh ấy còn tổ chức các buổi chia sẻ kinh nghiệm để khuyến khích bạn tìm hiểu thêm về các kỹ thuật và kỹ năng cần thiết của người kiểm thử tự động hóa.
Điều này giúp bạn cảm thấy được tin tưởng tại nơi làm việc và được khuyến khích cùng nhau phát triển. Tôi không cảm thấy áp lực nặng nề nữa.
Những thách thức nào mà mọi người kiểm tra tự động hóa phải đối mặt khi gia nhập ngành?
Thách thức chính là giao tiếp với các nhà phát triển. Khi anh ấy mới bắt đầu sự nghiệp của mình, anh ấy đã tìm thấy một lỗi và anh ấy chỉ nói với các nhà phát triển rằng “Tôi đã tìm thấy một lỗi ở đây, ở đó, ở đó, bạn sửa nó”.
Vào thời điểm đó, anh ấy thường xuyên mâu thuẫn với các nhà phát triển vì
1) Bạn không nói rõ lỗi là gì và sai ở bước nào
2) Thái độ của anh ấy khi làm việc với các nhà phát triển không phải là tích cực về việc xây dựng sản phẩm mà là sự kén chọn và chỉ trích các nhà phát triển
Sau đó, theo chỉ thị của cấp trên, bất cứ khi nào phát hiện ra lỗi, anh ấy sẽ trao đổi với nhà phát triển theo trình tự sau:
1) Tóm tắt vấn đề
2) Hiển thị các bước cụ thể trong quy trình kiểm tra
3) nêu chi tiết những gì đã xảy ra
4) Nêu kết quả mong đợi
5) Cho các nhà phát triển xem ảnh chụp màn hình của lỗi mà tôi đã tìm thấy
Anh ấy nhận ra rằng mối quan hệ giữa người thử nghiệm và nhà phát triển là mối quan hệ hỗ trợ lẫn nhau. Mục đích của người kiểm tra là tìm ra lỗi, nhưng vẫn hỗ trợ mục tiêu cuối cùng là làm cho sản phẩm tốt hơn. Các nhà phát triển không nên bị chỉ trích hoặc đánh giá.
Xem thêm: Ngành xét nghiệm của Việt Nam đang bị thiên vị
Người kiểm thử tự động hóa cần những kỹ năng gì?
1) Hiểu cách các đối tượng kiểm tra hoạt động . Nếu bạn làm thử nghiệm tự động hóa web, bạn cần biết html và xpath. Bạn có thể học cả hai môn tại w3school.
2) Hiểu các nguyên tắc lập trình và thông thạo ít nhất một ngôn ngữ lập trình . Công cụ tự động hóa web được sử dụng phổ biến nhất trên thị trường hiện nay là selen webdriver, kết hợp java, c #, ruby, python …
Ngoài ra, nếu cần, bạn có thể tham khảo các ngôn ngữ kịch bản phổ biến khác như vbscript, javascript hoặc groovy.
3) sql và xml không bị bỏ qua. Bạn có thể học cả hai lĩnh vực này tại tutorialspoint và w3school.
Hầu hết các dự án lập trình đều yêu cầu cơ sở dữ liệu. XML được hiểu là một phần của cơ sở dữ liệu cổng thông tin và bây giờ SML cũng được sử dụng nhiều.
4) Những người muốn đi sâu vào khung thiết kế tốt / thư viện chung nên phát triển hiểu biết sâu sắc về các mẫu thiết kế phần mềm .
<3 Cái này xem ngay tài liệu trên google.
6) Vì vậy, hãy mong muốn tìm hiểu những điều mới trong ngành này .
Ví dụ: xu hướng hiện tại trong kiểm thử tự động và phát triển phần mềm là tích hợp. Nó là một chuỗi khép kín tương tác giữa phát triển, triển khai và thử nghiệm. Tôi đang nghiên cứu công nghệ này vì nó là một xu hướng lớn và nếu bạn không học hỏi, bạn sẽ bị tụt lại phía sau.
3 mẹo dành cho những người kiểm tra tự động hóa trẻ tuổi để bạn có thể thực hành và cải thiện ngay lập tức?
1) Thông tin phải được xác nhận cẩn thận với khách hàng .
Một lần, khi khách hàng đưa ra yêu cầu mới đối với khuôn khổ tự động hóa mà anh ta chịu trách nhiệm. Mọi thứ đều được thảo luận qua skype, mặc dù hàng tuần, anh ấy đều có báo cáo đầy đủ về những việc đã làm – đang làm – sẽ làm gì và nếu có vấn đề gì xảy ra, nhưng khi giao sản phẩm thì họ nói “không phải thế này. chúng tôi muốn “.
Từ đó, anh ấy học được rằng mỗi khi nói chuyện với khách hàng, anh ấy phải viết biên bản cuộc họp. Sau đó, gửi cho khách hàng và yêu cầu họ trả lời bằng email xác nhận. Điều này giúp tránh hiểu lầm hoặc khách hàng từ chối các yêu cầu trước đó của họ.
2) Không thận trọng .
Do có nhiều kinh nghiệm trong việc tạo các khuôn khổ thử nghiệm tự động, anh ấy đã được một khách hàng đưa ra lời đề nghị trong một thời gian.
Để có trải nghiệm người dùng tốt hơn, khung công tác phải hỗ trợ thu thập các đối tượng thử nghiệm bằng thẻ. Văn bản hiển thị trên các trang web, thay vì buộc người dùng phải tra cứu thông tin kỹ thuật như xpath.
Nghĩ rằng mình có nhiều kinh nghiệm trong việc nắm bắt xpath, anh ấy cố gắng bảo vệ quan điểm của mình và thuyết phục khách hàng rằng điều này là không chính xác + mất nhiều thời gian để xử lý.
Nhưng sau một thời gian thảo luận + suy nghĩ, anh nhận thấy cách tiếp cận khách hàng là một hướng đi mới và cũng rất tích cực.
Dù có nhiều khó khăn nhưng chúng ta nên tìm cách giải quyết thay vì từ chối ngay từ đầu.
Cuối cùng, anh ấy đã quyết định làm theo yêu cầu của khách hàng và dự án đã thành công.
3) Thương lượng không phải là một quyết định .
Một lần anh ấy đang làm việc với một khách hàng Hoa Kỳ và có một cuộc tranh cãi. Họ muốn anh ta làm a, nhưng từ kinh nghiệm của mình, anh ta biết đó không phải là một lựa chọn tốt, và anh ta thuyết phục họ làm theo cách của mình.
Cuộc cãi vã ngày càng gay gắt, và sếp của anh ấy ngay lập tức can thiệp. Ông chủ chỉ nói với anh ta rằng: Là một nhà tư vấn, bạn nên cho khách hàng thấy họ có những lựa chọn nào, ưu nhược điểm của từng loại.
Sau đó, khách hàng sẽ quyết định chọn cái nào và chịu trách nhiệm cho việc lựa chọn đó.
Cuối cùng, anh ấy đã làm theo cách tiếp cận của khách hàng. Nhưng sau khi chạy được một thời gian, họ nhận thấy phương pháp của mình không phù hợp nên xin chuyển sang phương pháp của anh b.
Cuối cùng, mặt hàng này sẽ phải chịu thêm một số chi phí. Nhưng khách hàng hiểu rằng vấn đề là do họ chọn sai cách nên sẵn sàng trả thêm tiền. Dự án vẫn thành công.
Trong sự nghiệp của mình, bạn có thường xuyên tham khảo bất kỳ sách / tài nguyên nào không?
Bạn tham khảo hai cuốn sách.
1) Hướng dẫn Kiểm tra Tự động. Cuốn sách này mô tả rõ ràng và đầy đủ các đặc điểm và tính năng chính cần tìm trong một bộ thử nghiệm tự động.
2) Có kinh nghiệm với tự động hóa thử nghiệm. Cách tiếp cận đúng để giải quyết vấn đề là gì, ứng dụng nào có thể áp dụng kiểm thử tự động và kiểm thử tự động đã thay đổi như thế nào. Đây là ba câu hỏi chính được đề cập trong cuốn sách này.
Nếu một người bạn chọn phát triển sự nghiệp của mình với tư cách là người thử nghiệm, anh ta sẽ đi đâu?
Các trường đại học hiếm khi dạy kỹ năng kiểm tra để trở thành người kiểm tra. Thông thường bạn phải tham gia một chương trình đào tạo ngắn hạn. Ví dụ: khởi chạy một dự án ở công nghệ km để chuẩn bị trở thành người thử nghiệm.
Từ người kiểm tra sơ cấp, bạn có thể tiến bộ lên người kiểm tra cấp cao. Khi đó bạn có hai hướng phát triển chính.
1) Di chuyển theo hướng quản lý, tức là thăng chức lên Người giám sát kiểm tra và sau đó là Người quản lý kiểm tra.
2) Làm việc với tư cách là một kỹ thuật viên, bây giờ bạn là một kiến trúc sư thử nghiệm.
Tiểu sử:
Sau khi tốt nghiệp chuyên ngành CNTT tại Đại học Cần Thơ năm 2003, anh bất ngờ chuyển đến thành phố. hcm đã làm việc tại trường đại học bách khoa khoảng 1 năm với vai trò phát triển phần mềm.
Trong 2 năm tiếp theo, anh ấy làm trưởng nhóm kiểm thử phần mềm tại một công ty phần mềm mạng toàn cầu.
Sau 5 năm, anh ấy làm việc tại ndex Technology với tư cách là trưởng nhóm QC và quản lý QC.
Trong 1 năm tiếp theo, anh ấy làm quản lý bộ phận phần mềm. 1 năm sau, anh là trưởng bộ phận kiểm thử tự động của tập đoàn giải pháp phần mềm mặt trời mọc.
Trong 1 năm tiếp theo, anh tiếp tục đảm nhiệm vai trò trưởng bộ phận kiểm tra tự động tại cosatech.
Kể từ tháng 5 năm 2015, anh ấy bắt đầu làm việc tại công ty công nghệ km với tư cách là người kiểm tra tự động hóa cấp cao.
Xem thêm các công việc của người kiểm tra tự động hóa tại itviec
Nếu bạn nghĩ rằng chia sẻ này sẽ giúp ích cho bạn bè hoặc đồng nghiệp, đừng ngần ngại nhấp vào nút chia sẻ bên dưới!
Tái bút: Thỉnh thoảng, anh ấy tổ chức nhiều khóa học thử nghiệm tự động hóa hơn cho những người thử nghiệm thủ công muốn chuyển đổi nghề nghiệp thành người thử nghiệm tự động hóa, vì chưa có trường học chính thức nào dạy môn học này. Đến nay, anh đã dạy được 4-5 lớp. Bạn nào có hứng thú tìm hiểu có thể liên hệ với thầy qua email [email protected].