Tin tức chung

39 câu hỏi phỏng vấn automation test – kiểm thử tự động (phần 2)

30 May 2020

Bộ các câu hỏi phỏng vấn tham khảo khi ứng tuyển automation test – kiểm thử tự động (liên tục được cập nhật)

Tiếp tục những câu hỏi các tester khi phỏng vấn ứng tuyển có thể sẽ gặp phải khi xin việc automation test

câu hỏi phỏng vấn Automation test kiểm thử tự động

Q.16 Bạn sẽ duy trì thông tin như URL, đăng nhập, mật khẩu ở đâu?


Trả lời: Thông tin này phải luôn được duy trì trong một tệp riêng biệt.

Q.17 Tại sao bạn muốn giữ loại thông tin này trong một tệp riêng biệt và không trực tiếp trong mã?


Trả lời: URL, Đăng nhập và mật khẩu là loại trường được sử dụng rất thường xuyên và chúng thay đổi theo môi trường và ủy quyền. Trong trường hợp tester mã hóa nó thành mã của mình, tester phải thay đổi nó trong mỗi tệp có tham chiếu của nó.

Trong trường hợp nếu có hơn 100 tệp, thì việc thay đổi tất cả 100 tệp trở nên rất khó khăn và điều này có thể dẫn đến lỗi. Vì vậy, loại thông tin này được duy trì trong một tệp riêng biệt để việc cập nhật trở nên dễ dàng.

Q18. Các loại framework khác nhau là gì?


Trả lời: Các loại framework khác nhau bao gồm:

  • Framework kiểm thử dựa trên từ khóa (Keyword-driven framework)
  • Framework hướng dữ liệu (Data-Driven framework)
  • Framework lai (Hybrid Framework)
  • Kịch bản tuyến tính (Linear Scripting)

Q19. Bạn có thể cho biết một số thực hành mã hóa tốt trong khi tự động hóa không?


Trả lời: Một số thực hành mã hóa tốt bao gồm:

  • Thêm ý kiến ​​thích hợp.
  • Xác định các phương pháp có thể sử dụng lại và viết nó trong một tệp riêng biệt.
  • Thực hiện theo các quy ước mã hóa ngôn ngữ cụ thể.
  • Duy trì dữ liệu kiểm thử trong một tệp riêng biệt.
  • Chạy các kịch bản của bạn thường xuyên.

Q20. Bất kỳ loại kiểm thử nào bạn nghĩ không nên tự động?


Trả lời:

  • Các kiểm thử hiếm khi được thực hiện.
  • Kiểm thử thăm dò (Exploratory testing)
  • Kiểm thử khả năng sử dụng (Usability testing)
  • Kiểm thử được thực hiện nhanh chóng khi thực hiện thủ công.

Q21. Bạn có nghĩ rằng kiểm thử chỉ có thể được thực hiện ở cấp độ UI?


Trả lời: Ngày nay khi chúng ta chuyển sang chế độ Agile, việc kiểm thử không bị giới hạn chỉ ở lớp UI. Phản hồi sớm là không cần thiết cho một dự án Agile. Nếu chúng ta chỉ tập trung vào lớp UI, chúng ta thực sự đang đợi cho đến khi UI được phát triển và có sẵn để kiểm thử.

Thay vào đó chúng ta có thể kiểm thử ngay cả trước khi UI thực sự được phát triển. Tester có thể trực tiếp kiểm thử API hoặc các phương pháp bằng các công cụ như Cucumber và FitNesse.

Theo cách này, tester sẽ sớm đưa ra phản hồi và đang kiểm thử ngay cả trước khi UI được phát triển. Thực hiện theo phương pháp này sẽ giúp chúng tôi chỉ kiểm thử khía cạnh GUI của các thay đổi mỹ phẩm nhỏ hoặc một số xác nhận trên UI và sẽ giúp các nhà phát triển bằng cách dành nhiều thời gian hơn để sửa lỗi.

Q22. Làm thế nào để bạn chọn công cụ automation test nào phù hợp nhất với bạn?


Trả lời: Việc chọn công cụ tự động hóa phụ thuộc vào nhiều yếu tố khác nhau như:

  • Phạm vi của ứng dụng mà dự án muốn sử dụng automation test.
  • Chi phí quản lý như chi phí và ngân sách.
  • Thời gian để tìm hiểu và thực hiện các công cụ.
  • Loại hỗ trợ có sẵn cho công cụ.
  • Giới hạn của công cụ

Q23. Bạn nghĩ gì về việc kiểm thử lại để sử dụng automation test? Có cách nào để vượt qua nó?


Trả lời: Rào cản lớn đối với tester là học lập trình (học code) khi họ muốn kiểm thử tự động. Vì tester không viết mã, nên việc thích nghi với mã hóa là một chút thách thức đối với tester.

Chúng ta có thể khắc phục nó bằng cách:

  • Phối hợp với các nhà phát triển khi tự động hóa.
  • Xem xét rằng tự động hóa là trách nhiệm của toàn đội và không chỉ của những tester.
  • Dành thời gian dành riêng và tập trung vào tự động hóa.
  • Nhận hỗ trợ quản lý thích hợp.

=> Hoặc tester có thể tham gia vào khóa học auto test – kiểm thử tự động để học luôn ngôn ngữ lập tình Java khi làm công việc automation test.

Q24. Framework automation test là gì?


Trả lời: Một framework, nói chung, là một bộ hướng dẫn. Một tập hợp các hướng dẫn, giả định, khái niệm và thực hành code để tạo môi trường thực thi trong đó các kiểm thử sẽ được tự động hóa, được gọi là framework automation test.

Framework automation test chịu trách nhiệm tạo khai thác kiểm thử với cơ chế kết nối với ứng dụng đang được kiểm thử, lấy đầu vào từ tệp, thực hiện các test case và tạo báo cáo để thực hiện kiểm thử. Một framework automation test phải độc lập với ứng dụng và nó phải dễ sử dụng, sửa đổi hoặc mở rộng.

Q25. Các module quan trọng của framework automation test là gì?


Trả lời: Các module quan trọng của framework automation test là:

  • Công cụ xác nhận kiểm thử: Công cụ này sẽ cung cấp các câu lệnh khẳng định để kiểm thử các giá trị dự kiến ​​trong ứng dụng được kiểm thử. Ví dụ. TestNG, Junit, v.v.
  • Thiết lập dữ liệu: Mỗi test case cần lấy dữ liệu người dùng từ cơ sở dữ liệu hoặc từ tệp hoặc được nhúng trong tập lệnh kiểm thử. Module dữ liệu framework nên đảm nhiệm việc nhập dữ liệu cho các tập lệnh kiểm thử và các biến toàn cục.
  • Build Management Tool: Framework cần được xây dựng và triển khai để sử dụng tạo các kịch bản kiểm thử.
  • Công cụ tích hợp liên tục: Với CICD (Continuous Integration and Continuous Development - Tích hợp liên tục và Phát triển liên tục), công cụ tích hợp liên tục cần thiết để tích hợp và triển khai các thay đổi được thực hiện trong framework ở mỗi lần lặp.
  • Công cụ báo cáo: Cần có một công cụ báo cáo để tạo báo cáo có thể đọc được sau khi các test case được thực thi để có cái nhìn rõ hơn về các bước, kết quả và thất bại.
  • Công cụ ghi nhật ký: Công cụ ghi nhật ký trong framework giúp gỡ lỗi tốt hơn.

Q26. Giải thích một số công cụ automation test.


Trả lời: Một số công cụ automation test nổi tiếng được giải thích bên dưới:

a, Selenium: Selenium là một framework kiểm thử tự động ứng dụng web. Nó hỗ trợ nhiều trình duyệt và độc lập với hệ điều hành. Selenium cũng hỗ trợ các ngôn ngữ lập trình khác nhau như Java, C #, PHP, Ruby và Perl, v.v.

Selenium là một bộ thư viện mã nguồn mở có thể được sử dụng để phát triển các framework kiểm thử bổ sung hoặc các kịch bản kiểm thử để kiểm thử các ứng dụng dựa trên web.

Xem thêm: Selenium là gì? Các loại Selenium nào hay được dùng trong automation test

b, UFT: Unified Functional Testing (Kiểm thử chức năng hợp nhất) là một công cụ được cấp phép để kiểm thử chức năng. Nó cung cấp một loạt các tính năng như API, dịch vụ web, v.v. và cũng hỗ trợ nhiều nền tảng như máy tính để bàn, web và di động. Các kịch bản UFT được viết bằng ngôn ngữ kịch bản cơ bản trực quan.

c, Appium: Appium là một công cụ kiểm thử ứng dụng di động nguồn mở. Nó được sử dụng để kiểm thử tự động trên các ứng dụng di động đa nền tảng, bản địa, lai và dựa trên web. Appium tự động hóa mọi ứng dụng di động từ bất kỳ ngôn ngữ nào có quyền truy cập đầy đủ vào API và DB từ mã kiểm thử.

Appium dựa trên kiến ​​trúc server side – client side và đã phát triển từ Selenium.

d, Cucumber: Cucumber là một công cụ phát triển dựa trên hành vi nguồn mở. Nó được sử dụng để kiểm thử tự động ứng dụng dựa trên web và hỗ trợ các ngôn ngữ như Ruby, Java, Scala, Groovy, v.v. Cucumber đọc đặc tả thực thi được viết bằng văn bản thuần túy và kiểm thử ứng dụng đang kiểm thử các thông số kỹ thuật đó.

Để Cucumber hiểu được các kịch bản trong văn bản thuần túy, chúng ta phải tuân theo một số quy tắc cú pháp cơ bản được gọi là Gherkin.

e, TestComplete: TestComplete là một công cụ kiểm thử giao diện người dùng (UI testing) tự động được cấp phép để kiểm thử ứng dụng trên các nền tảng khác nhau như PC, web, thiết bị di động, v.v. Nó cung cấp tính linh hoạt để ghi lại test case trên một trình duyệt và chạy trên nhiều trình duyệt và do đó hỗ trợ chéo kiểm thử trình duyệt.

TestComplete có thuật toán nhận dạng đối tượng sẵn có để xác định duy nhất một đối tượng và lưu trữ nó trong kho lưu trữ.

Q27. Các loại kỹ thuật framework kiểm thử khác nhau là gì?


Trả lời: Có bốn loại kỹ thuật framework automation test.

Đó là

a, Framework kiểm thử module (module testing):

Framework này được xây dựng trên khái niệm trừu tượng. Trong framework này, tester tạo các tập lệnh cho từng module của ứng dụng được kiểm thử riêng lẻ và sau đó các tập lệnh này được kết hợp theo thứ tự phân cấp để tạo các test case lớn.

Nó tạo ra một lớp trừu tượng giữa các module, do đó mọi sửa đổi trong các kịch bản kiểm thử cho một module không ảnh hưởng đến bất kỳ module nào khác.

Ưu điểm

  • Bảo trì dễ dàng hơn và khả năng mở rộng của các test case.
  • Tạo các test case bằng cách sử dụng các module đã có kịch bản dễ dàng hơn và nhanh hơn.

Nhược điểm

  • Các test case có dữ liệu nhúng trong chúng. Do đó, việc thực thi cùng một tập lệnh kiểm thử với dữ liệu khác nhau là một thay đổi lớn ở cấp tập lệnh.

b, Framework kiểm thử dựa trên dữ liệu (Data-Driven Testing):

Trong framework kiểm thử dựa trên dữ liệu, dữ liệu đầu vào và dữ liệu đầu ra dự kiến ​​tương ứng với dữ liệu đầu vào được lưu trữ trong file hoặc cơ sở dữ liệu và tập lệnh tự động chạy cùng một bộ các bước kiểm thử cho nhiều bộ dữ liệu. Với framework này, chúng ta có thể chạy nhiều test case trong đó chỉ có dữ liệu đầu vào khác nhau và các bước thực hiện là như nhau.

Ưu điểm

  • Giảm số lượng các test script được yêu cầu phải được thực hiện. Chúng tôi thực hiện cùng một kịch bản nhiều lần với dữ liệu khác nhau.
  • Ít mã hóa để automation test.
  • Linh hoạt hơn để duy trì và sửa lỗi hoặc tăng cường chức năng.
  • Dữ liệu kiểm thử có thể được tạo ngay cả trước khi hệ thống tự động để kiểm thử sẵn sàng.

Nhược điểm

  • Chỉ các test case tương tự có cùng một bộ các bước thực hiện mới có thể được kết hợp cho nhiều bộ dữ liệu. Tập hợp các bước thực hiện khác nhau đòi hỏi một test case khác nhau.

c, Framework kiểm thử dựa trên từ khóa (Keyword-Driven Testing)

Đây là một framework kiểm thử độc lập với ứng dụng, sử dụng các bảng dữ liệu và các từ khóa tự giải thích. Từ khóa giải thích các hành động sẽ được thực hiện trên ứng dụng được kiểm thử và bảng dữ liệu cung cấp dữ liệu đầu vào và đầu ra dự kiến.

Kiểm thử dựa trên từ khóa là một sự gia tăng đối với kiểm thử dựa trên dữ liệu.

Ưu điểm

  • Ít mã hóa hơn và cùng một tập lệnh có thể được sử dụng cho nhiều bộ dữ liệu.
  • Chuyên môn về automation test có thể không để tạo một test case bằng cách sử dụng các từ khóa đã có sẵn cho các hành động.
  • Cùng một từ khóa có thể được sử dụng trên nhiều test case.

Nhược điểm

  • Framework này phức tạp hơn vì nó cần phải quan tâm đến các hành động từ khóa và cả dữ liệu đầu vào.
  • Các test case trở nên dài hơn và phức tạp do đó ảnh hưởng đến khả năng duy trì như nhau.

d, Framework kiểm thử lai (Hybrid Testing)

Framework này là sự kết hợp của tất cả các framework kiểm thử được đề cập ở trên (module, hướng dữ liệu và hướng từ khóa).

Trong framework này, các test case được phát triển từ các tập lệnh module bằng cách kết hợp chúng trong framework kiểm thử module. Mỗi test case sử dụng tập lệnh trình điều khiển sử dụng tệp dữ liệu như trong framework điều khiển dữ liệu và tệp hành động dựa trên từ khóa.

Ưu điểm

  • Có tình module và dễ bảo trì.
  • Ít mã hóa có thể chăm sóc nhiều test case hơn.
  • Một test case có thể được thực thi với nhiều bộ dữ liệu.

Nhược điểm

  • Phức tạp để đọc, duy trì và nâng cao.

Trên đây là những câu hỏi có thể được dùng trong phỏng vấn vị trí automation test kiểm thử tự động, danh sách câu hỏi vẫn đang được cấp nhật từng ngày.

Xem thêm:

Công ty Cổ phần DevPro Việt Nam
Địa chỉ: Tầng 6, số 147 Mai Dịch, Cầu Giấy, Hà Nội
Điện thoại: 0985.95.08.95
Facebook: https://www.fb.com/devprojscgroup
Tìm hiểu các khóa học tại: https://www.devpro.edu.vn/khoa-hoc

Đánh giá của học viên đã tốt nghiệp

  • Các anh chị nhiệt tình, thân thiện. Em được mở mang nhiều kiến thức

    Nguyễn Hằng ly
  • Các chị dạy rất dễ hiểu và nhiệt tình. Các kiến thức như trong thực tế khi em đi thực tập tại RikkeiSoft. Cám ơn các anh chị nhiều ạ. Chúc Dev có nhiều học viên hơn nữa.

    Vũ Thị Hà Phương
  • Học ở DevPro đã giúp mình có nhiều kinh nghiệm lập trình android thực tế. Tại đây mình được các thầy dạy rất chi tiết theo một lộ trình rõ ràng của dự án cụ thể nên sau này đi làm mình rất dễ bắt nhịp với công việc.

    Nguyễn Trọng Duy
  • Qua khoá học ở DevPro thì em đã có một “ít” vốn trong tay để có thể "bò" trong lĩnh vực vạn người mê này Trong qúa trình học thì em cảm thấy trung tâm suppost rất nhiệt tình từ đồ ăn tối, event và đầu ra :p. Có chị Quyên "sinh gái" siêu nhây và siêu lầy dụ dỗ bán rẻ học viên cho các nhà tuyển dụng :3 **** Đặc biệt các thầy có rất nhiều kinh nghiệm chỉ dạy và giúp đỡ rất nhiệt tính < mấy tháng liền bám càng đi nhờ thấy :p>

    PhạmTiến Đạt
  • Tôi sẽ không khuyên các bạn phải đến DevPro để học tập thay vì những chỗ khác nhưng tôi đã từng là một người giống các bạn. Tôi băn khoăn không biết chọn nơi đâu làm ngọn đèn chỉ lối và tôi đến với Devpro . Mọi người khá hoà đồng , các thầy cũng cực nhiệt tình nhưng cũng có vốn kiến thức rất rộng còn lại là phụ thuộc vào sự nỗ lực của các bạn nữa thôi. Cố lên nhé. #ATran

    Trần Xuân Ái
  • em thấy mọi thứ đều ổn, thầy giáo nhiệt tình trong cách giảng dậy, dev cũng rất quan tâm học viên . Nhưng theo quan điểm của em và nhìn từ sự phát triển của các trung tâm khác , em nghĩ mỗi khóa học ở dev nên có bài tập cũng như dự án giao cho học sinh làm để tạo áp lực cho học viên code, giữa học viên và công ty cần có những buổi giao lưu nhiều hơn, và cũng nên có 1 số bạn trợ giảng giúp thầy đi fix những lỗi cơ bản cho những bạn hay sai , chứ nhiều khi 1 mình thầy mà phải chạy đến từng bàn fix lỗi cũng k xuể , Xin chúc devpro ngày càng phát triển hơn

    Nguyễn Đình Thành
  • Thầy giáo dạy rất nhiệt tình rất dễ hiểu, các chị quản lý vui vẻ, tạo động lực học viên. Bài giảng phong phú bao gồm nhiều kiến thức nền tảng. .., giúp học viên nắm chắc kiến thức. Có điều lớp toàn nam, ko có nữ ạ

    Vũ Văn Thủy
  • -Thầy giáo rất nhiệt tình trong công tác giảng dạy , cũng như vui tính , thầy luôn giúp đỡ bọn e rất nhiệt tình ! Tuy chỉ học với lớp 1 thời gian không quá dài nhưng e cũng cảm thấy tuyệt vời vì đã từng là học trò của thầy ! - Chị Hằng và Chị Quyên rất vui tính và nhiệt tình giúp đỡ bọn e nữa ạ - e chúc trung tâm ngày càng đông học viên hơn nữa

    Phan Trung Phú
  • DevPro là một môi trường tốt để cho những ai chưa biết gì về lập trình theo học. Bên cạnh đó, đội ngũ giảng viên rất chất lượng, nhiệt tình chỉ bảo cả trên lớp lẫn ở nhà. Ngoài ra tôi rất thích chính sách giới thiệu việc làm cho học viên sau khi tốt nghiệp để có thể tiếp với các doanh nghiệp uy tín. Sau hơn 4 tháng học tập tại công ty, tôi đã hoàn toàn tự tin rằng mình có thể tự học hỏi và bắt đầu làm việc ở một công ty mới với vai trò Web Developer. Cảm ơn DevPro vì tất cả!!

    Nguyễn Đức Huy
  • Học một lúc 2 trường, nhưng mình vấn chưa biết tìm đam mê từ đâu. Từ lúc gặp chị Hằng mình đã quyết chọn theo android, và bây giờ mình chưa bao giờ thấy hạnh phúc đến thế. Mình có công việc ổn định, chuẩn bị onsite ở nhật 1 năm hi hi.

    Trần An Hưng
  • 1.Thầy đẹp trai thì không phải bàn rồi!! Lại được cái nhiệt tình!! ok. 2. Công ty có nhiệt tình hỗ trợ không? Công ty có nhiệt tình hỗ trợ sinh viên, vd:tiền học phí được chia làm 3 đợt giúp đỡ những sv khó khăn,.....

    Trương Quang Trường
  • Em thấy trung tâm dạy tốt và chất lượng ạ. Thầy và các chị đều tận tâm, nhiệt tình và hòa đồng. Đặc biệt là giải lao giữa giờ chúng em còn được ăn nhẹ, e rất thích khoản này.

    Trần Thị Hồng Nhung
  • Tại DevPro mình còn được học code trên tool mới nhất của Android, điều đó càng khiến mình thích thú hơn và trở nên say mê từ lúc nào không biết nữa. Không khí học ở đây rất vui vẻ, ngoài giờ học mình cùng các bạn còn được giải lao ăn nhẹ và trò chuyện cùng nhau nên rất thoải mãi.

    Trương Ngọc Đức
  • Dev chính là nơi giúp mình tìm thấy niềm yêu thích code, cũng chính là nơi đã cho mình những bước đi đầu tiên, cho mình những kiến thức nền tảng tốt nhất trên con đường theo đuổi nghề Dev.

    Nguyễn Thanh Hằng
  • Thầy giáo vui tính, nhiệt tình trả lời và giúp đỡ các bạn khi các bạn có thắc mắc hay khi gặp khó khăn. Các anh chị vui tính, thân thiện tạo cảm giác thoải mái và vui vẻ cho các bạn khi học ở đây.

    Cao Minh Lâm
  • Nghĩ lại hồi đấy, không có Devpro thì chắc giờ em phát rồ mất thôi! Em vốn nghĩ mình có thể tự học được, nhưng kiến thức vốn là vô tận, không có người hướng dẫn thì mình sẽ chẳng biết bắt đầu dư lào, bước tiếp là gì? Nhờ DevPro, sự tận tâm của các thầy mà em mới biết à hóa ra mọi thứ thật đơn giản.

    Kim Erico
  • Hồi học ở DevPro, mình rất quý thầy Việt và những người bạn. Từ kiến thức học được từ trung tâm mình đã mạnh dạn đi thực tập ở một công ty lớn của Nhật Bản và đến giờ đã là nhân viên chính thức ở đây rồi. Vui hơn nữa là có bạn học cùng lớp đó giờ đang là đồng nghiệp cùng mình luôn rồi. Hihi

    Nguyễn Thanh Việt
Nguyễn Hằng ly Vũ  Thị Hà Phương Nguyễn Trọng Duy PhạmTiến Đạt Trần Xuân Ái Nguyễn Đình Thành Vũ Văn Thủy Phan Trung Phú Nguyễn Đức Huy Trần An Hưng Trương Quang Trường Trần Thị Hồng Nhung Trương Ngọc Đức Nguyễn Thanh Hằng Cao Minh Lâm Kim Erico Nguyễn Thanh Việt