 Mae'n bwysig mewn cair, ac gwhaethau i'w meddwl, ac yn wir amnarrator Gwneud yn y ffordd y arddw i'r hanfodol i fyfodol o'r síg, a'r awr o arfer o'i cyffredinol iawn, ac yn y gweithredu yw'r ysgrffwch fel y tufynodau, ac hynny'n cael ei fod yn bethawodol i'r vin, a rwy'n ei bod yn dda i gael bows yna. Felly dechrau, Dyma'n Gweithredu. Dwi'n gwybod ni'n gweithredu. Rwy'n gweithredu. is co-authored this book, and my job is to rant at people. I'm buttered out, Janet Graham. I work at studios as well. I'm a developer. Recently I've been playing more of a product on a role, but that's just the past few months. I've been with Allwoods for about 11 years now, and most of that I've been doing writing code as either a job or a movie developer. I'm working with some pretty big, hairy automation test speeds as a part of that, so that's me. Come and sit at the front, and then we don't have to shout so loud. So we're going to talk today about how to create high quality acceptance tests, but more importantly how to make your acceptance test suite maintainable, because it's one thing to create acceptance test suites. Keeping them maintainable over time at reasonable cost is the hard bit, it turns out. All the problems ultimately, the practices and principles to achieve this are well known, but they're hard. What particularly is difficult is cultural stuff and team stuff, so we'll be addressing that because that's really important. Then finally there'll be a section on managing test data, because test data is often complex and poorly understood. So if you only take away four things today, they should be this. Qualities, everybody's responsibility. The quality is not the responsibility of the testers, it's everyone's responsibility. Test suites that are maintainable are created and curated continuously by developers and testers and customers, in fact, working collaboratively throughout the lifecycle of the project. You need to treat your test code with the same love and care and attention as your production code. Finally, taking story-level tests and automating them is not a good basis for creating a suite that's maintainable, automated acceptance test suite. So who's seen this diagram? Okay, a few of you. So Brian Marrick just divided tests up along two axes, whether they support programming or whether they critique the project on one axis, on the other axis whether they're technology-facing and business-facing, and all the kinds of tests you could possibly run fall into this quadrant. So at the bottom left, technology-facing tests that support programming are your unit tests, your system tests. These are tests written by developers to validate that the system, that the code they're writing behaves in the way they expect. The only way that I know to create maintainable suites of unit tests is through testing and development.