ความหมายของ 'ฟิกซ์เจอร์' ต่างกันอย่างไร?


19

ฉันมีปัญหาในการเข้าใจแนวคิดของ "การติดตั้ง" ฉันรู้ว่าชุดทดสอบคืออะไรกรณีทดสอบเรียกใช้การทดสอบ แต่ "ฟิกซ์เจอร์" คืออะไร กรณีทดสอบแปร?

สำหรับฉันแล้วความหมายหรือความหมายของคำว่า "ฟิกซ์เจอร์" อาจแตกต่างกันเล็กน้อยโดยภาษาการเขียนโปรแกรมหรือโดยการทดสอบกรอบ? ฉันคิดว่าการติดตั้งแบบ phpunit

" รหัสเพื่อตั้งโลกขึ้นมาอยู่ในสถานะที่เป็นที่รู้จักและจากนั้นกลับสู่สภาพเดิมเมื่อการทดสอบเสร็จสมบูรณ์. รัฐนี้เป็นที่รู้จักกันจะเรียกว่าการติดตั้งการทดสอบ. "

แตกต่างจาก " fitnesse fixture " เล็กน้อย

" การติดตั้งเป็นสะพานเชื่อมระหว่างหน้า Wiki และ System Under Test (SUT) ซึ่งเป็นระบบจริงที่จะทดสอบ "

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


1
@chris (และ knb) โปรดใส่คำตอบเป็นคำตอบไม่ใช่แก้ไขคำถาม

ดีใจที่คุณถามผมเกือบจะถามคำถามเดียวกัน :)
Adi Prasetyo

คำตอบ:


19

ในบริบทของเครื่องมือทดสอบที่คุณพูดถึงเช่นPHPUnitและFitnesseคำนี้หมายถึงแนวคิดของการทดสอบการแข่งขัน :

สิ่งที่ใช้ทดสอบอย่างสม่ำเสมอรายการอุปกรณ์หรือชิ้นส่วนของซอฟต์แวร์ ...

ซอฟต์แวร์

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

ตัวอย่างของการแข่งขัน:

  • กำลังโหลดฐานข้อมูลด้วยชุดข้อมูลเฉพาะที่เป็นที่รู้จัก
  • การลบฮาร์ดดิสก์และติดตั้งการติดตั้งระบบปฏิบัติการที่รู้จัก
  • การคัดลอกชุดไฟล์ที่รู้จักเป็นพิเศษ
  • การเตรียมข้อมูลอินพุตและการตั้งค่า / การสร้างวัตถุปลอมหรือจำลอง ...

การใช้งานของการแข่งขัน

ข้อดีของการติดตั้งรวมถึงการแยกของการเริ่มต้นการทดสอบ (และการทำลาย) จากการทดสอบการใช้สถานะที่เป็นที่รู้จักอีกครั้งสำหรับการทดสอบมากกว่าหนึ่งครั้งและสมมติฐานพิเศษโดยกรอบการทดสอบที่การติดตั้งใช้งาน ...


2
เพื่อสรุปฟิกซ์เจอร์เป็นวัตถุที่มีสถานะเป็นที่รู้จักว่าการทดสอบ (หรืออะไรก็ตาม) สามารถดำเนินการต่อและมีผลลัพธ์ที่คาดหวัง
เดฟ thieben

ดังนั้นฉันจะบอกว่าการติดตั้งเป็นนามธรรมของชุดทดสอบ บางทีฉันอาจสับสนเพราะบางครั้งคนใช้คำพ้องความหมาย: คำที่ติดตั้ง (นามธรรมหรือวัตถุ stateful ที่ทดสอบก่อนรันไทม์) และการกำหนดค่าการติดตั้ง
knb

@davethieben มันต้องเป็นวัตถุหรือไม่? - ฉันไม่คิดอย่างนั้นแม้ว่ามันจะเป็นบ่อย
เซบาสเตียนนีลเซ่น

4

นอกเหนือจากบริบทการทดสอบคำว่า Fixture บางครั้งใช้เพื่ออธิบายข้อมูลเริ่มต้นในการจัดเก็บ (เช่นข้อมูลเริ่มต้นในฐานข้อมูล) เมื่อปรับใช้แอปพลิเคชันเป็นครั้งแรก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.