JavaRush /Blog Java /Random-VI /Cách bắt đầu với thử nghiệm tự động, phần 1

Cách bắt đầu với thử nghiệm tự động, phần 1

Xuất bản trong nhóm
Chúng tôi mời bạn đọc bản chuyển thể tiếng Nga của một bài báo của Tim Ebie, người sáng lập https://testdemy.teachable.com/ , một nền tảng QA để kiểm tra phần mềm trực tuyến, được tạo ra để giúp những người đang bắt đầu hành trình thử nghiệm tự động
Cách bắt đầu với thử nghiệm tự động, phần 1 - 1
Chúng tôi đang chứng kiến ​​sự quan tâm và tăng trưởng đột biến về số lượng ứng dụng web trên thị trường. Cùng với đó là ngày càng có nhiều công việc đòi hỏi kỹ năng lập trình, kỹ thuật và các kỹ năng tự động hóa khác nhau. Do đó, những người kiểm thử thủ công, để duy trì nhu cầu, nhận thấy cần phải chuyển từ kiểm thử thủ công thuần túy sang đảm bảo chất lượng (QA) và đang xem xét kiểm thử tự động. Chuyển từ kiểm tra thủ công sang kiểm tra tự động là một lựa chọn thông minh, vì nhiều vị trí QA yêu cầu một loạt kỹ năng kỹ thuật liên quan đến viết mã. Đối với những người không thích sự thay đổi, sự thay đổi như vậy có thể gây khó chịu. Mặt khác, các nhà phát triển khác coi “thời điểm thay đổi” này là cơ hội để đưa sự nghiệp và kỹ năng của họ lên một tầm cao mới cũng như tăng mức độ phù hợp của họ. Mỗi khi nhu cầu tăng lên, khả năng sẽ mở rộng. Các nhà phát triển có bộ kỹ năng phù hợp có thể bắt tay vào công việc và có được sự nghiệp tốt, được trả lương cao. Nếu bạn đang muốn chuyển từ thử nghiệm thủ công sang tự động hóa hoặc thậm chí đang xem xét chuyển từ lĩnh vực phát triển phần mềm khác, thì việc thực hiện một vài bước sẽ giúp bạn thành công.

Bước 1: Đánh giá thị trường

“Thói quen số hai” trong cuốn sách “7 thói quen của người thành đạt” của Tiến sĩ Stephen A. Covey nói : “Hãy bắt đầu với mục tiêu trong đầu”. Tôi tin rằng nguyên tắc này đúng khi bắt đầu thử nghiệm tự động. Bắt đầu bằng việc đánh giá thị trường về nhu cầu của những kỹ sư tự động hóa đang tuyển dụng. Khi bạn hiểu được nhu cầu kỹ thuật của nhà tuyển dụng, bạn có thể có được những kỹ năng phù hợp. Một nơi tốt để bắt đầu là xem mô tả công việc trên bất kỳ trang web nào (ví dụ: Indeed.com , Dice , Monster , LinkedIn , v.v.).
Cách bắt đầu với thử nghiệm tự động, phần 1 - 2
Dưới đây là ví dụ về các từ tìm kiếm có thể được sử dụng để tạo ra giá trị thị trường:
  • Kỹ sư tự động hóa thử nghiệm;
  • Nhà phát triển tự động hóa;
  • thử nghiệm/thử nghiệm tự động (automated testing) (Automation testing/automation testing);
  • Kỹ sư tự động hóa QA ;
  • Kỹ sư phát triển phần mềm đang thử nghiệm (SDET).
Để hiểu cách nhà tuyển dụng nghĩ và điều họ thực sự mong đợi ở ứng viên, hãy ghi nhớ những câu hỏi sau khi bạn tìm kiếm:
  • Họ đang đề cập đến những kỹ năng và công nghệ cụ thể nào?
  • Bạn có thấy một tập hợp hoặc “khối” kỹ năng hoặc công nghệ riêng biệt cho những kỹ năng này không?
  • Cần bao nhiêu năm kinh nghiệm, nếu có?
  • Có ngành nào có xu hướng thuê nhiều kỹ sư tự động hóa hơn những ngành khác không?
  • Bạn có thể mong đợi mức lương bao nhiêu?
  • Các công cụ hoặc công nghệ mà chúng ta quan tâm chủ yếu là các sản phẩm thương mại hay truy cập mở?
Bây giờ chúng ta hãy xem xét kỹ hơn một số mô tả công việc để biết thị trường đang tìm kiếm điều gì. Xin lưu ý rằng các công việc được đề cập đều được đặt tại Hoa Kỳ. Nếu bạn không sống ở Hoa Kỳ, vui lòng xem lại các công cụ tìm kiếm việc làm ở quốc gia của bạn. Nhà phát triển phần mềm tự động hóa I:
  • có hiểu biết rõ ràng về các ngôn ngữ lập trình hướng đối tượng ;
  • quen thuộc với Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime;
  • Hợp tác chặt chẽ với các nhà phát triển, nhà phân tích kinh doanh và những người thử nghiệm khác để xác định các thành phần tự động hóa thử nghiệm sẽ được sử dụng để xác minh các yêu cầu đối với phần mềm đã phát triển.
Cách bắt đầu với thử nghiệm tự động, phần 1 - 3
Người kiểm tra QA (kiểm tra tự động):
  • lưu các bài kiểm tra tự động trong các hệ thống kiểm soát phiên bản thích hợp - TFS, GitHub , v.v.;
  • tuân theo các tiêu chuẩn tự động hóa được xác định trước và tiêu chuẩn DevOps cho tự động hóa, cũng như các quy trình triển khai và tích hợp liên tục;
  • Có kinh nghiệm với các công cụ ALM (TFS, Jira, HP QC) và các công cụ tự động hóa thử nghiệm (tốt nhất là Selenium WebDriver) .
Kỹ sư tự động hóa đảm bảo chất lượng - QA ( Quality Assurance Automation Engineer ):
  • Có kinh nghiệm với Selenium WebDriver ;
  • kỹ năng lập trình bằng Python, Java hoặc các ngôn ngữ tương tự;
  • kinh nghiệm thử nghiệm di động / Appium .
Kiểm tra nhà phát triển phần mềm:
  • cập nhật, mở rộng môi trường test và các công cụ test trong C#, TypeScript, JavaScript ...;
  • Kỹ năng lập trình vững vàng về C# hoặc Java và/hoặc JavaScript cùng với sự hiểu biết rõ ràng về các khái niệm lập trình hướng đối tượng ;
  • Có kinh nghiệm với Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence.
Cách bắt đầu với thử nghiệm tự động, phần 1 - 4
Dưới đây là một số điểm chính từ các mô tả công việc này. Vai trò kết hợp/hỗn hợp: Hãy chú ý kỹ đến chức danh công việc và cách các công ty này nhìn nhận việc kiểm thử phần mềm tự động. Có thể thấy điều này qua tên của các vai trò mà họ liệt kê (Nhà phát triển tự động hóa phần mềm, Nhà phát triển phần mềm đang thử nghiệm, v.v. Bạn có để ý thấy một điều gì đó không? Các công ty này ít nhiều coi kỹ sư QA là nhà phát triển Phần mềm: Đối với người kiểm tra thủ công, điều này có nghĩa là đã đến lúc phải tìm hiểu cách viết mã để biến các trường hợp kiểm thử thủ công thành tập lệnh kiểm thử tự động. Đối với các nhà phát triển muốn chuyển sang kiểm thử tự động, điều này có nghĩa là bạn nên tìm hiểu thêm về các phương pháp kiểm thử phần mềm, vòng đời kiểm thử phần mềm và tìm hiểu cách xây dựng các trường hợp kiểm thử tự động để hỗ trợ các vòng đời này. Đừng bỏ lỡ sự thay đổi quan trọng này, nếu không bạn sẽ bị tụt lại phía sau. Với sự gia tăng của các phương pháp Agile và các dự án dựa trên Agile, ngày càng có nhiều tổ chức kết hợp QA và nhà phát triển thành một. Vì vậy, đã đến lúc bạn chuẩn bị cho vòng đời của mình trách nhiệm mới. Những cá nhân được đào tạo cơ bản về thế giới kiểm thử phần mềm, đồng thời hiểu rõ về các kỹ năng của một nhà phát triển phần mềm đều có giá trị bằng vàng. Công nghệ nguồn mở/Ngôn ngữ lập trình: Vui lòng lưu ý các công nghệ và ngôn ngữ lập trình được tô đậm trong phần mô tả . Những công nghệ và ngôn ngữ này được nhắm mục tiêu, bạn cần phải học chúng để có nhu cầu trên thị trường. Chọn một công nghệ có nhu cầu cao và bắt đầu xây dựng bộ kỹ năng của bạn bằng cách thực hành chúng và tham gia vào các ứng dụng và dự án thực hành trong thế giới thực. Điều này sẽ tăng tốc độ học tập của bạn. Nếu bạn không chắc chắn nên bắt đầu với ngôn ngữ lập trình nào , hãy thu hẹp phạm vi một chút.

Bước 2: Nắm vững ngôn ngữ lập trình hướng đối tượng (OOP)

Hãy đối mặt với sự thật: hầu hết người kiểm thử thủ công đều sợ lập trình. Chính ý nghĩ về việc tìm hiểu sâu hơn và xem các hệ thống và ứng dụng thực sự hoạt động như thế nào đã khiến nhiều người thử nghiệm thủ công sợ hãi. Nỗi sợ hãi này chủ yếu là lý do tại sao họ trở thành người thử nghiệm thủ công.
Cách bắt đầu với thử nghiệm tự động, phần 1 - 5
Lập trình là cơ sở của thử nghiệm tự động. Nếu bạn muốn tham gia thử nghiệm tự động hóa, bạn cần có khả năng viết mã và bạn càng lập trình giỏi thì bạn càng thành công trong thử nghiệm tự động hóa hoặc phát triển tự động hóa. Do đó, nếu muốn duy trì tính cạnh tranh trong thế giới phát triển và công nghệ luôn thay đổi này, bạn phải quyết tâm chinh phục nỗi sợ hãi này và trở thành nhà phát triển thử nghiệm tự động theo yêu cầu. Điều tốt là với sự hướng dẫn tối thiểu từ một đồng nghiệp giàu kinh nghiệm hơn, áp dụng sự kiên trì và kiên trì, không ngừng luyện tập (như chúng tôi làm tại JavaRush), bạn chắc chắn có thể cải thiện kỹ năng lập trình của mình. Câu hỏi hợp lý tiếp theo là: tôi nên học ngôn ngữ lập trình nào? Dựa trên đánh giá thị trường của chúng tôi, chúng tôi biết rằng các nhà tuyển dụng muốn thuê những người "có hiểu biết sâu sắc về ngôn ngữ lập trình hướng đối tượng". Và theo phân tích của chúng tôi, chúng tôi có thể thấy một số ngôn ngữ lập trình hướng đối tượng mà chúng đề cập đến. Ví dụ: Java, C#, JavaScript và Python. Bạn có thể bắt đầu với bất kỳ trong số họ. Nếu bạn đang bắt đầu học một ngôn ngữ OOP, đây là một số khái niệm cần nắm vững để thành thạo hơn trong thử nghiệm tự động:
  • lập trình hướng đối tượng (lớp, đối tượng, thể hiện, kế thừa, thuộc tính, v.v.);
  • Mô-đun, Thư viện chuẩn (bằng bất kỳ ngôn ngữ nào bạn chọn);
  • cấu trúc dữ liệu (từ điển, danh sách, bộ dữ liệu, v.v.);
  • các kiểu dữ liệu (chuỗi, ký tự, số nguyên, dấu phẩy động, kiểu logic hoặc Boolean, NoneType, v.v.);
  • biến;
  • xử lý lỗi/ngoại lệ;
  • toán tử số học/thứ tự ưu tiên;
  • so sánh, toán tử Boolean logic;
  • thủ tục/chức năng/phương pháp;
  • Luồng điều khiển: Các câu lệnh If, vòng lặp for, vòng lặp while, v.v.
  • đọc/ghi vào tập tin;
Lập trình là cơ sở của thử nghiệm tự động. Học cách lập trình và bạn sẽ học cách tự động hóa.

Bước 3: Làm chủ các công cụ tự động hóa

Tôi vẫn luôn nói điều này: bạn càng lập trình tốt thì bạn càng có thể tự động hóa tốt hơn. Khi bạn đã bắt đầu học ngôn ngữ lập trình, bước tiếp theo là học cách sử dụng các công cụ tự động hóa. Bởi vì hầu hết các công ty đang nghiêng về các công cụ tự động hóa nguồn mở (hoặc phần mềm miễn phí) hơn là các sản phẩm được cấp phép thương mại vì lý do chi phí.
Cách bắt đầu với thử nghiệm tự động, phần 1 - 6
Một công cụ tuyệt vời có thể tìm thấy trong phạm vi công cộng là Selenium WebDriver. Selenium có một số ràng buộc ngôn ngữ (Python, Java, C#, Ruby, PHP, JavaScript, v.v.), vì vậy việc học một trong những ngôn ngữ lập trình này sẽ cung cấp nền tảng tuyệt vời để xây dựng sự nghiệp vững chắc trong lĩnh vực tự động hóa. Một số khái niệm chính bạn cần nắm vững để xây dựng các trường hợp kiểm thử tự động đáng tin cậy, đầy đủ chức năng và hiệu quả:
  • mẫu thiết kế: mô hình đối tượng trang;
  • tìm kiếm các thành phần trang web bằng cách sử dụng các bộ định vị khác nhau (Bộ chọn CSS, XPATH, ID, Tên, v.v.);
  • chuyển đổi Windows/iFrames;
  • tái cấu trúc;
  • kiểm tra đơn vị;
  • thử nghiệm trên đám mây/thử nghiệm song song;
  • kiểm tra dữ liệu;
  • thử nghiệm trên các trình duyệt web khác nhau (Firefox, Internet Explorer, Chrome, Safari, Opera, v.v.);
  • kỳ vọng ngầm và rõ ràng;
  • chuỗi hành động
Nếu bạn đã chọn ngôn ngữ lập trình hướng đối tượng và dựa vào các công cụ tự động hóa để đánh giá thị trường, bước hợp lý tiếp theo là... Bạn nghĩ sao?...

Bước 4: Luyện tập, luyện tập, luyện tập

Dù bạn làm gì, đừng bao giờ bỏ cuộc. Học một điều gì đó mới luôn là một thử thách. Nhưng mọi thử thách đều có thể vượt qua nếu có đủ sự luyện tập và cống hiến. Mất bao lâu để học các kỹ năng và công nghệ mới hoàn toàn phụ thuộc vào bạn cũng như mức độ luyện tập và cống hiến của bạn để thành thạo những kỹ năng đó.
Cách bắt đầu với thử nghiệm tự động, phần 1 - 7
Bất kỳ vận động viên chuyên nghiệp nào cũng sẽ nói rằng họ đã đạt đến đỉnh cao trong hành trình nhờ sự nỗ lực và luyện tập của mình. Người ta nói Michael Jordan đã thi đấu chăm chỉ nhưng tập luyện còn chăm chỉ hơn. Cách tiếp cận này nên được áp dụng bởi bất kỳ ai muốn tự động hóa - thực hành, thực hành, thực hành các kỹ năng mới của bạn cho đến khi chúng trở thành bản chất thứ hai. Đây là cách duy nhất để cải thiện kỹ năng của bạn và trở thành người thử nghiệm được yêu cầu. Một trong những cách tốt để đào tạo là tích cực học ngôn ngữ lập trình và các công cụ tự động hóa cùng lúc, “chơi” với chúng. Nói cách khác, hãy viết các chương trình nhỏ hoặc tập lệnh kiểm tra tự động, phá vỡ chúng, thay đổi chúng và xem nó hoạt động như thế nào. Hãy học hỏi từ những gì bạn đã làm và thử lại. Thực hành bằng cách chơi, làm và học. Hãy làm điều này và đường cong học tập của bạn sẽ tăng lên.

Thời gian để bắt đầu

Điều quan trọng nhất trong một doanh nghiệp mới là sự bắt đầu. Tất cả những lần chúng ta trì hoãn hoặc không bắt đầu, đó là vì chúng ta không có lộ trình hoặc kế hoạch cụ thể để giúp vạch ra lộ trình của mình.
Cách bắt đầu với thử nghiệm tự động, phần 1 - 8
Mặc dù nỗ lực thay đổi hoàn toàn hướng đi sự nghiệp của bạn có vẻ khó khăn nhưng việc được đánh giá cao và có thể tiếp thị được là điều cần thiết. Bạn cần phát triển các kỹ năng mới để luôn dẫn đầu trong thế giới phát triển phần mềm luôn thay đổi và trở thành người mà các nhà tuyển dụng thực sự đang tìm kiếm. Bắt đầu từ việc nhỏ: đánh giá yêu cầu của thị trường, tìm hiểu các công cụ tự động hóa và lập trình hướng đối tượng, đồng thời thực hành liên tục. Và bạn sẽ được chuẩn bị sẵn sàng cho những cơ hội việc làm mới trước khi bạn kịp nhận ra điều đó. Nguồn: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION