เมื่อเขียนคำตอบนี้ฉันรู้ว่ามันไม่เกี่ยวกับการทดสอบ แต่เป็นเรื่องของเอกสาร คุณควรอ่านแถลงการณ์ที่คล่องตัว :
[เราให้ความสำคัญ] ซอฟต์แวร์ที่ใช้งานได้บนเอกสารที่ครอบคลุม
ดังนั้นคุณควรทำให้ข้อกำหนดของคุณสามารถดำเนินการได้เช่นเขียนเป็นชุดทดสอบอัตโนมัติเต็มรูปแบบ
การเขียนรายละเอียดตามเรื่องราวเป็นความคิดที่ดีหรือไม่?
ใช่ imho มันเป็น มันเรียกว่า "การพัฒนาพฤติกรรมขับเคลื่อน" หรือ "สเปคตามตัวอย่าง" ในทับทิมมีแตงกวาเครื่องมือยอดเยี่ยมที่ช่วยได้มาก
ปัญหาในตอนนี้คือเนื่องจากมีเรื่องราวมากมายจึงไม่ชัดเจนในทันทีสำหรับส่วนใดส่วนหนึ่งของระบบที่เกี่ยวข้องกับเรื่องราว
ทำไมคุณต้องการให้ชัดเจน? ฉันหมายถึงคุณต้องการเมทริกซ์ตรวจสอบย้อนกลับ "ทดสอบ / รหัส" จริงๆหรือไม่ ข้อดีของการเขียนการทดสอบเป็นสเปคคือคุณไม่จำเป็นต้องมีการตรวจสอบย้อนกลับ "ข้อกำหนด / การทดสอบ" แยกต่างหากเนื่องจากการทดสอบกลายเป็นข้อกำหนด สำหรับวัตถุประสงค์ของการทดสอบการรวมระบบคุณควรปฏิบัติต่อซอฟต์แวร์โดยรวมไม่ใช่แยกชิ้นส่วน
คุณอาจต้องใช้เครื่องมือครอบคลุมเพื่อดูว่ามีโมดูล "ตาย" หรือไม่ส่วนของระบบของคุณไม่รวมอยู่ในการทดสอบข้อกำหนดของคุณ แต่คุณไม่ควรสนใจว่าข้อมูลจำเพาะของรหัสนี้ตรงกับอะไร มันควรเป็นในทางกลับกัน: จากข้อกำหนดเฉพาะที่คุณควรรู้ว่าส่วนใดของระบบที่สอดคล้องกับมัน คุณไม่ควรกังวลเกี่ยวกับการทำซ้ำในข้อกำหนดของคุณ และถ้าคุณใช้หลักการDRYกับรหัสของคุณจะมีสเป็คมากมายที่รันโค้ดเดียวกัน
มันทำงานได้ในช่วงเวลาของนักพัฒนาซอฟต์แวร์ผู้พัฒนาทุกคนเพียงแค่ได้รับข้อมูลจำเพาะเกี่ยวกับสิ่งที่พวกเขาต้องทำและการเปลี่ยนแปลงที่พวกเขาต้องทำ แต่ในแง่ของการรักษารายการเรื่องราวนี้และสำหรับการทดสอบมันเริ่มที่จะได้รับข้อผิดพลาดการติดตามที่ยากมากและโดยทั่วไปเพียงแค่รักษารายละเอียดเพราะฟังก์ชั่นหนึ่งชิ้นในหน้าจออาจได้รับการบันทึกไว้ในสถานที่ต่าง ๆ แยกตามเรื่อง
ไม่ใช่เรื่องแปลกที่การทดสอบการรวมหลายร้อยครั้งจะถูกทำลายโดยการเปลี่ยนแปลงเพียงเล็กน้อยในโมดูลที่สำคัญ นั่นคือสิ่งที่หน่วยทดสอบขั้นตอนใน
คุณควรจัดโครงสร้างการทดสอบของคุณเพื่อให้คุณสามารถบอกได้ว่าการทดสอบนั้นมีความต้องการในระดับสูงหรือเพียงแค่มีรายละเอียดเล็กน้อย หากหลังคุณควรแยกการทดสอบนี้ออกจากชุดการทดสอบการรวมระบบของคุณ วัตถุประสงค์ของการทดสอบหน่วยคือการ จำกัด ข้อบกพร่อง ดังนั้นถ้าคุณแนะนำบั๊กจะมีเพียงหนึ่งการทดสอบล้มเหลว
เราเคยเขียนเรื่องราวในทางที่ผิดหรือเปล่า?
ฉันคิดว่าคุณเพียงแค่ต้องจัดระเบียบเรื่องราวของคุณเป็นมหากาพย์ทั้งโดยผู้ใช้เช่น "ลูกค้า", "ผู้ช่วย" หรือโดยคุณสมบัติ / หน้าจอ / เวิร์กโฟลว์ ("ซื้อ", "คืนเงิน")
และอีกครั้งการทดสอบข้อมูลจำเพาะไม่ใช่การแทนที่การทดสอบหน่วย อ่านเพิ่มเติม