ความแตกต่างระหว่างการทดสอบกับข้อมูลจำเพาะ


12

ฉันมีปัญหาเกี่ยวกับแนวคิด ณ จุดนี้และฉันไม่สามารถหาข้อมูลใด ๆ เกี่ยวกับความแตกต่างระหว่างการทดสอบ (UnitTest ฯลฯ ) เทียบกับ Spec (Rspec ฯลฯ )

เท่าที่ฉันรู้รายละเอียดคือการทดสอบการรวมและการทดสอบเป็น UnitTest แต่เพียงแค่นั้น

คุณช่วยอธิบายความแตกต่างได้อย่างไร

คำตอบ:


12

ดูแผนภาพต่อไปนี้ มันแสดงให้เห็นถึงความสัมพันธ์ระหว่างการพัฒนาทดสอบขับเคลื่อน (TDD) และการยอมรับทดสอบพัฒนาขับเคลื่อน (ATDD):

ไดอะแกรมการพัฒนาที่ขับเคลื่อนการทดสอบการยอมรับ

ขอให้สังเกตว่าวงใน, TDD นั้นถูกหุ้มด้วยห่วงด้านนอก ATDD ข้อกำหนด (แสดงโดยกล่องเกณฑ์การยอมรับ) ผลักดันการสร้างการทดสอบการยอมรับอัตโนมัติซึ่งจะผลักดันการสร้างการทดสอบหน่วยเพื่อนำไปใช้งาน

โดยทั่วไป RSpec จะใช้ในสถานการณ์ที่คุณต้องการแสดงการทดสอบในลักษณะที่เป็นมิตรกับนักวิเคราะห์ธุรกิจคือการสร้างการทดสอบการยอมรับอัตโนมัติ (วงกลมสีแทน); ในขณะที่กรอบการทดสอบหน่วยเช่น nUnit มีความเชี่ยวชาญมากกว่าสำหรับการทดสอบหน่วยที่เขียนจากมุมมอง TDD ของผู้พัฒนาในระดับการนำไปใช้ (วงกลมสีเหลือง)


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

3

ตกลงเรามีคำศัพท์ต่าง ๆ ที่นี่ดังนั้นนี่คือสิ่งที่เกิดขึ้น

  • เรามีการทดสอบหน่วย ระดับอื่น ๆ ได้แก่ การทดสอบการรวมการทดสอบประสิทธิภาพ ฯลฯ
  • rspec สามารถใช้สำหรับการทดสอบในระดับที่สูงกว่าได้หลายอย่างเช่นกับแบบจำลองตัวควบคุมและมุมมองผ่านการทดสอบคุณสมบัติของ Capybara
  • คำว่า 'spec' มาจากข้อมูลจำเพาะซึ่งเป็นหัวใจของการทดสอบ - มันระบุบางสิ่งบางอย่าง
  • rspec - เฟรมเวิร์กที่ใช้สำหรับทดสอบเบราว์เซอร์ agaist ซึ่งมักใช้กับแอปพลิเคชัน Ruby on Rails
  • ไฟล์ spec - ไฟล์ rspec มักจะลงท้ายด้วย _spec.rb และมักเรียกว่าไฟล์ spec
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.