Bugday 2011 Nattanicha Rittammanart Agile evangelist, Proteus Technologies Twitter: @nattyait M.Sc (Software Engineering) from AIT Project manager @ Haadthip Public Company Limited Adjunct Lecturer @PSU, RMUTT Agile evangelist @ Proteus Technologies 1 ในผูแ้ ปล Agile Samurai @ GreanPress Agile team Image: http://geekswithblogs.net/bcaraway/archive/2008/04/10/121167.aspx http://blogs.webtrends.com/blog/2009/11/12/busy-summer-moving-from-waterfall-to-agile/ http://www.agile66.com/blogs/2010/03/15/agile-and-interdisciplinary/ Iteration Length User Stories อยูส่ งู กว่า priority เยอะ กว่า ขนาดของที่ตกั Velocity ปริมาณเฉลี่ยที่ตกั ทรายได้ ในแต่ละครัง้ Release Length เวลาที่ตกั ทรายออกโดยใช้ ที่ตกั อันนี ้ A Release http://www.javaranch.com/journal/200603/EvilUnitTests.html Waterfall Bunch of test !!!! Agile: ไม่มี Testing phase I.N.V.E.S.T Independent, Negotiable, Valuable, Estimable, Testable code doesn't do much but it does and we can test http://www.cinterviews.com/2009/11/software-development-models-waterfall.html http://www.flickr.com/photos/jakuza/2728096478/sizes/s/in/photostream/ 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 ทาเสร็จอย่าง ต่อเนื่อง http://simpleprogrammer.com/2010/03/02/how-to-hang-a-picture-agile-user-stories/ 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 Iteration Backlog Review Planning Poker User story Scrum meeting Release Planning Meeting Retrospective มีส่วนช่วย Project manager ในการจัด priority ของงาน Story ID Description Exit Criteria Story Points Notes •Review story •Review exit criteria •หา unexpected behavior •Test case ของ story •Define test case •สร้าง Defect card/improvement card 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 http://vbasedev.wordpress.com/2008/03/06/yoga-is-not-the-path-to-agility-planning-poker-is/planning-poker/ •ร่วมวางแผน •หากมีการทา test confirmation ของ story ไว้แล้ว นี่เป็ นโอกาสดีทจ่ี ะให้ ทัง้ ทีมร่วมทดสอบ •Goal? คาดคะเนว่าต้องใช้เวลาทดสอบเยอะแค่ไหนสาหรับ iteration นี้ และเป็ นไปตามเป้ าหมายหรือไม่ http://www.targetprocess.com/Product/Features/v26.aspx •ทา test script •Automated test (pair programming with developer) •Regression test •Manual test ตอบคำถำม ทาอะไรเสร็จแล ้ว? กาลังทาอะไร? ติดปัญหาอะไร? http://agileworld.blogspot.com/2010/04/scrum-meeting-punishment-by-collecting.html อัพเดท task บน burn down chart ดูความเคลือ่ นไหว Push progress!!! โชว์ของ !!! http://www.icamp.eu/page/4/ รูห้ น้าทีใ่ น 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” http://agilesoftwaredevelopment.com/blog/januszgorycki/your-unit-tests-are-useless http://simpleprogrammer.com/2010/06/16/agile-testingis-different/ http://simpleprogrammer.com/2010/03/02/how-to-hanga-picture-agile-user-stories/ http://www.slideshare.net/jsonmez/internal-ds-ls-forautomated-functional-testing http://www.io.com/~wazmo/papers/agile_testing_200210 15.pdf http://runningagile.com/2007/10/15/elisabethhendrickson-on-agile-testing/ http://downloads.seapine.com/pub/papers/AgileDevMeth odTesters.pdf