Bugday 2011 Nattanicha Rittammanart Agile evangelist Agile evangelist, Proteus
M.Sc (Software Engineering) from AIT Project Haadthip Public Company Limited Adjunct RMUTT Agile Proteus Technologies 1 ในผู้แปล Agile GreanPress
Image: Agile team
A Release User Stories อยู่สูงกว่า priority เยอะกว่า Iteration Length ขนาดของที่ตัก Velocity ปริมาณเฉลี่ยที่ตักทรายได้ ในแต่ละครั้ง Release Length เวลาที่ตักทรายออกโดย ใช้ที่ตักอันนี้
I.N.V.E.S. T Waterfall Agile: ไม่มี Testing phase Independent, Negotiable, Valuable, Estimable, Testable code doesn't do much but it does and we can test Bunch of test !!!!
Unit test ไม่ใช่เอกสารของระบบ “ สีเขียว ” ของ unit test ที่ผ่านหมด ไม่ได้ แปลว่าระบบทำงานได้ดี เชื่อใน mocking ใน unit test เป็นสิ่งที่ผิด Unit test ที่รันช้า ก็ไม่มีความหมาย
Developer: พัฒนา Product ส่งให้ tester, ทำตาม requirement ตามเอกสาร, ไม่มี unit test, เกลียด tester เพราะรู้สึกว่า ชอบทำอะไรที่คนปกติเค้าไม่ทำ กัน Tester: ทดสอบ Product ที่มาจากการพัฒนา, ทำ อย่างไรก็ได้ให้พัง, เจอ bug เยอะยิ่งเก่ง, เกลียด developer เวลาทำชุ่ยๆ
Developer: พัฒนา product ตาม requirement ที่เคยตกลง กันกับทีม รวมถึง tester ด้วย, รับ feedback อย่างต่อเนื่องจา กาการเทส, ช่วยเหลือ tester เวลา test Tester: test feature ร่วม วางแผน requirement, เขียน test plan ที่มีประโยชน์กับ unit test/functional test, ทำ automated test, test story ตามที่ developer ทำเสร็จ อย่างต่อเนื่อง
Testing is the headlights of the project ! Where are you now? Where do you headed? Testing provides information to the team ! This allows the team to make informed decisions A “bug” is anything that could bug a user ! Testers don’t make the final call Testing does not assure quality ! The team does (or doesn’t) Testing is not a game of “gotcha” ! Find ways
Backlog User story Planning Poker Release Planning Meeting Iteration Scrum meeting Review Retrospective
มีส่วนช่วย Project manager ในการจัด priority ของ งาน
Review story Review exit criteria หา unexpected behavior Test case ของ story Define test case สร้าง Defect card/improvement card Story ID Story Points NotesNotes Exit Criteria DescriptionDescription
User stories ที่มี edge cases User stories ที่มีเจตนามืด Stories that aren’t for the users Infrastructural stories – เช่น loading the DB for setup Unexpected / unconsidered quality criteria Consequences after time / under load - ผลที่ ตามมา Experiments, rather than stories – like thought experiments? -- Spike -Bugs that need fixing, but can’t be fixed right now
BDD DSL: Domain specific language
เข้าร่วมการประชุมโหวต point ให้กับ story คาดคะเนระยะเวลาที่ใช้ test
ร่วมวางแผน หากมีการทำ test confirmation ของ story ไว้แล้ว นี่ เป็นโอกาสดีที่จะให้ทั้งทีมร่วมทดสอบ Goal?
คาดคะเนว่าต้องใช้เวลาทดสอบเยอะแค่ไหน สำหรับ iteration นี้ และเป็นไปตามเป้าหมายหรือไม่
ทำ test script Automated test (pair programming with developer) Regression test Manual test
ตอบคำถาม ทำอะไรเสร็จ แล้ว ? กำลังทำอะไร ? ติดปัญหา อะไร ?
อัพเดท task บน burn down chart ดูความเคลื่อนไหว Push progress!!!
โชว์ของ !!!
รู้หน้าที่ใน agile project ทำ automation test เขียน test case แบบ BDD ได้ ให้ feed back เร็ว Focus ที่จะทำให้ลูกค้ามีความสุข ไม่ใช่แค่เทส ให้ผ่าน exit criteria ไม่ทำตัวเป็นผู้เฝ้าประตู แต่เป็น quality coach ของทีม erased the words “QA person” and “Developer” and replaced them with “Team”
Automate test User story BDD Planning poker Review backlog Planning meeting
gorycki/your-unit-tests-are-useless gorycki/your-unit-tests-are-useless is-different/ is-different/ a-picture-agile-user-stories/ a-picture-agile-user-stories/ automated-functional-testing automated-functional-testing 15.pdf 15.pdf hendrickson-on-agile-testing/ hendrickson-on-agile-testing/ odTesters.pdf odTesters.pdf