420 likes | 588 Views
Bugday 2011. The most wanted tester (in agile project) รักนะ... tester. Nattanicha Rittammanart Agile evangelist , Proteus Technologies Twitter: @ nattyait. About speaker. M.Sc (Software Engineering) from AIT Project manager @ Haadthip Public Company Limited
E N D
Bugday 2011 The most wanted tester(in agile project)รักนะ...tester NattanichaRittammanart Agile evangelist, Proteus Technologies Twitter: @nattyait
About speaker • 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… Image: http://geekswithblogs.net/bcaraway/archive/2008/04/10/121167.aspx Agile team
Waterfall VS Agile http://blogs.webtrends.com/blog/2009/11/12/busy-summer-moving-from-waterfall-to-agile/
Agile cake http://www.agile66.com/blogs/2010/03/15/agile-and-interdisciplinary/
The Bucket Metaphor Iteration Length ขนาดของที่ตัก User Stories อยู่สูงกว่า priority เยอะกว่า Velocity ปริมาณเฉลี่ยที่ตักทรายได้ในแต่ละครั้ง Release Length เวลาที่ตักทรายออกโดยใช้ที่ตักอันนี้ A Release
ว่ากันว่า Agile ต้องมีการเขียน code เพื่อเทส.... ยังงัย??
Unit test http://www.javaranch.com/journal/200603/EvilUnitTests.html
เปลี่ยนมาใช้ Agile แล้ว Tester ก็ตกงานหมดสิ Waterfall Agile: ไม่มี Testing phase Bunch of test !!!! 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 ไม่ใช่เอกสารของระบบ • “สีเขียว” ของ unit test ที่ผ่านหมด ไม่ได้แปลว่าระบบทำงานได้ดี • เชื่อใน mocking ใน unit test เป็นสิ่งที่ผิด • Unit test ที่รันช้า ก็ไม่มีความหมาย
Waterfall: Tester vs. Developer • Developer: พัฒนา Product ส่งให้ tester, ทำตาม requirement ตามเอกสาร, ไม่มี unit test, เกลียด tester เพราะรู้สึกว่า ชอบทำอะไรที่คนปกติเค้าไม่ทำกัน • Tester: ทดสอบ Product ที่มาจากการพัฒนา, ทำอย่างไรก็ได้ให้พัง, เจอ bug เยอะยิ่งเก่ง, เกลียด developer เวลาทำชุ่ยๆ
Agile: Tester vs. Developer • Developer: พัฒนา product ตาม requirement ที่เคยตกลงกันกับทีม รวมถึง tester ด้วย, รับ feedback อย่างต่อเนื่องจากาการเทส, ช่วยเหลือ tester เวลา test • Tester: test feature ร่วมวางแผน requirement, เขียน test plan ที่มีประโยชน์กับ unit test/functional test, ทำ automated test, test story ตามที่ developer ทำเสร็จอย่างต่อเนื่อง
How to hang a picture http://simpleprogrammer.com/2010/03/02/how-to-hang-a-picture-agile-user-stories/
ทฤษฎีเยอะแยะ อ่านมาหมดละ...อยากจะ Agile บ้างอะไรบ้าง.. ทำยังงัย?
The role of testing • 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
Waterfall to Agile for a tester Iteration Backlog Review Planning Poker User story Scrum meeting Retrospective ReleasePlanning Meeting
Backlog มีส่วนช่วย Project manager ในการจัด priority ของงาน
User stories Story ID Description • Review story • Review exit criteria • หา unexpected behavior • Test case ของ story • Define test case • สร้าง Defect card/improvement card Notes Exit Criteria Story Points
User story ที่ใฝ่ฝัน • 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
User story: จะรักเธอเป็นพิเศษถ้า... BDD DSL: Domain specific language
Planning Poker เข้าร่วมการประชุมโหวต point ให้กับ story คาดคะเนระยะเวลาที่ใช้ test http://vbasedev.wordpress.com/2008/03/06/yoga-is-not-the-path-to-agility-planning-poker-is/planning-poker/
Release Planning Meeting • ร่วมวางแผน • หากมีการทำ test confirmation ของ story ไว้แล้ว นี่เป็นโอกาสดีที่จะให้ทั้งทีมร่วมทดสอบ • Goal?
Iteration Planning Meeting คาดคะเนว่าต้องใช้เวลาทดสอบเยอะแค่ไหนสำหรับ iteration นี้ และเป็นไปตามเป้าหมายหรือไม่ http://www.targetprocess.com/Product/Features/v26.aspx
Iteration • ทำ test script • Automated test (pair programming with developer) • Regression test • Manual test
Scrum meeting ตอบคำถามทำอะไรเสร็จแล้ว? กำลังทำอะไร? ติดปัญหาอะไร? http://agileworld.blogspot.com/2010/04/scrum-meeting-punishment-by-collecting.html
Burn down chart อัพเดท task บน burn down chart ดูความเคลื่อนไหว Push progress!!!
Review โชว์ของ !!! http://www.icamp.eu/page/4/
In sum, lovely tester (for me) is.. • รู้หน้าที่ใน 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 backlog Review BDD Planning meeting Planning poker
Reference • http://agilesoftwaredevelopment.com/blog/janusz-gorycki/your-unit-tests-are-useless • http://simpleprogrammer.com/2010/06/16/agile-testing-is-different/ • http://simpleprogrammer.com/2010/03/02/how-to-hang-a-picture-agile-user-stories/ • http://www.slideshare.net/jsonmez/internal-ds-ls-for-automated-functional-testing • http://www.io.com/~wazmo/papers/agile_testing_20021015.pdf • http://runningagile.com/2007/10/15/elisabeth-hendrickson-on-agile-testing/ • http://downloads.seapine.com/pub/papers/AgileDevMethodTesters.pdf