แนวทางการพัฒนาซอฟต์แวร์โดยการใช้ตัวอย่าง

บันทึกการเรียนที่ 4/2020

Netty Chutibuat
WeLoveBug dot Com
2 min readJan 29, 2020

--

วันนี้กลับแล้วกับการแป่งปันความรู้เล็กน้อย จากการเรียน 3 Days Agile Testing for the Whole Team กันนะคะ วันนี้นำเหนอในเรื่อง แนวทางการพัฒนา Sooftware ด้วยการใช้ตัวอย่าง

หลายคนสงสัย พัฒนาโดยใช้ตัวอย่าง มันอิหยั่งวะ ถ้าพูดถึง ATDD, BDD, SBE จะอ๋อกันมากขึ้นไหมคะ ?

อ่ะ ในการพัฒนา Software แบบง่ายๆ ที่เจอเยอะๆ ก็จะเป็น ทีมออกไปเก็บ Requirement กับลูกค้า กลับ Develop ส่งให้ทีม QA ทำการทดสอบ และถึงจะส่งมอบให้ลูกค้าใช่ไหมคะ? (จริงๆ ขั้นตอนมันเยอะกว่านี้แหละ แต่เน็ตขอรวบรัดตัดตอนหน่อยๆ) แล้วความจริงที่ทำให้น้ำตาไหลก็คือ ลูกค้าบอกว่าไม่ใช่จ้า ทำผิดนินา ที่ฉันบอกไป มันเป็น A + B = C แต่ที่เธอทำมามัน A + B = D นิ ฉันไม่รับแล้วเนื่องจากล่วงเลยเวลา ฉันปรับเธอตามสัญญาอีก (ฮื่อ เรื่องมันเศร้าเล่าจากประสบการณ์)

เพราะงั้นก็เลยเกิดแนวคิด วิธีการของ ATDD, BDD, SBE เหล่านี้เข้ามา เพื่อให้ทั้งทางทีมพัฒนาและลูกค้าเข้าใจจุดที่เราตรวจรับตรงกัน

ในบทความนี้ขอลงรายละเอียดส่วนของ ATDD นะคะ แต่ถ้าอยากรู้ทั้ง 3 ตัวสามารถอ่านเพิ่มเติมได้ที่ ATDD, BDD, SbE มันต่างกันอย่างไร ? ของพี่ปุ๋ยกันได้เลยค่ะ

What is ATDD Framework

ATDD ย่อมาจากอะไร ATDD ย่อมาจาก Acceptance Test Driven Development คือการที่ลูกค้าบอก Requirement เราว่าเขาน่ะ อยากได้อะไรบ้าง และทำการคุยกันออกมาจนได้ออกมาเป็น Story โดย Story ทั้งหมดจะอยู่ใน Backlog ก่อน และทีม Business ถึงจะเรียงว่า เอาอะไรทำในรอบการทำงานที่เท่าไหร่

โดยที่เราอย่าลืมว่า ในแต่ละ Story เราต้องมีข้อมูล การทดสอบเพื่อการตรวจรับ ว่าเรานั้นแต่ละ Scenario จะเป็นยังไงใช้ข้อมูลอะไรบ้าง จะมี Bussiness Flow กำกับ และต้องอย่าลืม ผลลัพธ์ในการทำการทดสอบว่า กรอกแบบนี้ไปจะแสดง ให้เห็นข้อความนี้เท่านั้น ซึ่งก็ทำให้เห็น Bussiness Codition ในแต่ละข้อชัดเจนมากขึ้น โปรดอย่าลืมว่า ข้อมูลที่ทำมาใช้ต้องเป็นข้อมูลเสมือนใช้งานจริง (Like Production) และแต่ละการทดสอบต้องไม่ใช้ข้อมูลซ้ำซ้อนกันนะคะ

ถัดไป Developer ก็จะทำการแตก Task งานจากในแต่ละ Story นั้นๆ ว่ามีอะไรบ้าง พอมีตัวอย่างที่ชัดเจน คุณ Devloper ก็สามารถทำการพัฒนาได้ง่ายเพราะเห็นทุกอย่างชัดเจนว่าต้องมีเงื่อนไขอะไรบ้าง ทุกคนเห็นภาพตรงกันหมดว่าเงื่อนไขมีแค่ไหน หลังจากที่ทีมพัฒนาได้ทำการพัฒนาและทดสอบเรียบร้อยแล้ว จึงส่งมอบงานให้ลูกค้าทีนี้ก็จะไม่มีดราม่าว่า อ่าวผลลัพธ์ไม่ใช่แบบนี้ เพราะว่าเราได้กำหนดร่วมกันเรียบร้อยพร้อมทั้งมีตัวอย่างข้อมูลให้เห็นชัดเจน นอกเสียจากว่า Bussiness จะเข้าใจอะไรผิดไป

Photo by Aziz Acharki on Unsplash

น้องของยกตัวอย่าง Acceptance Test เพื่อให้ทุกคนเห็นภาพชัดขึ้นนะคะ เป็นหน้าของการ Login โดยกรอก 2 Fields คือ Username และ Password โดยจำเป็นต้องกรอกถูกเท่านั้น ตัวอย่างก็จะประมาณนี้

สิ่งนี้คือข้อมูลที่เน็ตได้เรียนมานะคะ และอ่านเพิ่มเติม ที่มาอยู่ข้างล่างเดี๋ยวแปะลิ้งค์ให้ท้ายคลิป อิอิ ยังไงก็สามารถแนะนำติชมได้ทั้งผ่านทางช่องทางคอมเม้นต์ด้านล่างหรือว่า เลือกที่จะคอมเม้นในบทความได้เลย หลายอย่างบางคนอาจจะยังไม่เข้าใจ ทักมาถามส่วนตัวได้นะ ทางเราแนบลิ้งค์ FB ไว้ที่ Profile แล้ว ขายเก่งขนาดนี้ สามสี่บทความที่ผ่านมาไม่มีคอมเม้น หรือข้อความ FB เลยแม่ 😭

สุดท้ายนี้อยากบอกว่า ชอบกด Claps 👏🏻 ใช่กดแชร์ ♿︎ รักเน็ตกด Follow เน็ตด้วยนะต๊ะ 💖 สรุปคน unfollow กันโหม้ด 5555555555

คิดถึงนะ 💕

SadTom

ชัลจาโยนะคะ ♡♡♡

ขอบคุณที่มา : เอกสารประกอบการสอน Agile Testing for the Whole Team
ข้อมูลเพิ่มเติม : ATDD, BDD, SbE มันต่างกันอย่างไร ?
ใครที่สนใจเข้าเรียน จิ้มเลย มีรายละเอียดพร้อมมาก 3 Days Agile Testing for the Whole Team Batch 1/2020

--

--