หมายเหตุชั่วคราวด่วน : โพสต์นี้ต้องการการปรับปรุงเพื่อตอบคำถามได้ดีขึ้นเช่น 1) รายละเอียดเพิ่มเติมควรรวมอยู่ในการอ้างอิง 2) การอ้างอิงบางอย่างอาจ 3) ความถูกต้องโดยรวมของภาษาอังกฤษ 4) คุณภาพโดยรวมของการบรรยาย 5) เป็นต้น กลับไปที่มัน อย่าลังเลที่จะปรับปรุงด้วยตัวคุณเอง
การดูเทมเพลตสามารถให้ข้อมูลเชิงลึกเกี่ยวกับความแตกต่างระหว่างข้อกำหนดเหล่านี้
มีแม่แบบหลายแบบสำหรับกรณีการใช้งาน ผมพบว่า 3 หลังจากการค้นหาอย่างรวดเร็ว: 1 , 2 , 3 บางจุดที่พวกเขา (บางครั้งราง) มีเหมือนกันคือ:
- ชื่อของกรณีการใช้งาน / ชื่อเรื่อง
- คำอธิบาย - ข้อความสั้น ๆ ที่อธิบายถึงขอบเขต
- นักแสดง / นักแสดงหลัก - คนที่มีปฏิสัมพันธ์กับกรณีการใช้งานเฉพาะนี้
- Precondition - ทุกสิ่งที่กรณีการใช้งานนี้สามารถถือว่าเป็นจริงก่อนที่จะเริ่มเป็นวงจรชีวิต
- สถานการณ์สมมติความสำเร็จ - ลำดับขั้นตอนที่อธิบายลำดับเหตุการณ์ที่เกิดขึ้นอย่างถูกต้อง
ส่วนขยาย - โฟลว์ของแอปพลิเคชันเมื่อมันเบี่ยงเบนจากโฟลว์สถานการณ์ความสำเร็จ:
- กระแสทางเลือก - ตัวเลือกอื่น ๆ ของการไหลที่ถูกต้อง
- ข้อยกเว้นการไหล - การไหลของเหตุการณ์เมื่อสิ่งผิดปกติ
รับประกันความสำเร็จ (เงื่อนไขการโพสต์) - สถานะของการใช้งานหลังจากทุกอย่างเสร็จสิ้น
บางจุดเพิ่มเติมที่สามารถรวมเป็นระดับ , การค้ำประกัน Minimal , ทริกเกอร์ฯลฯ
ข้างต้นเป็นสิ่งที่เรียกว่ากรณีที่ใช้สวมใส่ได้อย่างเต็มที่ คุณสามารถทำให้การสร้างเคสใช้ง่ายขึ้นโดยใช้เคสการใช้งานทั่วไปโดยใช้เฉพาะจุดที่สำคัญที่สุดตัวอย่างเช่น:
- หัวข้อ
- นักแสดง (s)
- ลำดับเหตุการณ์
กรณีใช้งานถูกสร้างและเป็นที่นิยมโดย Ivar Jacobson ในช่วงปลายยุค 80 ต้นยุค 90 หลังจากนั้นคนอื่นก็มีส่วนทำให้งานของเขา (หนึ่งในคนนี้คืออลิสแตร์เบิร์นเบิร์นซึ่งเป็นผู้เขียนกรณีการใช้งานอย่างมีประสิทธิภาพ ) การถอดความกรณีที่ใช้มาร์ตินฟาวเลอร์สามารถใช้ประโยชน์จากข้อความและไดอะแกรม UML แต่คุณค่าที่ยิ่งใหญ่ที่สุดของพวกเขาอยู่ในข้อความของมัน พวกเขาดีที่สุดเมื่อพวกเขาไม่ใหญ่และอ่านง่าย
เรื่องราวของผู้ใช้ - เรื่องราวเล็ก ๆ ที่อธิบายคุณสมบัติเฉพาะ มีรูปแบบทั่วไปของวิธีการเขียนเรื่องราวของผู้ใช้ซึ่งก็คือ:
ในฐานะที่เป็น ประเภทเฉพาะของผู้ใช้
ที่ฉันต้องการ ที่จะทำบางสิ่งบางอย่าง
เพื่อให้ ด้วยเหตุผลบางอย่าง
นอกจากนี้เรื่องราวของผู้ใช้สามารถมีเกณฑ์การยอมรับได้
อย่างที่คุณเห็นเทมเพลตนี้มีขนาดเล็กกว่าเคสที่ใช้งานมาก เรื่องราวของผู้ใช้มักเกี่ยวข้องกับภูมิภาค scrum / agile / xp ของการพัฒนาซอฟต์แวร์ พวกเขาตั้งใจจะเขียนบนพื้นผิวเล็ก ๆ เช่นโพสต์ - มันโน้ตและ / หรือบนกระดานต่อสู้ ที่นั่นพวกเขามี (ปกติ) ได้รับค่าจุดซึ่งประมาณว่าความต้องการใช้ความพยายามมากที่จะลงทุนในเรื่องการใช้โทษ
Bill Wake พัฒนาโปรแกรมช่วยจำ INVESTเพื่ออธิบายคุณสมบัติที่ผู้ใช้ควรมีและฉันจะยืมบทสรุปสั้น ๆ ของ Martin Fowler จากเว็บไซต์ของเขา :
อิสระ : เรื่องราวสามารถส่งในลำดับใด ๆ
ต่อรองได้ : รายละเอียดของสิ่งที่อยู่ในเรื่องราวที่ถูกสร้างขึ้นร่วมกันโดยโปรแกรมเมอร์และลูกค้าในระหว่างการพัฒนา
คุณค่า : ฟังก์ชั่นถูกมองว่ามีค่าโดยลูกค้าหรือผู้ใช้ซอฟต์แวร์
Estimable : โปรแกรมเมอร์สามารถสร้างประมาณการที่สมเหตุสมผลสำหรับการสร้างเรื่องราว
เล็ก : เรื่องราวควรถูกสร้างขึ้นในเวลาเพียงเล็กน้อยโดยปกติจะเป็นเรื่องของคนต่อวัน แน่นอนคุณควรจะสามารถสร้างเรื่องราวต่าง ๆ ได้ภายในการทำซ้ำครั้งเดียว
ทดสอบได้ : คุณควรจะสามารถเขียนการทดสอบเพื่อตรวจสอบว่าซอฟต์แวร์สำหรับเรื่องนี้ทำงานอย่างถูกต้อง
สถานการณ์การใช้งานเป็นไปตามรูปแบบ GWT ซึ่งย่อมาจาก Given-When-Then เช่น:
สถานการณ์สมมติ : ชื่อที่
ให้ไว้ : ข้อเท็จจริงเฉพาะ
และ : อีกข้อเท็จจริงเฉพาะ (อาจเป็นตัวเลือก)
เมื่อ : เหตุการณ์บางอย่างเกิดขึ้น
แล้ว : เหตุการณ์อื่น ๆ เกิดขึ้น
สถานการณ์การใช้งานเกี่ยวข้องกับการพัฒนาพฤติกรรมขับเคลื่อน มันฟังดูคล้ายกับการทดสอบ มาร์ตินฟาวเลอร์ในโพสต์บล็อกของเขาให้ประวัติและเหตุผลเบื้องหลังการใช้งานบางอย่าง นี่คือส่วนสำคัญ:
ได้รับส่วนหนึ่งอธิบายสถานะของโลกก่อนที่จะเริ่มมีพฤติกรรมที่คุณระบุในสถานการณ์นี้ คุณสามารถคิดว่ามันเป็นเงื่อนไขล่วงหน้าสำหรับการทดสอบ เมื่อส่วนมีพฤติกรรมที่ระบุว่าคุณกำลัง
ในที่สุดส่วนนั้นอธิบายการเปลี่ยนแปลงที่คุณคาดหวังเนื่องจากพฤติกรรมที่ระบุ
สถานการณ์การใช้งานสามารถใช้สำหรับการเขียนการทดสอบสำหรับแอปพลิเคชันของคุณ หากต้องการอ้างอิงย่อหน้าสุดท้ายของโพสต์ของ Martin:
แม้ว่าสไตล์ที่ได้รับเมื่อ - จากนั้นเป็นอาการของ BDD แต่แนวคิดพื้นฐานนั้นค่อนข้างธรรมดาเมื่อเขียนการทดสอบหรือสเปคตามตัวอย่าง Meszaros อธิบายรูปแบบการทดสอบสี่เฟส สี่ขั้นตอนของเขาคือการตั้งค่า (ให้ไว้), การออกกำลังกาย (เมื่อ), ตรวจสอบ (แล้ว) และ Teardown Bill Wake เกิดขึ้นพร้อมกับการกำหนดเป็น Arrange, Act, Assert
การอ้างอิงสำหรับการศึกษาต่อไป:
หน้าวิกิพีเดียสำหรับกรณีการใช้งาน , เรื่องของผู้ใช้ , สถานการณ์การใช้งาน
บล็อกฟาวเลอร์มาร์ตินในกรณีการใช้งาน , เรื่องของผู้ใช้ , สถานการณ์การใช้งาน