Worksheetsการตรวจสอบและทวนสอบซอฟต์แวร์ 1
Total questions: 55
Worksheet time: 28mins
Name
Class
Date
1.
Selenium ถูกออกแบบมาเพื่อการทดสอบประเภทใดเป็นหลัก?
a)
Unit Testing
b)
Performance Testing
c)
Functional Testing
d)
Security Testing
2.
ข้อใด ไม่ใช่ เครื่องมือที่รวมอยู่ใน Selenium Suite?
a)
Selenium IDE
b)
Selenium RC
c)
Selenium Grid
d)
Selenium Tester
3.
ข้อใดเป็นปัญหาที่ Selenium Core เผชิญเนื่องจาก Same Origin Policy?
a)
ไม่สามารถทดสอบข้ามโดเมนได้
b)
ไม่สามารถทดสอบบนหลายเบราว์เซอร์ได้
c)
ไม่รองรับ JavaScript
d)
ต้องใช้โปรแกรมเสริมเพิ่มเติม
4.
Selenium WebDriver สามารถใช้กับภาษาใดได้บ้าง?
a)
Java และ Python
b)
C# และ PHP
c)
Ruby และ Perl
d)
ทั้งหมดที่กล่าวมา
5.
ข้อใดเป็นข้อได้เปรียบของ Selenium WebDriver เมื่อเทียบกับ Selenium RC?
a)
ใช้ JavaScript ในการทำงาน
b)
ทำงานผ่าน Proxy Server
c)
รองรับเฉพาะภาษา Java
d)
ติดต่อโดยตรงกับเบราว์เซอร์
6.
Selenium IDE เป็นเครื่องมือที่ใช้ทำอะไร?
a)
ใช้สำหรับรันทดสอบแบบอัตโนมัติเท่านั้น
b)
ใช้สำหรับเขียนโค้ดภาษา Java
c)
ใช้บันทึกและเล่นซ้ำการทดสอบเว็บแอปพลิเคชัน
d)
ใช้สำหรับสร้างฐานข้อมูล
7.
ข้อใด ไม่ใช่ คุณสมบัติของ Selenium IDE?
a)
รองรับหลายเบราว์เซอร์
b)
บันทึกและเล่นซ้ำการทดสอบได้
c)
ส่งออกสคริปต์การทดสอบเป็นภาษาโปรแกรมได้
d)
ใช้สำหรับสร้างชุดการทดสอบ
8.
Selenium IDE ใช้วิธีการระบุตำแหน่งองค์ประกอบบนหน้าเว็บอย่างไร?
a)
ใช้ชื่อคลาส Java เท่านั้น
b)
ใช้ ID, Name, XPath, และ CSS Selector
c)
ใช้ URL เท่านั้น
d)
ใช้ JavaScript เท่านั้น
9.
คำสั่งใดใน Selenium IDE ใช้สำหรับคลิกปุ่ม?
a)
type()
b)
open()
c)
click()
d)
sendKeys()
10.
ข้อใด ไม่ใช่ ข้อจำกัดของ Selenium IDE?
a)
ทำงานได้เฉพาะบน Firefox เวอร์ชันเก่า
b)
ไม่สามารถจัดการกับเงื่อนไข (if-else) และลูปได้
c)
สามารถใช้กับทุกเบราว์เซอร์ได้
d)
ไม่รองรับการทดสอบแบบ Data-Driven
11.
Selenium WebDriver แตกต่างจาก Selenium RC อย่างไร?
a)
Selenium WebDriver ทำงานผ่าน Proxy Server
b)
Selenium WebDriver ติดต่อโดยตรงกับเบราว์เซอร์
c)
Selenium WebDriver ใช้เฉพาะกับ Java
d)
Selenium WebDriver ต้องใช้เซิร์ฟเวอร์กลาง
12.
คำสั่งใดใช้ในการเปิดหน้าเว็บใน Selenium WebDriver?
a)
open()
b)
get()
c)
load()
d)
start()
13.
คำสั่งใดใช้ปิดแท็บปัจจุบันของเบราว์เซอร์ใน Selenium WebDriver?
a)
quit()
b)
close()
c)
exit()
d)
shutdown()
14.
ถ้าต้องการค้นหาองค์ประกอบในเว็บเพจโดยใช้ ID ควรใช้คำสั่งใด?
a)
findById()
b)
locateElement()
c)
findElement(By.id("id"))
d)
getElementById()
15.
Explicit Wait และ Implicit Wait ใน Selenium WebDriver มีความแตกต่างกันอย่างไร?
a)
Explicit Wait รอเฉพาะองค์ประกอบที่กำหนด ส่วน Implicit Wait รอทุกองค์ประกอบ
b)
Explicit Wait รอได้เฉพาะ 5 วินาที ส่วน Implicit Wait รอได้ไม่เกิน 10 วินาที
c)
Explicit Wait ใช้กับทุกเบราว์เซอร์ ส่วน Implicit Wait ใช้กับเฉพาะ Chrome
d)
Explicit Wait ต้องใช้ JavaScript เท่านั้น
16.
คำสั่งใดใช้สำหรับสลับไปยังหน้าต่างใหม่ใน Selenium WebDriver?
a)
switchTo().frame()
b)
switchTo().window()
c)
switchTo().alert()
d)
switchTo().tab()
17.
คำสั่งใดใช้ในการเลื่อนหน้าจอไปยังองค์ประกอบที่ต้องการ?
a)
executeScript("arguments[0].scrollIntoView()", element)
b)
moveTo(element)
c)
findElement(By.scroll())
d)
scrollTo(element)
18.
ถ้าต้องการคลิกองค์ประกอบโดยใช้ JavaScriptExecutor ควรใช้คำสั่งใด?
a)
element.click()
b)
executeScript("arguments[0].click();", element)
c)
performClick(element)
d)
triggerClick(element)
19.
คำสั่งใด ไม่ใช่ เมธอดของ Actions class ใน Selenium WebDriver?
a)
dragAndDrop()
b)
doubleClick()
c)
navigateTo()
d)
moveToElement()
20.
ใน Selenium WebDriver ควรใช้ WebDriverWait ในกรณีใด?
a)
ต้องการรอการโหลดหน้าเว็บทั้งหน้า
b)
ต้องการรอองค์ประกอบที่ต้องการปรากฏก่อนดำเนินการต่อ
c)
ต้องการหยุดโปรแกรมชั่วคราว 5 วินาที
d)
ต้องการรีเฟรชหน้าเว็บ
21.
คำสั่งใดใช้ติดตั้ง Jest ในโครงการ Node.js?
a)
npm init
b)
npm install --save-dev jest
c)
npm start jest
d)
node install jest
22.
ถ้าต้องการตรวจสอบว่าค่าที่ได้รับเป็น null ควรใช้ matcher ใดใน Jest?
a)
toBeTrue()
b)
toBeFalsy()
c)
toBeNull()
d)
toBeUndefined()
23.
beforeEach() ใน Jest ทำงานอย่างไร?
a)
ทำงานก่อนทุกไฟล์ที่ถูกทดสอบ
b)
ทำงานก่อนทุก test() ในไฟล์เดียวกัน
c)
ทำงานเฉพาะใน test() แรกของไฟล์
d)
ทำงานก่อน afterEach()
24.
ถ้าต้องการให้ Jest แสดงรายงานผลทดสอบในรูปแบบ HTML ต้องทำอย่างไร?
a)
ใช้คำสั่ง jest --html
b)
ติดตั้ง jest-html-reporter และตั้งค่าใน package.json
c)
เปิดโหมด Debug ใน Jest
d)
ใช้ console.log() ในแต่ละ test()
25.
คำสั่งใดใช้เพื่อรันชุดการทดสอบทั้งหมดใน Jest?
a)
jest start
b)
node jest
c)
npm test
d)
yarn jest run
26.
ข้อใดเป็นคุณสมบัติของ Selenium WebDriver?
a)
รองรับเฉพาะเบราว์เซอร์ Chrome
b)
จำเป็นต้องใช้เซิร์ฟเวอร์กลางเสมอ
c)
ใช้ JavaScript ในการควบคุมเบราว์เซอร์
d)
สามารถทดสอบได้โดยไม่ต้องใช้ JavaScript
27.
Selenium Grid มีหน้าที่อะไร?
a)
ใช้สำหรับบันทึกและเล่นซ้ำการทดสอบ
b)
ใช้เพื่อรันการทดสอบแบบขนานในหลายเครื่อง
c)
ใช้ในการสร้าง Web API
d)
ใช้เพื่อดีบักโค้ดอัตโนมัติ
28.
ข้อใด ไม่ใช่ ข้อจำกัดของ Selenium?
a)
ไม่สามารถใช้ทดสอบแอปพลิเคชันเดสก์ท็อปโดยตรง
b)
ต้องพึ่งพา WebDriver เพื่อควบคุมเบราว์เซอร์
c)
รองรับการทดสอบแบบ Visual Testing โดยตรง
d)
ไม่สามารถใช้กับ Internet Explorer ได้
29.
WebDriver มีข้อดีอะไรเมื่อเทียบกับ Selenium RC?
a)
รองรับเฉพาะภาษา Java เท่านั้น
b)
มีการทำงานที่เร็วกว่าและไม่ต้องใช้เซิร์ฟเวอร์กลาง
c)
สามารถใช้กับแอปพลิเคชันเดสก์ท็อปได้
d)
รองรับเฉพาะ Windows OS เท่านั้น
30.
ถ้าต้องการทดสอบเว็บที่มีการเปลี่ยนแปลง DOM บ่อยๆ ควรใช้คำสั่งใด?
a)
getElementById()
b)
waitForElement()
c)
WebDriverWait พร้อม ExpectedConditions
d)
runSelenium()
31.
Selenium IDE สามารถส่งออกสคริปต์เป็นภาษาใดได้บ้าง?
a)
Java
b)
Python
c)
C#
d)
ทั้งหมดที่กล่าวมา
32.
ข้อใดเป็นข้อดีของ Selenium IDE?
a)
รองรับการทดสอบบนมือถือ
b)
ใช้งานง่ายสำหรับผู้ที่ไม่มีพื้นฐานการเขียนโปรแกรม
c)
สามารถใช้งานได้เฉพาะบนระบบปฏิบัติการ Windows
d)
สามารถใช้กับ Selenium Grid ได้โดยตรง
33.
คำสั่ง assertText ใน Selenium IDE ใช้ทำอะไร?
a)
ตรวจสอบว่าข้อความขององค์ประกอบตรงกับค่าที่กำหนด
b)
กำหนดค่าข้อความให้กับองค์ประกอบ
c)
ลบข้อความออกจากองค์ประกอบ
d)
เปรียบเทียบค่าของสององค์ประกอบ
34.
ข้อใด ไม่ใช่ จุดเด่นของ Selenium IDE?
a)
รองรับการบันทึกและเล่นซ้ำ
b)
ใช้งานง่ายและติดตั้งได้สะดวก
c)
รองรับการทดสอบแบบหลายเธรดพร้อมกัน
d)
สามารถส่งออกสคริปต์ไปเป็น Java หรือ Python ได้
35.
ข้อใดเป็นการจำกัดการทำงานของ Selenium IDE?
a)
ไม่สามารถจัดการกับเงื่อนไข if-else ได้
b)
ทำงานได้เฉพาะกับเบราว์เซอร์ Firefox
c)
รองรับการทดสอบ Mobile Apps
d)
สามารถทดสอบ API ได้
36.
ข้อใดเป็นวิธีที่ดีที่สุดในการค้นหาองค์ประกอบในหน้าเว็บ?
a)
ใช้ XPath เสมอ
b)
ใช้ ID หรือ Name หากเป็นไปได้
c)
ใช้ CSS Selector เท่านั้น
d)
ใช้การค้นหาจากข้อความขององค์ประกอบ
37.
คำสั่ง driver.quit() ใช้ทำอะไร?
a)
ปิดเฉพาะแท็บที่ใช้งานอยู่
b)
ปิดเบราว์เซอร์ทั้งหมดที่เปิดโดย WebDriver
c)
รีสตาร์ทเซิร์ฟเวอร์ WebDriver
d)
รีโหลดหน้าเว็บ
38.
WebDriver รองรับการทำงานบนเบราว์เซอร์ใดบ้าง?
a)
Chrome และ Firefox เท่านั้น
b)
Safari เท่านั้น
c)
Chrome, Firefox, Edge, Safari และอื่น ๆ
d)
Internet Explorer เท่านั้น
39.
คำสั่งใดใช้ในการป้อนค่าลงใน input field?
a)
sendKeys()
b)
setText()
c)
enterText()
d)
inputText()
40.
ถ้าต้องการสลับไปยัง iframe ต้องใช้คำสั่งใด?
a)
switchTo().tab()
b)
switchTo().frame()
c)
switchTo().window()
d)
switchTo().element()
41.
ข้อใดเป็นการใช้ Actions class ใน Selenium WebDriver?
a)
ใช้สำหรับการทำงานที่ต้องใช้เมาส์หรือคีย์บอร์ด เช่น drag and drop
b)
ใช้สำหรับจัดการกับเซสชันของเบราว์เซอร์
c)
ใช้สำหรับเปิด URL
d)
ใช้สำหรับปิดเบราว์เซอร์
42.
คำสั่ง driver.findElements() ใช้ทำอะไร?
a)
ค้นหาองค์ประกอบเดียว
b)
ค้นหาและคืนค่ารายการขององค์ประกอบที่ตรงกับเงื่อนไข
c)
ค้นหาเฉพาะองค์ประกอบที่มี ID
d)
ใช้สำหรับจัดการกับคุกกี้
43.
ถ้าต้องการทดสอบฟอร์มที่มีปุ่ม submit ควรใช้คำสั่งใด?
a)
element.submit()
b)
element.sendKeys("Enter")
c)
element.click("submit")
d)
element.actionSubmit()
44.
ข้อใดเป็นเงื่อนไขที่ใช้ใน ExpectedConditions?
a)
visibilityOfElementLocated
b)
elementToBeClickable
c)
textToBePresentInElement
d)
ทั้งหมดที่กล่าวมา
45.
วิธีที่เหมาะสมที่สุดสำหรับการจัดการ Alert popup ใน Selenium WebDriver คืออะไร?
a)
ใช้ JavaScriptExecutor
b)
ใช้ switchTo().alert()
c)
ใช้ findElement(By.alert())
d)
ใช้ getAlert()
46.
ข้อใด ไม่ใช่ คุณสมบัติของ Jest?
a)
ต้องการการตั้งค่าที่ซับซ้อนก่อนใช้งาน
b)
รองรับการทดสอบแบบขนาน
c)
มีระบบ Mocking ที่ทรงพลัง
d)
สนับสนุน Snapshot Testing
47.
คำสั่ง expect.toBe() ใช้ตรวจสอบค่าอะไร?
a)
วัตถุ (Object) เท่ากัน
b)
ค่าที่ส่งเข้ามาตรงกับค่าที่คาดหวัง
c)
ค่าไม่เป็น null
d)
ค่าต้องเป็น Boolean
48.
ข้อใดเป็น Jest Hook ที่ทำงานก่อนทุก test()?
a)
afterEach()
b)
beforeEach()
c)
afterAll()
d)
testStart()
49.
ถ้าต้องการดูรายงานโค้ดที่ถูกครอบคลุมโดยการทดสอบ ต้องใช้คำสั่งใด?
a)
npm test -- --coverage
b)
jest coverage report
c)
jest --report
d)
npm test --generate-report
50.
Black Box Testing คืออะไร?
a)
การทดสอบที่มุ่งเน้นไปที่โครงสร้างของโค้ด
b)
การทดสอบที่เน้นพฤติกรรมของซอฟต์แวร์โดยไม่สนใจโครงสร้างภายใน
c)
การทดสอบที่ทำโดยนักพัฒนาเท่านั้น
d)
การทดสอบที่ใช้เฉพาะใน Agile Methodology
51.
ข้อใดเป็นเทคนิคที่ใช้ใน Black Box Testing?
a)
Equivalence Partitioning
b)
Statement Coverage
c)
Cyclomatic Complexity
d)
Code Review
52.
Boundary Value Analysis (BVA) ใช้ทดสอบอะไร?
a)
ค่าขอบเขตของอินพุตที่มีแนวโน้มทำให้เกิดข้อผิดพลาด
b)
อินพุตที่เป็นค่ากลางในช่วงของข้อมูล
c)
การทำงานภายในของโค้ด
d)
ฟังก์ชันที่ไม่มีขอบเขตชัดเจน
53.
Equivalence Partitioning (EP) มีหลักการอย่างไร?
a)
ทดสอบทุกค่าที่เป็นไปได้
b)
แบ่งชุดข้อมูลออกเป็นกลุ่มที่มีพฤติกรรมเหมือนกันและทดสอบเพียงค่าตัวแทน
c)
ใช้สำหรับทดสอบเฉพาะค่าขอบเขต
d)
ใช้เพื่อลดความซับซ้อนของโค้ด
54.
ข้อใดเป็นข้อดีของ Black Box Testing?
a)
สามารถระบุข้อผิดพลาดของโครงสร้างโค้ดได้
b)
ไม่ต้องรู้จักโครงสร้างภายในของซอฟต์แวร์
c)
ใช้เวลานานในการทดสอบเมื่อเทียบกับ White Box Testing
d)
ต้องให้ผู้ทดสอบเป็นนักพัฒนาเท่านั้น
55.
เทคนิค Cause-Effect Graphing ใช้ทำอะไรใน Black Box Testing?
a)
ตรวจสอบข้อผิดพลาดทางตรรกะของโค้ด
b)
กำหนดความสัมพันธ์ระหว่างอินพุตและเอาต์พุตของระบบ
c)
ใช้ทดสอบเฉพาะเงื่อนไขที่เป็นตัวเลข
d)
เป็นการทดสอบที่มุ่งเน้นไปที่ประสิทธิภาพของระบบ
100 %
