29 คำถามและคำตอบในการสัมภาษณ์ที่พบบ่อยเกี่ยวกับซีลีเนียม

เผยแพร่แล้ว: 2022-12-09

แอปพลิเคชันซอฟต์แวร์ต้องผ่านขั้นตอนต่าง ๆ ก่อนที่จะปล่อยให้ผู้บริโภคขั้นสุดท้ายใช้

การทดสอบเป็นหนึ่งในบิตที่สำคัญที่สุดใน SDLC (Software Development Life Cycle) เนื่องจากเป็นการระบุจุดบกพร่องและตรวจสอบว่าแอปพลิเคชันทำงานตามที่คาดไว้หรือไม่

ในอดีต ผู้ทดสอบซอฟต์แวร์ใช้เทคนิคการทดสอบด้วยตนเอง อย่างไรก็ตาม การทดสอบด้วยตนเองนั้นใช้เวลานานและยังมาพร้อมกับความท้าทายอื่นๆ อีกด้วย ซีลีเนียมถูกสร้างขึ้นเพื่อทำการทดสอบซอฟต์แวร์โดยอัตโนมัติ

ปัจจุบันซีลีเนียมเป็นผู้นำตลาดและผู้ทดสอบซอฟต์แวร์ส่วนใหญ่ใช้ซีลีเนียมอยู่แล้ว หากคุณต้องการได้งานเป็นผู้ทดสอบซอฟต์แวร์ การเตรียมตัวให้พร้อมด้วยคำถามสัมภาษณ์ซีลีเนียมทั่วไปจะทำให้คุณได้เปรียบในการแข่งขันเหนือผู้หางานรายอื่น

ต่อไปนี้เป็น คำถามและคำตอบในการสัมภาษณ์ซีลีเนียม ที่คุณน่าจะเจอ:

การทดสอบอัตโนมัติคืออะไร?

กล่าวง่ายๆ การทดสอบระบบอัตโนมัติคือกระบวนการที่ทำให้กระบวนการเขียนและดำเนินการทดสอบซอฟต์แวร์เป็นไปโดยอัตโนมัติโดยใช้ชุดทดสอบอัตโนมัติหรือโดยไม่ต้องใช้แรงงานคนเข้าไปเกี่ยวข้อง การทดสอบการทำงานอัตโนมัติช่วยให้ผู้ทดสอบใช้เครื่องมือแยกต่างหากเพื่อดำเนินการทดสอบซ้ำๆ

ประโยชน์ของการทดสอบระบบอัตโนมัติคืออะไร?

  • ประหยัดเวลาและเงิน การทดสอบซอฟต์แวร์อาจมีราคาแพงหากคุณต้องจ่ายค่าทดสอบด้วยตนเอง การทดสอบอัตโนมัติอาจมีราคาถูกลงในระยะยาว
  • ส่งเสริมการใช้รหัสซ้ำ คุณสามารถตั้งค่าการทดสอบเพียงครั้งเดียว และดำเนินการซ้ำๆ
  • ลดข้อผิดพลาดที่มนุษย์สร้างขึ้น ปรับปรุงความแม่นยำ
  • เหมาะสำหรับการใช้งานขนาดใหญ่ การทดสอบแอปขนาดเล็กสามารถทำได้ง่ายๆ ด้วยการทดสอบด้วยตนเอง อย่างไรก็ตาม เมื่อแอปปรับขนาด ชุดทดสอบอัตโนมัติจะมีประโยชน์เมื่อแอปปรับขนาด

ซีลีเนียมคืออะไร?

Selenium เป็นชุดการทดสอบอัตโนมัติบนเว็บแบบโอเพ่นซอร์สและฟรีบน UI ที่ Jason Huggins พัฒนาขึ้นในปี 2547 การมีชุมชนที่แข็งแกร่งทำให้ Selenium เป็นหนึ่งในชุดทดสอบซอฟต์แวร์อัตโนมัติที่ได้รับความนิยมมากที่สุด Selenium Suite ได้รับการสนับสนุนบนเบราว์เซอร์และแพลตฟอร์มต่างๆ

ซีลีเนียมในรูปแบบต่าง ๆ มีอะไรบ้าง?

ซีลีเนียมไม่ได้เป็นเพียงเครื่องมือทดสอบ แต่เป็นชุดเครื่องมือหลายอย่าง ต่อไปนี้เป็นรูปแบบต่างๆ ของซีลีเนียม

  • สภาพแวดล้อมการพัฒนาแบบรวมซีลีเนียม (IDE)
  • ซีลีเนียม WebDriver
  • ซีลีเนียมรีโมทคอนโทรล (RC)
  • ซีลีเนียมกริด

Selenium รองรับภาษาโปรแกรมใดบ้าง

  • หลาม
  • ชวา
  • ซี-ชาร์ป
  • จาวาสคริปต์
  • ทับทิม
  • พี.เอช.พี
  • เพิร์ล

ซีลีเนียมรองรับการทดสอบประเภทใดบ้าง

  • การทดสอบการถดถอย
  • การทดสอบการทำงาน

Selenium WebDriver คืออะไร?

Selenium WebDriver มีหน้าที่ในการสื่อสารกับเว็บเบราว์เซอร์ เครื่องมือนี้ยังอาศัยความเข้ากันได้แบบเนทีฟเพื่อทำงานต่างๆ โดยอัตโนมัติ

ซีลีเนียม IDE คืออะไร?

Selenium IDE เป็นปลั๊กอิน Firefox ที่ทำหน้าที่เป็นเครื่องมือบันทึกและเล่น ปลั๊กอินนี้สร้างขึ้นเพื่อเป็นโซลูชันสำหรับเร่งการสร้างสคริปต์การทำงานอัตโนมัติ

ซีลีเนียมกริดคืออะไร?

เครื่องมือนี้ช่วยให้ผู้ใช้สามารถแจกจ่ายการดำเนินการทดสอบไปยังสภาพแวดล้อมและแพลตฟอร์มต่างๆ ได้พร้อมกัน

ซีลีเนียม RC (รีโมทคอนโทรล) คืออะไร?

RC เป็นเครื่องมือที่ช่วยให้ใครบางคนสร้างสคริปต์ทดสอบในภาษาการเขียนโปรแกรมที่พวกเขาต้องการ เครื่องมือนี้ยังช่วยให้ผู้ใช้สามารถเรียกใช้สคริปต์ทดสอบภายในเบราว์เซอร์ที่หลากหลาย

เซเลเนสหมายความว่าอย่างไร

Selenium IDE มีภาษาที่เรียกว่า Selenese ซึ่งใช้ในการเขียนคำสั่ง Selenium คำสั่งเหล่านี้ช่วยให้ Selenium เข้าใจการดำเนินการหรือการดำเนินการที่ต้องดำเนินการ

เซเลเนสมีกี่ประเภท?

  • การกระทำ นี่คือคำสั่งที่จัดการสถานะของแอปพลิเคชัน 'พิมพ์ช่องนี้' และ 'คลิกลิงก์นี้' คือตัวอย่างการดำเนินการ
  • อุปกรณ์เสริม คำสั่งเหล่านี้กำหนดสถานะของแอปพลิเคชันและเก็บผลลัพธ์ไว้ในตัวแปร
  • การยืนยัน นี่คือคำสั่งที่ช่วยให้ผู้ทดสอบสามารถตรวจสอบสถานะของแอปพลิเคชันได้

วิธีการค้นหาองค์ประกอบในซีลีเนียมคืออะไร?

  • รหัส
  • ชื่อคลาส
  • ชื่อ
  • ชื่อแท็ก
  • ข้อความลิงค์
  • ข้อความลิงก์บางส่วน
  • Xpath
  • ตัวเลือก CSS
  • ทบ

XPath คืออะไร?

XPath ค้นหาองค์ประกอบเว็บตามเส้นทาง Extensible Markup Language XML จัดเก็บและจัดระเบียบและขนส่งข้อมูลตามอำเภอใจ

“/” และ “//” ใน XPath อะไรคือความแตกต่าง?

“/” หรือสแลสเดียว h สร้าง XPath ที่มีพาธสัมบูรณ์ ดังนั้น XPath จึงถูกสร้างขึ้นเพื่อเริ่มการเลือกจากโหนดเริ่มต้น/โหนดเอกสาร

“//” หรือเครื่องหมายทับคู่ ใช้เพื่อสร้าง XPath ที่มีเส้นทางสัมพัทธ์ ดังนั้น XPath ที่สร้างขึ้นจะเริ่มการเลือกจากที่ใดก็ได้ภายในเอกสาร

Absolute XPath คืออะไร?

Absolute XPath เริ่มต้นด้วยเครื่องหมายทับ “/” เพียงครั้งเดียว เส้นทางดังกล่าวมีเส้นทางที่สมบูรณ์จากรากไปยังองค์ประกอบที่เราต้องการระบุ

แยกความแตกต่างระหว่าง findElement() และ findElements()

  • findElements(): ใช้กลไกการระบุตำแหน่งเพื่อค้นหาองค์ประกอบทั้งหมดในหน้าปัจจุบันและส่งคืนรายการองค์ประกอบเว็บทั้งหมด
  • findElement() : ค้นหาองค์ประกอบแรกภายในหน้าปัจจุบันโดยใช้กลไกการค้นหาที่กำหนดและส่งคืนองค์ประกอบเว็บเพียงรายการเดียว

คำอธิบายประกอบประเภทใดที่ใช้ในซีลีเนียม

  • ก่อนสวีท
  • ก่อนการทดสอบ
  • ก่อนเรียน
  • ก่อนวิธีการ
  • กรณีทดสอบ
  • อาฟเตอร์เมธอด
  • หลังเลิกเรียน
  • อาฟเตอร์เทส
  • อาฟเตอร์สวีท

การยืนยันในซีลีเนียมคืออะไร?

การยืนยันกำหนดว่าแอปพลิเคชันทำงานตามที่คาดไว้หรือไม่ หากการยืนยันล้มเหลว กรณีทดสอบล้มเหลว และการดำเนินการจะหยุดลง

คำสั่ง Assert และ Verify คืออะไร?

  • Assert : ถ้าเงื่อนไข assert เป็นจริง โปรแกรมจะดำเนินการทดสอบขั้นต่อไป อย่างไรก็ตาม หากเงื่อนไขเป็นเท็จ การดำเนินการจะหยุดลง และจะไม่มีการทดสอบอื่นใดอีก
  • ตรวจสอบ : การดำเนินการทดสอบจะดำเนินการต่อไปไม่ว่าเงื่อนไขที่ตรวจสอบจะเป็นจริงหรือเท็จ

นโยบายแหล่งกำเนิดเดียวกันคืออะไร และซีลีเนียมจัดการอย่างไร

นโยบายที่มาเดียวกันสามารถอธิบายได้ว่าเป็นกลไกความปลอดภัยที่จำกัดวิธีที่สคริปต์หรือเอกสารที่โหลดโดยต้นทางที่ระบุโต้ตอบกับทรัพยากรจากต้นทางอื่น วิธีการดังกล่าวช่วยแยกสคริปต์ที่เป็นอันตราย

ซีลีเนียมใช้วิธีการฉีดพร็อกซีเพื่อใช้นโยบายแหล่งกำเนิดเดียวกัน ในการตั้งค่านี้ เซิร์ฟเวอร์ Selenium จะทำหน้าที่เป็นพร็อกซี HTTP ที่กำหนดค่าโดยไคลเอ็นต์ระหว่างแอปพลิเคชันภายใต้การทดสอบและเบราว์เซอร์ การฉีดพร็อกซีนี้จะปกปิด AUT ผ่าน URL สมมติ

คุณลักษณะการหยุดชั่วคราวใน Selenium IDE คืออะไร

หยุดชั่วคราวเป็นคำสั่งรอ Selenium IDE ที่ชะลอการดำเนินการทดสอบอัตโนมัติตามเวลาที่กำหนด การรอจะแสดงเป็นมิลลิวินาที หมายความว่าคุณควรป้อน 3000 หากคุณต้องการรอ 3 วินาที

เหตุใดการทดสอบ Selenium IDE จึงล้มเหลว

  • เว็บไซต์แบบอะซิงโครนัส การทดสอบซีลีเนียมถูกสร้างขึ้นตามลำดับที่แน่นอน อย่างไรก็ตาม บางเว็บไซต์ใช้สถาปัตยกรรมแบบอะซิงโครนัส และบางครั้ง การตอบสนองจะไม่เป็นไปตามลำดับ
  • หมดเวลา ซีลีเนียมอาจล้มเหลวขณะรอส่วนประกอบโหลด ข้อผิดพลาดดังกล่าวสามารถจัดการได้โดยใช้ "รอ"
  • แมลง ซีลีเนียมได้รับการปรับปรุงอยู่เสมอ อย่างไรก็ตาม คุณอาจพบข้อผิดพลาดในบางครั้ง ซึ่งอาจทำให้การทดสอบล้มเหลว
  • การเปลี่ยนแปลงซอร์สโค้ดเล็กน้อย หากมีการตรวจสอบการเปลี่ยนแปลงเครื่องระบุตำแหน่ง การทดสอบทั้งหมดที่ส่งไปยังเครื่องระบุตำแหน่งนี้อาจล้มเหลวได้

TestNG คืออะไร และมีคุณสมบัติอะไรบ้าง

TestNG เป็น Test Automation Framework ที่ได้แรงบันดาลใจจาก JUnit และ NUnit NG, Next Generation เป็นเครื่องมือโอเพ่นซอร์สและฟรี

นี่คือคุณสมบัติบางอย่างของ TestNG;

  • มีการยืนยันประเภทต่างๆ
  • อนุญาตให้ผู้ใช้เรียกใช้การทดสอบแบบขนาน
  • คุณสามารถทำการทดสอบขึ้นอยู่กับแต่ละอื่น ๆ โดยใช้แอตทริบิวต์ 'dependsOnMethods' และ 'dependsOnGroups'
  • ดำเนินการทดสอบที่ขับเคลื่อนด้วยข้อมูล
  • คุณสามารถจัดกลุ่มการทดสอบต่างๆ

อะไรคือความแตกต่างระหว่างการรอโดยนัยและการรอโดยชัดแจ้ง?

  • การรอโดยนัย บอกให้ WebDriver รอเป็นระยะเวลาหนึ่งก่อนที่จะส่งข้อยกเว้น ค่าเริ่มต้นคือ 0 และเมื่อตั้งเวลาแล้ว WebDriver จะรอจนกว่าจะหมดเวลาเพื่อส่งข้อยกเว้น
  • Explicit Wait บอกให้ WebDriver รอเงื่อนไขบางอย่างหรือเงื่อนไขที่คาดหวังก่อนที่จะโยนข้อยกเว้น “ElementNotVisibleException” Explicit Wait เป็นการรอ 'อัจฉริยะ' ที่ใช้กับองค์ประกอบที่ระบุเท่านั้น

ที่เก็บวัตถุคืออะไร?

Object Repository คือชุดของคู่คีย์-ค่าในสคริปต์ทดสอบ GUI อัตโนมัติที่ช่วยลดภาระในการบำรุงรักษาสคริปต์ทดสอบ กุญแจสำคัญในกรณีดังกล่าวคือชื่อโลจิคัลที่ระบุอ็อบเจ็กต์ รวมถึงค่าที่มาพร้อมกับคุณสมบัติเฉพาะที่ระบุอ็อบเจ็กต์บนหน้าจอ

นอกจากนี้ยังเป็นตำแหน่งศูนย์กลางที่จัดเก็บและจัดการข้อมูลทั้งหมด

คุณจะพบข้อยกเว้นอะไรบ้างในโปรแกรมควบคุมเว็บ Selenium

ข้อยกเว้นคือเหตุการณ์ที่ไม่เคยเกิดขึ้นมาก่อนหรือผิดปกติที่อาจเกิดขึ้นระหว่างการทำงานของโปรแกรมหรือแอปพลิเคชันซอฟต์แวร์ นอกจากนี้ยังสามารถอธิบายได้ว่าเป็นข้อผิดพลาดรันไทม์ของเหตุการณ์หรือผลลัพธ์ที่ไม่คาดคิดซึ่งรบกวนหรือมีอิทธิพลต่อการไหลของโปรแกรมตามปกติ

นี่เป็นข้อยกเว้นที่สำคัญใน Selenium Web Driver;

  • ไม่มีข้อยกเว้นหน้าต่างดังกล่าว WebDriver พยายามสลับไปยังหน้าต่างที่ไม่ถูกต้อง (ใช้งานไม่ได้)
  • NoSuchElementException เกิดขึ้นเมื่อองค์ประกอบไม่สามารถเข้าถึงได้
  • ไม่มีAlertPresentException ข้อยกเว้นนี้เกิดขึ้นเมื่อคุณพยายามสลับไปยังไม่มีการแจ้งเตือน
  • ข้อยกเว้นการหมดเวลา คำสั่งเฉพาะไม่เสร็จสิ้นภายในเวลาที่กำหนด
  • ElementNotVisibleException.
  • ElementNotSelectableException ข้อยกเว้นดังกล่าวเกิดขึ้นเมื่อองค์ประกอบถูกปิดใช้งาน (ไม่สามารถเลือกหรือคลิกได้) แม้ว่าจะมีอยู่ใน DOM
  • เซสชันไม่พบข้อยกเว้น ในกรณีนี้ WebDriver จะทำงานทันทีหลังจากปิดเบราว์เซอร์

รายชื่อ Locator ประเภทต่างๆ

  • รหัส
  • ชื่อ
  • ชื่อคลาส
  • ชื่อแท็ก
  • ข้อความลิงค์
  • ข้อความลิงค์บางส่วน
  • ตัวเลือก CSS
  • XPath

จุดพักและจุดเริ่มต้นคืออะไร

  • จุดเริ่มต้น แสดงให้เห็นว่าการดำเนินการของรหัสควรเริ่มต้นที่ใด จุดเริ่มต้นสามารถใช้เพื่อเรียกใช้สคริปต์ทดสอบจากตรงกลางของรหัสหรือเบรกพอยต์
  • จุดพัก ใช้เพื่อหยุดการทำงานของโค้ด เบรกพอยต์ใช้เพื่อยืนยันว่ารหัสของคุณทำงานตามที่คาดไว้

ห่อ

ข้างต้นคือคำถามสัมภาษณ์เกี่ยวกับซีลีเนียมบางข้อที่คุณอาจพบในการสัมภาษณ์งานด้านวิศวกรรมทดสอบระบบอัตโนมัติครั้งต่อไปของคุณ ตรวจสอบให้แน่ใจว่าคุณมีทักษะที่จำเป็นก่อนที่จะสมัครเป็นวิศวกรทดสอบระบบอัตโนมัติ