Software testing and verification Books
Pearson Education (US) Clean Craftsmanship
Book SynopsisRobert C. Martin (Uncle Bob) wrote his first line of code at the age of 12 in 1964 and has been employed as a programmer since 1970. He is cofounder of cleancoders.com, offering online video training for software developers, and is founder of Uncle Bob Consulting LLC, offering software consulting, training, and skill development services to major corporations worldwide. He served as the Master Craftsman at 8th Light, Inc., a Chicago-based software consulting firm. Mr. Martin has published dozens of articles in various trade journals, authored many books, and is a regular speaker at international conferences and trade shows.Trade Review"Bob's Clean Craftsmanship has done a great job explaining the purposes of agile technical practices, along with a deep historical basis for how they came into existence, as well as positioning for why they will always be important. His involvement in history and formation of agility, thorough understanding of practices, and their purposes reflect vividly throughout the manuscript." —Tim Ottinger, well-known Agile Coach and author "Bob's writing style is excellent. It is easy to read and the concepts are explained in perfect detail for even a new programmer to follow. Bob even has some funny moments, which pleasantly snap you out of focus. The true value of the book is really in the cry for change, for something better . . . the cry for programmers to be professional . . . the realization that software is everywhere. Additionally, I believe there is a lot of value in all the history Bob provides. I enjoy that he doesn't waste time laying blame for how we got to where we are now. Bob calls people to action, asking them to take responsibility by increasing their standards and level of professionalism, even if that means pushing back sometimes." —Heather Kanser "As software developers, we have to continually solve important problems for our employers, customers, colleagues, and future selves. Getting the app to work, though difficult, is not enough, it does not make you a craftsman. With an app working, you have passed the app-titude test. You may have the aptitude to be a craftsman, but there is more to master. In these pages, Bob expresses clearly the techniques and responsibilities to go beyond the app-titude test and shows the way of the serious software craftsman." —James Grenning, author of Test-Driven Development for Embedded C and Agile Manifesto co-author "Bob's one of the very few famous developers with whom I'd like to work on a tech project. It's not because he's a good developer, famous, or a good communicator; it's because Bob helps me be a better developer and a team member. He has spotted every major development trend, years ahead of others, and has been able to explain its importance, which encouraged me to learn. Back when I started--apart from being honest and a good person--the idea of craftsmanship and ethics was completely missing from this field. Now, it seems to be the most important thing professional developers can learn, even ahead of coding itself. I'm happy to see Bob leading the way again. I can't wait to hear his perspective and incorporate it into my own practice." —Daniel Markham, Principal, Bedford Technology Group, Inc. Table of ContentsForeword xviiPreface xxiAcknowledgments xxviiAbout the Author xxix Chapter 1: Craftsmanship 1Part I: The Disciplines 11 Extreme Programming 13 Test-Driven Development 15 Refactoring 16 Simple Design 17 Collaborative Programming 17 Acceptance Tests 18 Chapter 2: Test-Driven Development 19 Overview 20 The Basics 35 Conclusion 79 Chapter 3: Advanced TDD 81 Sort 1 82 Sort 2 87 Getting Stuck 95 Arrange, Act, Assert 103 Test Doubles 108 Architecture 143 Conclusion 145 Chapter 4: Test Design 147 Testing Databases 148 Testing GUIs 150 Test Patterns 154 Test Design 160 Transformation Priority Premise 184 Conclusion 196 Chapter 5: Refactoring 197 What Is Refactoring? 199 The Basic Toolkit 200 The Disciplines 217 Conclusion 221 Chapter 6: Simple Design 223 YAGNI 226 Covered by Tests 228 Maximize Expression 233 Minimize Duplication 237 Minimize Size 239 Chapter 7: Collaborative Programming 241Chapter 8: Acceptance Tests 245 The Discipline 248 The Continuous Build 249 Part II: The Standards 251 Your New CTO 252 Chapter 9: Productivity 253 We Will Never Ship S**T 254 Inexpensive Adaptability 256 We Will Always Be Ready 258 Stable Productivity 259 Chapter 10: Quality 261 Continuous Improvement 262 Fearless Competence 263 Extreme Quality 264 We Will Not Dump on QA 265 QA Will Find Nothing 266 Test Automation 267 Automated Testing and User Interfaces 268 Testing the User Interface 269 Chapter 11: Courage 271 We Cover for Each Other 272 Honest Estimates 274 You Must Say NO 276 Continuous Aggressive Learning 277 Mentoring 278 Part III: The Ethics 279 The First Programmer 280 Seventy-Five Years 281 Nerds and Saviors 286 Role Models and Villains 289 We Rule the World 290 Catastrophes 291 The Oath 293 Chapter 12: Harm 295 First, Do No Harm 296 Best Work 306 Repeatable Proof 316 Chapter 13: Integrity 327 Small Cycles 328 Relentless Improvement 342 Maintain High Productivity 346 Chapter 14: Teamwork 355 Work as a Team 356 Estimate Honestly and Fairly 358 Respect 372 Never Stop Learning 373 Index 375
£30.39
Pearson Education (US) Working Effectively with Legacy Code
Book SynopsisMICHAEL C. FEATHERS works for Object Mentor, Inc., one of the world's top providers of mentoring, skill development, knowledge transfer, and leadership services in software development. He currently provides worldwide training and mentoring in Test-Driven Development (TDD), Refactoring, OO Design, Java, C#, C++, and Extreme Programming (XP). Michael is the original author of CppUnit, a C++ port of the JUnit testing framework, and FitCpp, a C++ port of the FIT integrated-testing framework. A member of ACM and IEEE, he has chaired CodeFest at three OOPSLA conferences. Copyright Pearson Education. All rights reserved.Table of Contents I. THE MECHANICS OF CHANGE. 1. Changing Software. 2. Working with Feedback. 3. Sensing and Separation. 4. The Seam Model. 5. Tools. II. CHANGING SOFTWARE. 6. I Don’t Have Much Time and I Have To Change It. 7. It Takes Forever To Make a Change. 8. How Do I Add a Feature? 9. I Can’t Get This Class into a Test Harness. 10. I Can’t Run This Method into a Test Harness. 11. I Need to Make a Change. What Methods Should I Test? 12. I Need to Make Many Changes In One Area Do I Have To Break. 13. I Need To Make a Change but I Don’t Know What Tests To Write. 14. Dependencies on Libraries Are Killing Me. 15. My Application Is All API Calls. 16. I Don’t Understand the Code Well Enough To Change It. 17. My Application Has No Structure. 18. My Test Code Is in the Way. 19. My Project Is Not Object-Oriented. How Do I Make Safe Changes? 20. This Class Is Too Big and I Don’t Want It to Get Any Bigger. 21. I’m Changing The Same Code All Over the Place. 22. I Need To Change a Monster Method and I Can’t Write Tests for It. 23. How Do I Know That I’m Not Breaking Anything? 24. We Feel Overwhelmed. It Isn’t Going To Get Any Better. III. DEPENDENCY BREAKING TECHNIQUES. 25. Dependency Breaking Techniques. Appendix: Refactoring. Glossary.
£43.19
Pearson Education (US) Test Driven Development
Book SynopsisKent Beck consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles.Table of Contents Preface. Acknowledgments. Introduction. I. THE MONEY EXAMPLE. 1. Multi-Currency Money. 2. Degenerate Objects. 3. Equality for All. 4. Privacy. 5. Franc-ly Speaking. 6. Equality for All, Redux. 7. Apples and Oranges. 8. Makin' Objects. 9. Times We're Livin' In. 10. Interesting Times. 11. The Root of All Evil. 12. Addition, Finally. 13. Make It. 14. Change. 15. Mixed Currencies. 16. Abstraction, Finally. 17. Money Retrospective. II. The xUnit Example. 18. First Steps to xUnit. 19. Set the Table. 20. Cleaning Up After. 21. Counting. 22. Dealing with Failure. 23. How Suite It Is. 24. xUnit Retrospective. III. Patterns for Test-Driven Development. 25. Test-Driven Development Patterns. 26. Red Bar Patterns. 27. Testing Patterns. 28. Green Bar Patterns. 29. xUnit Patterns. 30. Design Patterns. 31. Refactoring. 32. Mastering TDD. Appendix I: Influence Diagrams. Appendix II: Fibonacci. Afterword. Index. 0321146530T10172002
£33.29
O'Reilly Media Security Architecture for Hybrid Cloud
Book Synopsis
£35.99
The Pragmatic Programmers Your Code as a Crime Scene, Second Edition: Use
Book SynopsisJack the Ripper and legacy codebases have more in common than you'd think. Inspired by forensic psychology methods, you can apply strategies to identify problems in your existing code, assess refactoring direction, and understand how your team influences the software architecture. With its unique blend of criminal psychology and code analysis, Your Code as a Crime Scene arms you with the techniques you need to take on any codebase, no matter what programming language you use. Software development might well be the most challenging task humanity ever attempted. As systems scale up, they also become increasingly complex, expensive to maintain, and difficult to reason about. We can always write more tests, try to refactor, and even fire up a debugger to understand complex coding constructs. That's a great starting point, but you can do so much better. Take inspiration from forensic psychology techniques to understand and improve existing code. Visualize codebases via a geographic profile from commit data to find development hotspots, prioritize technical debt, and uncover hidden dependencies. Get data and develop strategies to make the business case for larger refactorings. Detect and fix organizational problems from the vantage point of the software architecture to remove bottlenecks for the teams. The original Your Code as a Crime Scene from 2014 pioneered techniques for understanding the intersection of people and code. This new edition reflects a decade of additional experience from hundreds of projects. Updated techniques, novel case studies, and extensive new material adds to the strengths of this cult classic. Change how you view software development and join the hunt for better code! What You Need: You need to be comfortable reading code. You also need to use Git (or Subversion, Mercurial or similar version-control tool).
£40.84
Pearson Education (US) Clean Agile
Book SynopsisRobert C. Martin (Uncle Bob) has been a programmer since 1970. He is cofounder of cleancoders.com, which offers online video training for software developers, and is founder of Uncle Bob Consulting LLC, which offers software consulting, training, and skill development services to major corporations worldwide. Previously, he served as the Master Craftsman at 8th Light Inc., a Chicago-based software consulting firm for three years, as editor-in-chief of the C++ Report, and as the first chairperson of the Agile Alliance. Mr. Martin has published dozens of articles in various trade journals and is a regular speaker at international conferences and trade shows. He has written and edited many books, including Clean Code, The Clean Coder, and Clean Architecture (all from Pearson).Table of Contents Chapter 1: Introduction to Agile Chapter 2: The Reasons for Agile Chapter 3: Business Practices Chapter 4: Team Practices Chapter 5: Technical Practices Chapter 6: Becoming Agile Chapter 7: Craftsmanship Chapter 8: Conclusion
£28.79
John Wiley & Sons Inc Managing the Testing Process
Book SynopsisNew edition of one of the most influential books on managing software and hardware testing In this new edition of his top-selling book, Rex Black walks you through the steps necessary to manage rigorous testing programs of hardware and software. The preeminent expert in his field, Mr. Black draws upon years of experience as president of both the International and American Software Testing Qualifications boards to offer this extensive resource of all the standards, methods, and tools you''ll need. The book covers core testing concepts and thoroughly examines the best test management practices and tools of leading hardware and software vendors. Step-by-step guidelines and real-world scenarios help you follow all necessary processes and avoid mistakes. Producing high-quality computer hardware and software requires careful, professional testing; Managing the Testing Process, Third Edition explains how to achieve that by following a disciplined seTable of ContentsIntroduction xxiii Chapter 1 Defining What’s on Your Plate: The Foundation of a Test Project 1 Chapter 2 Plotting and Presenting Your Course: The Test Plan 49 Chapter 3 Test System Architecture, Cases, and Coverage 79 Chapter 4 An Exciting Career in Entomology Awaits You: A Bug-Tracking Database 145 Chapter 5 Managing Test Cases: The Test-Tracking Spreadsheet 199 Chapter 6 Tips and Tools for Crunch Mode: Managing the Dynamic 257 Chapter 7 Stocking and Managing a Test Lab 293 Chapter 8 Staffing and Managing a Test Team 319 Chapter 9 The Triumph of Politics: Organizational Challenges for Chapter 10 Involving Other Players: Distributed Testing, outsourcing, and related topics 421 Chapter 11 Economics of Testing: Fiscal Context 475 Chapter 12 Testing Implications of Project and Process: Situational Context 497 Appendix A Hardware Testing Fundamentals: An Introduction for Software Testing Professionals 553 Appendix B Omninet: The Internet Everywhere Marketing Requirements Document 567 Appendix C Omninet: The Internet Everywhere System Requirements Document 575 Appendix D Bibliography, Related Readings, and Other Resources 591 Glossary 601 Index 613
£27.99
Pearson Education (US) How Google Tests Software
Book SynopsisJames Whittaker is an engineering director at Google and has been responsible for testing Chrome, maps, and Google web apps. He used to work for Microsoft and was a professor before that. James is one of the best-known names in testing the world over. Jason Arbon is a test engineer at Google and has been responsible for testing Google Desktop, Chrome, and Chrome OS. He also served as development lead for an array of open-source test tools and personalization experiments. He worked at Microsoft prior to joining Google. Jeff Carollo is a software engineer in test at Google and has been responsible for testing Google Voice, Toolbar, Chrome, and Chrome OS. He has consulted with dozens of internal Google development teams helping them improve initial code quality. He converted to a software engineer in 2010 and leads development of Google+ APIs. He also worked at Microsoft prior to joining Google. Table of Contents Chapter 1: Introduction to Google Software Testing Chapter 2: The Software Engineer in Test Chapter 3: The Test Engineer Chapter 4: The Test Engineering Manager Chapter 5: Improving How Google Tests Software Test Dashboarding
£26.54
No Starch Press,US From Day Zero to Zero Day
Book Synopsis
£40.49
The Pragmatic Programmers Explore It!
Book SynopsisUncover surprises, risks, and potentially serious bugs with exploratory testing. Rather than designing all tests in advance, explorers design and execute small, rapid experiments, using what they learned from the last little experiment to inform the next. Learn essential skills of a master explorer, including how to analyze software to discover key points of vulnerability, how to design experiments on the fly, how to hone your observation skills, and how to focus your efforts. Software is full of surprises. No matter how careful or skilled you are, when you create software it can behave differently than you intended. Exploratory testing mitigates those risks. Part 1 introduces the core, essential skills of a master explorer. You'll learn to craft charters to guide your exploration, to observe what's really happening (hint: it's harder than it sounds), to identify interesting variations, and to determine what expected behavior should be when exercising software in unexpected ways. Part 2 builds on that foundation. You'll learn how to explore by varying interactions, sequences, data, timing, and configurations. Along the way you'll see how to incorporate analysis techniques like state modeling, data modeling, and defining context diagrams into your explorer's arsenal. Part 3 brings the techniques back into the context of a software project. You'll apply the skills and techniques in a variety of contexts and integrate exploration into the development cycle from the very beginning. You can apply the techniques in this book to any kind of software. Whether you work on embedded systems, Web applications, desktop applications, APIs, or something else, you'll find this book contains a wealth of concrete and practical advice about exploring your software to discover its capabilities, limitations, and risks.
£21.84
The Pragmatic Programmers A Scrum Book
Book SynopsisBuilding a successful product usually involves teams of people, and many choose the Scrum approach to aid in creating products that deliver the highest possible value. Implementing Scrum gives teams a collection of powerful ideas they can assemble to fit their needs and meet their goals. The ninety-four patterns contained within are elaborated nuggets of insight into Scruma (TM)s building blocks, how they work, and how to use them. They offer novices a roadmap for starting from scratch, yet they help intermediate practitioners fine-tune or fortify their Scrum implementations. Experienced practitioners can use the patterns and supporting explanations to get a better understanding of how the parts of Scrum complement each other to solve common problems in product development. The patterns are written in the well-known Alexandrian form, whose roots in architecture and design have enjoyed broad application in the software world. The form organizes each pattern so you can navigate directly to organizational design tradeoffs or jump to the solution or rationale that makes the solution work. The patterns flow together naturally through the context sections at their beginning and end. Learn everything you need to know to master and implement Scrum one step at a time'the agile way.
£49.39
Manning Publications Art of Unit Testing, The
Book SynopsisThe Art of Unit Testing, Third Edition updates an international bestseller to reflect modern development tools and practices. This expanded edition teaches you to write unit tests for async and observable code, as well as methods of faking functions, modules and refactorings. You'll explore test patterns and organization, working with legacy code, and even "untestable" code. The many tool-agnostic examples are presented in JavaScript, and are carefully designed so that they apply to code written in any language. about the technology Unit testing is a universally-adopted practice on dev teams of all sizes. Great developers will tell you that testing is as much a state of mind as a collection of tools and practices. The Art of Unit Testing, Third Edition takes you below the surface and understand how unit testing can transform the way you deliver and maintain software. Now with examples in JavaScript, this new edition has been updated to reflect the characteristics of a modern codebase, including async and modularized, distributed services. The practices and patterns you'll learn can also be easily applied to other languages, including C#, Java, and Python. about the book The Art of Unit Testing, Third Edition guides you step by step from your first simple unit tests to building complete test sets that are maintainable, readable, and trustworthy. Now with examples using JavaScript and Node, this expanded third edition teaches you to write unit tests for async and observable code, as well as methods of faking functions, modules and refactorings. You'll get to grips with complex subjects such as mocks and stubs, explore how to handle tricky legacy codebases, and save yourself time with tests that function for both frontend and backend applications. The Art of Unit Testing, Third Edition is an essential guide for any unit tester who wants to feel confident writing code that's easier to create, maintain, and adapt.Trade Review"A book that is seeing a third release must be awesome and this book certainly is." - Sander Zegveld "A didactic and entertaining approach to learning the intricacies of unit testing. Gives the the reader a solid mental framework to work with." - Adriaan Beiertz "Previous editions of the book were widely regarded as one of the best books in Unit Testing. The decision to update it to include examples in JavaScript (according to most surveys, the most used programming language in the world) is a smart move, making the book more directly applicable to most programmers, regardless of their server-side stack." - Jaume Lopez "This book is a must read, for any one who would like to be a better javascript developer or wants to start integrating Unit-Tests into their development process. It is a great balance between technical background and hand on examples." - Charles Lam
£35.09
Rocky Nook Software Testing Foundations, 4th Edition: A
Book SynopsisProfessional testing of software is an essential task that requires a profound knowledge of testing techniques. The International Software Testing Qualifications Board (ISTQB) has developed a universally accepted, international qualification scheme aimed at software and system testing professionals, and has created the Syllabi and Tests for the "Certified Tester." Today about 300,000 people have taken the ISTQB certification exams. The authors of Software Testing Foundations, 4th Edition, are among the creators of the Certified Tester Syllabus and are currently active in the ISTQB. This thoroughly revised and updated fourth edition covers the "Foundations Level" (entry level) and teaches the most important methods of software testing. It is designed for self-study and provides the information necessary to pass the Certified Tester-Foundations Level exam, version 2011, as defined by the ISTQB. Also in this new edition, technical terms have been precisely stated according to the recently revised and updated ISTQB glossary. Topics covered: Fundamentals of Testing Testing and the Software Lifecycle Static and Dynamic Testing Techniques Test Management Test Tools Also mentioned are some updates to the syllabus that are due in 2015.
£36.10
Pearson Education (US) Agile Testing
Book SynopsisLisa Crispin is dedicated to helping agile teams and testers discover good ways to deliver the best possible product. She specializes in showing testers and agile teams how testers can add value and how to guide development with business-facing tests. Since 2003, she's been a tester on a Scrum/XP team at ePlan Services, Inc., and frequently leads tutorials and workshops on agile testing at conferences. Lisa regularly contributes articles about agile testing to publications such as Better Software magazine, I EEE Software, and Methods and Tools. Lisa also coauthored Testing Extreme Programming (Addison-Wesley, 2002) with Tip House. Janet Gregory is the founder of DragonFire, Inc., an agile quality process consultancy and training firm. Her passion is helping teams build quality systems. Since 1998, she has worked as a coach and tester introducing agile practices into both large and small companies. Her focus is working with business usTrade Review“As Agile methods have entered the mainstream, we’ve learned a lot about how the testing discipline fits into Agile projects. Lisa and Janet give us a solid look at what to do, and what to avoid, in Agile testing.” –Ron Jeffries, www.XProgramming.com “An excellent introduction to agile and how it affects the software test community!” –Gerard Meszaros, Agile Practice Lead and Chief Test Strategist at Solution Frameworks, Inc., an agile coaching and lean software development consultancy “In sports and music, people know the importance of practicing technique until it becomes a part of the way they do things. This book is about some of the most fundamental techniques in software development–how to build quality into code–techniques that should become second nature to every development team. The book provides both broad and in-depth coverage of how to move testing to the front of the development process, along with a liberal sprinkling of real-life examples that bring the book to life.” –Mary Poppendieck, Author of Lean Software Development and Implementing Lean Software Development “Refreshingly pragmatic. Chock-full of wisdom. Absent of dogma. This book is a gamechanger. Every software professional should read it.” –Uncle Bob Martin, Object Mentor, Inc. “With Agile Testing, Lisa and Janet have used their holistic sensibility of testing to describe a culture shift for testers and teams willing to elevate their test effectiveness. The combination of real-life project experiences and specific techniques provide an excellent way to learn and adapt to continually changing project needs.” –Adam Geras, M.Sc. Developer-Tester, Ideaca Knowledge Services “On Agile projects, everyone seems to ask, ‘But, what about testing?’ Is it the development team’s responsibility entirely, the testing team, or a collaborative effort between developers and testers? Or, ‘How much testing should we automate?’ Lisa and Janet have written a book that finally answers these types of questions and more! Whether you’re a tester, developer, or manager, you’ll learn many great examples and stories from the real-world work experiences they’ve shared in this excellent book.” –Paul Duvall, CTO of Stelligent and co-author of Continuous Integration: Improving Software Quality and Reducing Risk “Finally a book for testers on Agile teams that acknowledges there is not just one right way! Agile Testing provides comprehensive coverage of the issues testers face when they move to Agile: from tools and metrics to roles and process. Illustrated with numerous stories and examples from many contributors, it gives a clear picture of what successful Agile testers are doing today.” –Bret Pettichord, Chief Technical Officer of WatirCraft and Lead Developer of Watir Table of ContentsForeword by Mike Cohn xxiiiForeword by Brian Marick xxvPreface xxviiAcknowledgments xxxviiAbout the Authors xli Part I: Introduction 1Chapter 1: What Is Agile Testing, Anyway? 3 Agile Values 3 What Do We Mean by “Agile Testing”? 4 A Little Context for Roles and Activities on an Agile Team 7 How Is Agile Testing Different? 9 Whole-Team Approach 15 Summary 17 Chapter 2: Ten Principles for Agile Testers 19 What’s an Agile Tester? 19 The Agile Testing Mind-Set 20 Applying Agile Principles and Values 21 Adding Value 31 Summary 33 Part II: Organizational Challenges 35Chapter 3: Cultural Challenges 37 Organizational Culture 37 Barriers to Successful Agile Adoption by Test/QA Teams 44 Introducing Change 49 Management Expectations 52 Change Doesn’t Come Easy 56 Summary 58 Chapter 4: Team Logistics 59 Team Structure 59 Physical Logistics 65 Resources 66 Building a Team 69 Summary 71 Chapter 5: Transitioning Typical Processes 73 Seeking Lightweight Processes 73 Metrics 74 Defect Tracking 79 Test Planning 86 Existing Processes and Models 88 Summary 93 Part III: The Agile Testing Quadrants 95Chapter 6: The Purpose of Testing 97 The Agile Testing Quadrants 97 Knowing When a Story Is Done 104 Managing Technical Debt 106 Testing in Context 106 Summary 108 Chapter 7: Technology-Facing Tests that Support the Team 109 An Agile Testing Foundation 109 Why Write and Execute These Tests? 112 Where Do Technology-Facing Tests Stop? 119 What If the Team Doesn’t Do These Tests? 121 Toolkit 123 Summary 127 Chapter 8: Business-Facing Tests that Support the Team 129 Driving Development with Business-Facing Tests 129 The Requirements Quandary 132 Thin Slices, Small Chunks 144 How Do We Know We’re Done? 146 Tests Mitigate Risk 147 Testability and Automation 149 Summary 150 Chapter 9: Toolkit for Business-Facing Tests that Support the Team 153 Business-Facing Test Tool Strategy 153 Tools to Elicit Examples and Requirements 155 Tools for Automating Tests Based on Examples 164 Strategies for Writing Tests 177 Testability 183 Test Management 186 Summary 186 Chapter 10: Business-Facing Tests that Critique the Product 189 Introduction to Quadrant 3 190 Demonstrations 191 Scenario Testing 192 Exploratory Testing 195 Usability Testing 202 Behind the GUI 204 Testing Documents and Documentation 207 Tools to Assist with Exploratory Testing 210 Summary 214 Chapter 11: Critiquing the Product Using Technology-Facing Tests 217 Introduction to Quadrant 4 217 Who Does It? 220 When Do You Do It? 222 “ility” Testing 223 Performance, Load, Stress, and Scalability Testing 233 Summary 238 Chapter 12: Summary of Testing Quadrants 241 Review of the Testing Quadrants 241 A System Test Example 242 Tests Driving Development 244 Automation 245 Critiquing the Product with Business-Facing Tests 248 Documentation 251 Using the Agile Testing Quadrants 252 Summary 253 Part IV: Automation 255Chapter 13: Why We Want to Automate Tests and What Holds Us Back 257 Why Automate? 258 Barriers to Automation—Things that Get in the Way 264 Can We Overcome These Barriers? 270 Summary 271 Chapter 14: An Agile Test Automation Strategy 273 An Agile Approach to Test Automation 274 What Can We Automate? 279 What Shouldn’t We Automate? 285 What Might Be Hard to Automate? 287 Developing an Automation Strategy—Where Do We Start? 288 Applying Agile Principles to Test Automation 298 Supplying Data for Tests 304 Evaluating Automation Tools 311 Implementing Automation 316 Managing Automated Tests 319 Go Get Started 324 Summary 324 Part V: An Iteration in the Life of a Tester 327Chapter 15: Tester Activities in Release or Theme Planning 329 The Purpose of Release Planning 330 Sizing 332 Prioritizing 338 What’s in Scope? 340 Test Planning 345 Test Plan Alternatives 350 Preparing for Visibility 354 Summary 366 Chapter 16: Hit the Ground Running 369 Be Proactive 369 Advance Clarity 373 Examples 378 Test Strategies 380 Prioritize Defects 381 Resources 381 Summary 382 Chapter 17: Iteration Kickoff 383 Iteration Planning 383 Testable Stories 393 Collaborate with Customers 396 High-Level Tests and Examples 397 Summary 403 Chapter 18: Coding and Testing 405 Driving Development 406 Tests that Critique the Product 412 Collaborate with Programmers 413 Talk to Customers 414 Completing Testing Tasks 415 Dealing with Bugs 416 It’s All about Choices 419 Facilitate Communication 429 Regression Tests 432 Resources 434 Iteration Metrics 435 Summary 440 Chapter 19: Wrap Up the Iteration 443 Iteration Demo 443 Retrospectives 444 Celebrate Successes 449 Summary 451 Chapter 20: Successful Delivery 453 What Makes a Product? 453 Planning Enough Time for Testing 455 The End Game 456 Customer Testing 464 Post-Development Testing Cycles 467 Deliverables 468 Releasing the Product 470 Customer Expectations 475 Summary 476 Part VI: Summary 479Chapter 21: Key Success Factors 481 Success Factor 1: Use the Whole-Team Approach 482 Success Factor 2: Adopt an Agile Testing Mind-Set 482 Success Factor 3: Automate Regression Testing 484 Success Factor 4: Provide and Obtain Feedback 484 Success Factor 5: Build a Foundation of Core Practices 486 Success Factor 6: Collaborate with Customers 489 Success Factor 7: Look at the Big Picture 490 Summary 491 Glossary 493Bibliography 501Index 509
£40.04
Pearson Education (US) Exploratory Software Testing
Book SynopsisJames Whittaker has spent his career in software testing and has left his mark on many aspects of the discipline. He was a pioneer in the field of model-based testing, where his Ph.D. dissertation from the University of Tennessee stands as a standard reference on the subject. His work in fault injection produced the highly acclaimed runtime fault injection tool Holodeck, and he was an early thought leader in security and penetration testing. He is also well regarded as a teacher and presenter, and has won numerous best paper and best presentation awards at international conferences. While a professor at Florida Tech, his teaching of software testing attracted dozens of sponsors from both industry and world governments, and his students were highly sought after for their depth of technical knowledge in testing. Dr. Whittaker is the author of How to Break Software and its series follow-ups How to Break Software Security (with Hugh Thompson) and How to Break Web Software (with MikeTable of ContentsForeword by Alan Page xv Preface xvii Chapter 1 The Case for Software Quality 1 The Magic of Software 1 The Failure of Software 4 Conclusion 9 Exercises 9 Chapter 2 The Case for Manual Testing 11 The Origin of Software Bugs 11 Preventing and Detecting Bugs 12 Manual Testing 14 Conclusion 19 Exercises 20 Chapter 3 Exploratory Testing in the Small 21 So You Want to Test Software? 21 Testing Is About Varying Things 23 User Input 23 What You Need to Know About User Input 24 How to Test User Input 25 State 32 What You Need to Know About Software State 32 How to Test Software State 33 Code Paths 35 User Data 36 Environment 36 Conclusion 37 Exercises 38 Chapter 4 Exploratory Testing in the Large 39 Exploring Software 39 The Tourist Metaphor 41 “Touring” Tests 43 Tours of the Business District 45 Tours Through the Historical District 51 Tours Through the Entertainment District 52 Tours Through the Tourist District 55 Tours Through the Hotel District 58 Tours Through the Seedy District 60 Putting the Tours to Use 62 Conclusion 63 Exercises 64 Chapter 5 Hybrid Exploratory Testing Techniques 65 Scenarios and Exploration 65 Applying Scenario-Based Exploratory Testing 67 Introducing Variation Through Scenario Op
£33.24
Pearson Education (US) Experiences of Test Automation
Book SynopsisTrade Review“What you hold in your hands is a treasure trove of hard-won knowledge about what works and what doesn’t in test automation. It can save you untold hours and costs by steering you away from paths that lead nowhere and guiding you towards those that lead to success.” –Linda Hayes “From tools to methodology, Dorothy Graham and Mark Fewster weave a compelling set of stories that provide a learning experience in automation. This comprehensive tome is the first of its kind to take the reader deep into the world of automated testing, as depicted by case studies that show the realities of what happened across a multitude of projects spanning a wide variety of industries and technology environments. By identifying similarities and repeated themes, the authors help the reader focus on the essential learning lessons and pitfalls to avoid. Read this book cover to cover for inspiration and a realization of what it takes to ultimately succeed in test automation.” –Andrew L. Pollner, President & CEO of ALP International Corporation “Many years after their best-seller Software Test Automation, Mark Fewster and Dorothy Graham have done it again. Agile methodologies have given test automation a dominant presence in today’s testing practices. This is an excellent, highly practical book with many well-documented case studies from a wide range of perspectives. Highly recommended to all those involved, or thinking about getting involved, in test automation.” – Erik van Veenendaal, Founder of Improve Quality Services and vice-chair of TMMi Foundation “This book is like having a testing conference in your hand, with a wealth of case studies and insights. Except that this book is much cheaper than a conference, and you don’t have to travel for it. What impressed me in particular was that it is all tied together in a concise ‘chapter zero’ that efficiently addresses the various aspects I can think of for automation success. And that is something you will not get in a conference.” –Hans Buwalda “An exciting, well-written, and wide-ranging collection of case studies with valuable realworld experiences, tips, lessons learned, and points to remember from real automation projects. This is a very useful book for anyone who needs the evidence to show managers and colleagues what works–and what does not work–on the automation journey.” –Isabel Evans, FBCS CITP, Quality Manager, Dolphin Computer Access “Experiences of Test Automation first describes the essence of effective automated testing. It proceeds to provide many lifetimes worth of experience in this field, from a wide variety of situations. It will help you use automated testing for the right reasons, in a way that suits your organization and project, while avoiding the various pitfalls. It is of great value to anyone involved in testing–management, testers, and automators alike.” –Martin Gijsen, Independent Test Automation Architect “This offering by Fewster and Graham is a highly significant bridge between test automation theory and reality. Test automation framework design and implementation is an inexact science begging for a reusable set of standards that can only be derived from a growing body of precedence; this book helps to establish such precedence. Much like predecessor court cases are cited to support subsequent legal decisions in a judicial system, the diverse case studies in this book may be used for making contemporary decisions regarding engagement in, support of, and educating others on software test automation framework design and implementation.” –Dion Johnson, Software Test Consultant and Principle Adviser to the Automated Testing Institute (ATI) “Even with my long-established ‘test automation won’t work’ stance, this book did make me pause and ponder. It opened my mind and gave me a few ‘oh, I hadn’t thought of that’ moments. I would recommend this book as an initial reference for any organization wanting to introduce test automation.” –Audrey Leng “This book is a stunning achievement. I believe that it is one of the best books ever written in test automation. Dot and Mark’s approach presenting 28 case studies is a totally new concept including eye-catching tips, good points, and lessons learned. The case studies are coming from life experiences, successes and failures, including several aspects of automation, different environments, and a mixture of solutions. Books are ‘the’ source of wisdom, and what a good idea for using storytelling to increase our learning through triggering our memories. This book is a must for everyone who is thinking of or involved in test automation at all levels. It is truly unique in its kind.” –Mieke GeversTable of ContentsForeword xxix Preface xxxi Reflections on the Case Studies (by Dorothy Graham and Mark Fewster ) 1 A Management Issues 2 B Technical Issues 8 C Conclusion 16 Chapter 1: An Agile Team’s Test Automation Journey: The First Year (by Lisa Crispin) 17 1.1 Background for the Case Study 18 1.2 Whole Team Commitment 19 1.3 Setting Up the Automation Strategy 20 1.4 Applying Acceptance Test-Driven Development (ATDD) to Test behind the GUI Using FitNesse 24 1.5 Use an Incremental Approach 26 1.6 The Right Metrics 27 1.7 Celebrate Successes 28 1.8 Incorporate Engineering Sprints 28 1.9 Team Success 29 1.10 Continuous Improvement 31 1.11 Conclusion 32 Chapter 2: The Ultimate Database Automation (by Henri van de Scheur) 33 2.1 Background for the Case Study 33 2.2 Software under Test 35 2.3 Objectives for Test Automation 36 2.4 Developing Our Inhouse Test Tool 37 2.5 Our Results 40 2.6 Managing Our Automated Tests 40 2.7 Test Suites and Types 41 2.8 Today’s Situation 43 2.9 Pitfalls Encountered and Lessons Learned (the Hard Way) 43 2.10 How We Applied Advice from the Test Automation Book 45 2.11 Conclusion 47 2.12 Acknowledgments 48 Chapter 3: Moving to the Cloud: The Evolution of TiP, Continuous Regression Testing in Production (by Ken Johnston and Felix Deschamps) 49 3.1 Background for the Case Study 50 3.2 Moving Our Testing into the Cloud 52 3.3 How We Implemented TiP 55 3.4 Sample of Monthly Service Review Scorecards 58 3.5 Exchange TiP v2–Migrating TiP to the Windows Azure Cloud 62 3.6 What We Learned 63 3.7 Conclusion 67 3.8 Acknowledgments 67 Chapter 4: The Automator Becomes the Automated (by Bo Roop) 69 4.1 Background for the Case Study: My First Job 69 4.2 My Great Idea . . . 72 4.3 A Breakthrough 74 4.4 Conclusion 80 Chapter 5: Autobiography of an Automator: From Mainframe to Framework Automation (by John Kent) 83 5.1 Background for the Case Study 84 5.2 A Mainframe Green-Screen Automation Project 88 5.3 Difference between Mainframe and Script-Based Tools 89 5.4 Using the New Script-Based Tools 91 5.5 Automating Tests for IBM Maximo 97 5.6 Conclusion 102 5.7 Additional Reading 103 Chapter 6: Project 1: Failure!, Project 2: Success! (by Ane Clausen) 105 6.1 Background for the Case Study 105 6.2 Project 1: Failure! 107 6.3 Project 2: Success! 109 6.4 The Next Time Period: Testing for Real 118 6.5 Conclusion 127 Chapter 7: Automating the Testing of Complex Government Systems (by Elfriede Dustin) 129 7.1 Background for the Case Study 129 7.2 Our Requirements for Automation 131 7.3 Automated Test and Re-Test (ATRT), Our Automated Testing Solution–What Is It? 132 7.4 Automated Testing Solution Applied 140 7.5 Conclusion 142 Chapter 8: Device Simulation Framework (by Alan Page) 143 8.1 Background for the Case Study 143 8.2 The Birth of Device Simulation Framework (DSF) 145 8.3 Building the DSF 146 8.4 Automation Goals 148 8.5 Case Studies 149 8.6 No Silver Bullets 153 8.7 Conclusion 154 8.8 Acknowledgments 154 Chapter 9: Model-Based Test-Case Generation in ESA Projects (by Stefan Mohacsi and Armin Beer) 155 9.1 Background for the Case Study 155 9.2 Model-Based Testing and Test-Case Generation 157 9.3 Our Application: ESA Multi-Mission User Services 161 9.4 Experience and Lessons Learned 168 9.5 Conclusion 173 9.6 References 174 9.7 Acknowledgments 175 Chapter 10: Ten Years On and Still Going (by Simon Mills) 177 10.1 Background for the Case Study: “Before” 177 10.2 Insurance Quotation Systems Tested Automatically Every Month 179 10.3 What Happened Next? 193 10.4 Conclusion 193 Chapter 11: A Rising Phoenix from the Ashes (by Jason Weden) 197 11.1 Background for the Case Study 197 11.2 The Birth of the Phoenix 199 11.3 The Death of the Phoenix 202 11.4 The Rebirth of the Phoenix 203 11.5 The New Life of the Phoenix 207 11.6 Conclusion 212 Chapter 12: Automating the Wheels of Bureaucracy (by Damon Yerg [A Pseudonym]) 217 12.1 Background for the Case Study 217 12.2 The Agency Automation 219 12.3 From 2000 to 2008 223 12.4 An Alignment of Planets 226 12.5 Building Capability within Test Teams 231 12.6 Future Directions: The Journey Continues 233 12.7 Conclusion 235 Chapter 13: Automated Reliability Testing Using Hardware Interfaces (by Bryan Bakker) 237 13.1 Background for the Case Study 238 13.2 The Need for Action 239 13.3 Test Automation Startup (Incremental Approach) 240 13.4 Buy-In from Management 242 13.5 Further Development of Test Framework 244 13.6 Deployment and Improved Reporting 248 13.7 Conclusion 250 Chapter 14: Model-Based GUI Testing of Android Applications (by Antti Jääskeläinen, Tommi Takala, and Mika Katara) 253 14.1 Background for the Case Study 253 14.2 MBT with TEMA Toolset 256 14.3 Modeling Application Behavior 261 14.4 Generation of Tests 266 14.5 Connectivity and Adaptation 268 14.6 Results 272 14.7 Conclusion 273 14.8 Acknowledgments 274 14.9 References 274 Chapter 15: Test Automation of SAP Business Processes (by Christoph Mecke, Melanie Reinwarth, and Armin Gienger) 277 15.1 Background for the Case Study 278 15.2 Standards and Best Practices 282 15.3 eCATT Usage Examples 286 15.4 Conclusion 292 15.5 Acknowledgments 293 Chapter 16: Test Automation of a SAP Implementation (by Björn Boisschot) 295 16.1 Background for the Case Study 295 16.2 Project Overview 298 16.3 Phase 1: Proof of Concept 299 16.4 Phase 2: Project Start 307 16.5 Conclusion 319 Chapter 17: Choosing the Wrong Tool (by Michael Williamson) 321 17.1 Background for the Case Study 321 17.2 Our Preexisting Automation (or Lack Thereof) 324 17.3 Decision Needed: New Tool or Major Maintenance Effort? 326 17.4 Moving Forward with eggPlant 328 17.5 What Did We Do after eggPlant? 336 17.6 Conclusion 336 Chapter 18: Automated Tests for Marketplace Systems: Ten Years and Three Frameworks (by Lars Wahlberg) 339 18.1 Background for the Case Study 340 18.2 Automated Test Frameworks 341 18.3 Test Roles 344 18.4 Abstraction Layer 345 18.5 Configuration 348 18.6 Cost and ROI 349 18.7 Conclusion 352 Chapter 19: There’s More to Automation Than Regression Testing: Thinking Outside the Box (by Jonathan Kohl) 355 19.1 Background for the Case Study 355 19.2 Two Tales of Task Automation 357 19.3 Automation to Support Manual Exploratory Testing 362 19.4 Automating Data Interactions 364 19.5 Automation and Monitoring 368 19.6 Simulating Real-World Loads by Combining Simple Tools 370 19.7 Conclusion 372 19.8 References 372 Chapter 20: Software for Medical Devices and Our Need for Good Software Test Automation (by Albert Farré Benet, Christian Ekiza Lujua, Helena Soldevila Grau, Manel Moreno Jáimez, Fernando Monferrer Pérez, and Celestina Bianco) 375 20.1 Background for the Case Study 376 20.2 Comparison of the Different Approaches to Each Project 381 20.3 Project hamlet 385 20.4 Project phoenix 386 20.5 Project doityourself 388 20.6 Project miniweb 391 20.7 Test Execution 392 20.8 Result Reporting 393 20.9 Conclusion 396 Chapter 21: Automation through the Back Door (by Supporting Manual Testing) (by Seretta Gamba) 401 21.1 Background for the Case Study 401 21.2 Our Technical Solution 403 21.3 Implementing Test Automation with ISS Test Station 406 21.4 Implementing Test Automation 409 21.5 Supporting Manual Testing 413 21.6 The New Manual Test Process 417 21.7 Conclusion 422 21.8 References 423 Chapter 22: Test Automation as an Approach to Adding Value to Portability Testing (by Wim Demey) 425 22.1 Background for the Case Study 427 22.2 Portability Testing: Love or Hate It 428 22.3 Combination of Both Worlds as a Solution 428 22.4 Conclusion 435 22.5 Acknowledgment 435 Chapter 23: Automated Testing in an Insurance Company: Feeling Our Way (by Ursula Friede) 437 23.1 Background for the Case Study 437 23.2 The Application 439 23.3 Objectives 440 23.4 The Work 441 23.5 Lessons 443 23.6 Conclusion 444 Chapter 24: Adventures with Test Monkeys (by John Fodeh) 447 24.1 Background for the Case Study 447 24.2 Limitations of Automated Regression Testing 449 24.3 Test Monkeys 451 24.4 Implementing Test Monkeys 453 24.5 Using Test Monkeys 454 24.6 Benefits and Limitations 458 24.7 Conclusion 459 24.8 Additional Reading 460 Chapter 25: System-of-Systems Test Automation at NATS (by Mike Baxter, Nick Flynn, Christopher Wills, and Michael Smith) 461 25.1 Background for the Case Study 461 25.2 Test Execution Tool Integration 465 25.3 Pilot Project for the Tool 466 25.4 In-Service Model 467 25.5 Implementation 467 25.6 Typical Script Template 470 25.7 Lessons Learned 472 25.8 Conclusion 474 Chapter 26: Automating Automotive Electronics Testing (by Ross Timmerman and Joseph Stewart) 477 26.1 Background for the Case Study 477 26.2 Objectives for Automation Project 480 26.3 Brief History of the Automation Project 480 26.4 Results of the Automation Project 483 26.5 Conclusion 483 Chapter 27: BHAGs, Change, and Test Transformation (by Ed Allen and Brian Newman) 485 27.1 Background for the Case Study 485 27.2 Buy-In 487 27.3 The Story of Building the Automation Framework 491 27.4 Description of our Automation Framework 493 27.5 The Test Environment 497 27.6 Metrics 499 27.7 Conclusion 501 Chapter 28: Exploratory Test Automation: An Example Ahead of Its Time (by Harry Robinson and Ann Gustafson Robinson) 505 28.1 Background for the Case Study 505 28.2 What’s a Trouble Manager? 507 28.3 Testing a Trouble Manager Transaction 509 28.4 Constructing Test Cases Programmatically 510 28.5 New Ways to Think about Automated Tests 511 28.6 Testing the Trouble Manager Workflow 513 28.7 Test Generation in Action 518 28.8 Home Stretch 520 28.9 Post-Release 521 28.10 Conclusion 522 28.11 Acknowledgments 522 Chapter 29: Test Automation Anecdotes 523 29.1 Three Grains of Rice (by Randy Rice) 523 29.2 Understanding Has to Grow (by Molly Mahai) 527 29.3 First Day Automated Testing (by Jonathon Lee Wright) 528 29.4 Attempting to Get Automation Started (by Tessa Benzie) 535 29.5 Struggling with (against) Management (by Kai Sann) 536 29.6 Exploratory Test Automation: Database Record Locking (by Douglas Hoffman) 538 29.7 Lessons Learned from Test Automation in an Embedded Hardware—Software Computer Environment (by Jon Hagar) 545 29.8 The Contagious Clock (by Jeffrey S. Miller) 549 29.9 Flexibility of the Automation System (by Mike Bartley) 551 29.10 A Tale of Too Many Tools (and Not Enough Cross-Department Support) (by Adrian Smith) 552 29.11 A Success with a Surprising End (by George Wilkinson) 556 29.12 Cooperation Can Overcome Resource Limitations (by Michael Albrecht) 561 29.13 An Automation Process for Large-Scale Success (by Michael Snyman) 562 29.14 Test Automation Isn’t Always What It Seems (by Julian Harty) 567 Appendix: Tools 573 About the Case Study Authors 587 About the Book Authors 605 Index 607
£36.44
Pearson Education (US) More Agile Testing
Book SynopsisJanet Gregory is an agile testing coach and process consultant with DragonFire Inc. She is coauthor with Lisa Crispin of Agile Testing: A Practical Guide for Testers and Agile Teams (Addison-Wesley, 2009) and More Agile Testing: Learning Journeys for the Whole Team (Addison-Wesley, 2015). She is also a contributor to 97 Things Every Programmer Should Know . Janet specializes in showing agile teams how testers can add value in areas beyond critiquing the product, for example, guiding development with business-facing tests. Janet works with teams to transition to agile development and teaches agile testing courses and tutorials worldwide. She contributes articles to publications such as Better Software, Software Test & Performance Magazine, and Agile Journal and enjoys sharing her experiences at conferences and user group meetings around the world. For more about Janet's work and her blog, visit Trade ReviewPraise for More Agile Testing “I love this book. It will help to create really great testers. That’s a good thing, since anyone who reads this will want to have one on their team.” –Liz Keogh, agile coach, Lunivore Limited “This book will change your thinking and move your focus from tests to testing. Yes, it is not about the result, but about the activity!” –Kenji Hiranabe, cofounder of Astah and CEO, Change Vision, Inc. “To my mind, agile development is about learning–that one word captures the true spirit of what agile is all about. When I had the chance to read through their new book, I could only say, ‘Wow! Janet and Lisa have done themselves proud.’ This is not a book about testing; this is a book about learning. Their clear explanations are accompanied by great true stories and an impressive list of books, articles, and other resources. Those of us who like learning, who love to dig for more information, can rejoice! I know you’re always looking for something interesting and useful; I can guarantee that you will find it here!” –Linda Rising, coauthor of Fearless Change: Patterns for Introducing New Ideas “Janet and Lisa’s first book, Agile Testing, drew some general principles that are still important today but left me wondering, ‘how?’ In this second book, they adapt those principles to today’s development landscape–with mobile, DevOps, and cloud-based applications delivered in increasingly compressed release cycles. Readers get specific testing tools for the mind along with new practices and commentary to accelerate learning. Read it today.” –Matt Heusser, Managing Principal, Excelon Development “An excellent guide for your team’s agile journey, full of resources to help you with every kind of testing challenge you might meet along the way. Janet and Lisa share a wealth of experience with personal stories about how they helped agile teams figure out how to get value from testing. I really like how the book is filled with techniques explained by leading industry practitioners who’ve pioneered them in their own organizations.” –Rachel Davies, agile coach, unruly and coauthor of Agile Coaching “Let me net this out for you: agile quality and testing is hard to get right. It’s nuanced, context-based, and not for the faint of heart. In order to effectively balance it, you need hard-earned, pragmatic, real-world advice. This book has it–not only from Janet and Lisa, but also from forty additional expert agile practitioners. Get it and learn how to effectively drive quality into your agile products and across your entire organization.” –Bob Galen, Principal Consultant, R Galen Consulting Group, and Author of Agile Reflections and Scrum Product Ownership “Janet and Lisa have done it again. They’ve combined pragmatic life experience with ample storytelling to help people take their agile testing to the next level.” –Jonathan Rasmusson, author of Agile Samurai: How Masters Deliver Great Software “In this sequel to their excellent first book, Janet and Lisa have embraced the maturity of agile adoption and the variety of domains in which agile approaches are now being applied. In More Agile Testing they have distilled the experiences of experts working in different agile organizations and combined them with their own insights into a set of invaluable lessons for agile practitioners. Structured around a range of essential areas for software professionals to consider, the book examines what we have learned about applying agile, as its popularity has grown, and about software testing in the process. There is something for everyone here, not only software testers, but individuals in any business role or domain with an interest in delivering quality in an agile context.” –Adam Knight, Director of QA, RainStor “This book has it all: practical advice and stories from the trenches. Whether you’ve never heard of agile or you think you’re an expert, there is something here that will help you out. Jump around in the book and try a few things; I promise you will be a better tester and developer for it.” –Samantha Laing, agile coach and trainer, Growing Agile “More Agile Testing is a great collection of stories and ideas that can help you improve not just how you test, but the products you build and the way you work. What I love most about the book is how easy many of the ideas are to try. If one message is clear, it is that regardless of your context and challenges, there are things you can try to improve. Get started today with something small, and nothing will be impossible.” –Karen Greaves, agile coach and trainer, Growing Agile “More Agile Testing is an extensive compilation of experiences, stories, and examples from practitioners who work with testing in agile environments around the world. It covers a broad spectrum, from organizational and hiring challenges, test techniques and practices, to automation guidance. The diversity of the content makes it a great cookbook for anyone in software development who is passionate about improving their work and wants to produce quality software.” –Sigurdur Birgisson, quality assistance engineer, Atlassian Table of ContentsForeword by Elisabeth Hendrickson xvii Foreword by Johanna Rothman xix Preface xxi Acknowledgments xxix About the Authors xxxiii About the Contributors xxxv Part I: Introduction 1 Chapter 1: How Agile Testing Has Evolved 3 Summary 6 Chapter 2: The Importance of Organizational Culture 7 Investing Time 8 The Importance of a Learning Culture 12 Fostering a Learning Culture 13 Transparency and Feedback Loops 15 Educating the Organization 17 Managing Testers 19 Summary 20 Part II: Learning for Better Testing 21 Chapter 3: Roles and Competencies 23 Competencies versus Roles 24 T-Shaped Skill Set 28 Generalizing Specialists 33 Hiring the Right People 36 Onboarding Testers 37 Summary 39 Chapter 4: Thinking Skills for Testing 41 Facilitating 42 Solving Problems 43 Giving and Receiving Feedback 45 Learning the Business Domain 46 Coaching and Listening Skills 48 Thinking Differently 49 Organizing 51 Collaborating 52 Summary 53 Chapter 5: Technical Awareness 55 Guiding Development with Examples 55 Automation and Coding Skills 56 General Technical Skills 59 Development Environments 59 Test Environments 60 Continuous Integration and Source Code Control Systems 62 Testing Quality Attributes 65 Test Design Techniques 67 Summary 67 Chapter 6: How to Learn 69 Learning Styles 69 Learning Resources 72 Time for Learning 77 Helping Others Learn 79 Summary 83 Part III: Planning–So You Don’t Forget the Big Picture 85 Chapter 7: Levels of Precision for Planning 87 Different Points of View 87 Planning for Regression Testing 97 Visualize What You Are Testing 98 Summary 100 Chapter 8: Using Models to Help Plan 101 Agile Testing Quadrants 101 Challenging the Quadrants 108 Using Other Influences for Planning 113 Planning for Test Automation 115 Summary 116 Part IV: Testing Business Value 119 Chapter 9: Are We Building the Right Thing? 121 Start with “Why” 121 Tools for Customer Engagement 123 More Tools or Techniques for Exploring Early 134 Invest to Build the Right Thing 134 Summary 135 Chapter 10: The Expanding Tester’s Mindset: Is This My Job? 137 Whose Job Is This Anyway? 137 Take the Initiative 142 Summary 144 Chapter 11: Getting Examples 145 The Power of Using Examples 145 Guiding Development with Examples 148 Where to Get Examples 155 Benefits of Using Examples 157 Potential Pitfalls of Using Examples 159 The Mechanics of Using Examples to Guide Coding 162 Summary 162 Part V: Investigative Testing 163 Chapter 12: Exploratory Testing 165 Creating Test Charters 168 Generating Test Charter Ideas 171 Managing Test Charters 176 Exploring in Groups 183 Recording Results for Exploratory Test Sessions 185 Where Exploratory Testing Fits into Agile Testing 188 Summary 190 Chapter 13: Other Types of Testing 191 So Many Testing Needs 192 Concurrency Testing 194 Internationalization and Localization 195 Regression Testing Challenges 200 User Acceptance Testing 201 A/B Testing 203 User Experience Testing 205 Summary 207 Part VI: Test Automation 209 Chapter 14: Technical Debt in Testing 211 Make It Visible 212 Work on the Biggest Problem–and Get the Whole Team Involved 217 Summary 220 Chapter 15: Pyramids of Automation 223 The Original Pyramid 223 Alternate Forms of the Pyramid 224 The Dangers of Putting Off Test Automation 227 Using the Pyramid to Show Different Dimensions 231 Summary 235 Chapter 16: Test Automation Design Patterns and Approaches 237 Involve the Whole Team 238 Starting Off Right 239 Design Principles and Patterns 240 Test Maintenance 248 Summary 251 Chapter 17: Selecting Test Automation Solutions 253 Solutions for Teams in Transition 253 Meeting New Automation Challenges with the Whole Team 258 Achieving Team Consensus for Automation Solutions 260 How Much Automation Is Enough? 262 Collaborative Solutions for Choosing Tools 264 Scaling Automation to Large Organizations 264 Other Automation Considerations 268 Summary 269 Part VII: What Is Your Context? 271 Chapter 18: Agile Testing in the Enterprise 275 What Do We Mean by “Enterprise”? 275 “Scaling” Agile Testing 276 Coordinating Multiple Teams 283 Consistent Tooling 289 Managing Dependencies 292 Advantages of Reaching Out beyond the Delivery Team 296 Summary 297 Chapter 19: Agile Testing on Distributed Teams 299 Why Not Colocate? 301 Common Challenges 302 Strategies for Coping 308 Offshore Testing 312 Tool Ideas for Distributed Teams 319 Summary 322 Chapter 20: Agile Testing for Mobile and Embedded Systems 325 Similar, Yet Different 326 Testing Is Critical 328 Agile Approaches 329 Summary 337 Chapter 21: Agile Testing in Regulated Environments 339 The “Lack of Documentation” Myth 339 Agile and Compliance 340 Summary 346 Chapter 22: Agile Testing for Data Warehouses and Business Intelligence Systems 347 What Is Unique about Testing BI/DW? 348 Using Agile Principles 351 Data–the Critical Asset 352 Big Data 357 Summary 360 Chapter 23: Testing and DevOps 361 A Short Introduction to DevOps 361 DevOps and Quality 363 How Testers Add DevOps Value 371 Summary 376 Part VIII: Agile Testing in Practice 379 Chapter 24: Visualize Your Testing 381 Communicating the Importance of Testing 381 Visualize for Continuous Improvement 386 Visibility into Tests and Test Results 390 Summary 392 Chapter 25: Putting It All Together 393 Confidence-Building Practices 394 Create a Shared Vision 402 Summary 405 Appendix A: Page Objects in Practice: Examples 407 An Example with Selenium 2–WebDriver 407 Using the PageFactory Class 410 Appendix B: Provocation Starters 413 Glossary 415 References 423 Bibliography 435 Index 459
£35.54
Marshall & Brainerd Just Enough Software Architecture A RiskDriven
Book Synopsis
£44.81
O'Reilly Media Clean Code Cookbook
Book SynopsisWith this cookbook, author Maximiliano Contieri takes you beyond the concept of clean code by showing you how to identify improvement opportunities and their impact on production code. When it comes to reliability and system evolution, these techniques provide benefits that pay off over time.
£39.74
APress Performance Testing
Book SynopsisUse this book to prepare for the ISTQBCertified Tester Foundation Level Performance Testingexam. The book has been designed to follow the ISTQBsyllabus, covering all of the syllabus learning objectives, with additional reference material extending beyond the syllabus. The book covers an overall methodology for managing and conducting performance testing. Performance testing has often been considered a black art. In many organizations, perhaps an individual or a small group of technical staff or contractors is given the task of load testing an extended system, network, or application. Performance testing is like any other form of testing. It follows a defined test process that is similar to other test types. It utilizes a disciplined approach to the definition of requirements and user stories, the creation of test conditions, test cases, and test procedures. It establishes measurable goals against which the success or failureof the testing can be judged. It also requires (and this cTable of ContentsIntroductionChapter 1. The Basic Concepts of Performance Testing ISTQB® Keywords Other Keywords 1.1 Principles of Performance Testing 1.2 Types of Performance Testing Performance Testing Load Testing Stress Testing Scalability Testing Spike Testing Endurance Testing Concurrency Testing Capacity Testing 1.3 Testing Activities in Performance Testing Static Testing Dynamic Testing 1.4 The Concept of Load Generation Load Generation via the User Interface Load Generation Using Crowds Load Generation via the Application Programming Interface (API) Load Generation using Captured Communication Protocols 1.5 Common Performance Efficiency Failure Modes and Their Causes Chapter 1 Questions Chapter 2. Performance Measurement Fundamentals ISTQB® Keywords Other Keywords 2.1 Typical Measurements Collected in Performance Testing Why Performance Metrics Are Needed Collecting Performance Measurements and Metrics Selecting Performance Metrics 2.2 Aggregating Results from Performance Testing 2.3 Key Sources of Performance Metrics 2.4 Typical Results of a Performance Test Chapter 2 Questions Chapter 3. Performance Testing in the Software Lifecycle ISTQB® Keywords 3.1 Principal Performance Testing Activities 3.2 Categories of Performance Risks for Different Architectures Single Computer Systems Multi-tier Systems Distributed Systems Virtualised Systems Dynamic/Cloud-based Systems Client –Server Systems Mobile Applications Embedded Real-time Systems Mainframe Applications 3.3 Performance Risks Across the Software Development Lifecycle 3.4 Performance Testing Activities Sequential Development Models Iterative and Incremental Development Models Commercial Off-the-Shelf (COTS) and other Supplier/Acquirer Models Chapter 3 Questions Chapter 4. Performance Testing Tasks ISTQB® Keywords 4.1 Planning 4.1.1 Deriving Performance Test Objectives 4.1.2 The Performance Test Plan 4.1.3 Communicating about Performance Testing 4.2 Analysis, Design and Implementation 4.2.1 Typical Communication Protocols 4.2.2 Transactions 4.2.3 Identifying Operational Profiles 4.2.4 Creating Load Profiles 4.2.5 Analysing Throughput and Concurrency 4.2.6 Basic Structure of a Performance Test Script 4.2.7 Implementing Performance Test Scripts 4.2.8 Preparing for Performance Test Execution 4.3 Execution 4.4 Analysing Results and Reporting Analysis Techniques Reporting Chapter 4 Questions Chapter 5. Tools ISTQB® Keywords 5.1 Tool Support 5.2 Tool Suitability Chapter 5 Questions Chapter 6. References 6.1 Standards 6.2 ISTQB® Documents 6.3 Books 6.4 Papers and Articles Chapter 7. Question Answers 7.1 Chapter 1 7.2 Chapter 2
£46.74
APress Practical Debugging at Scale
Book SynopsisOverhaul your debugging techniques and master the theory and tools needed to debug and troubleshoot cloud applications in production environments. This book teaches debugging skills that universities often avoid, but that typically consume as much as 60% of our time as developers. The book covers the use of debugger features such as tracepoints, object marking, watch renderers, and more. Author Shai Almog presents a scientific approach to debugging that is grounded in theory while being practical enough to help you to chase stubborn bugs through the maze of a Kubernetes deployment. Practical Debugging at Scale assumes a polyglot environment as is common for most enterprises, but focuses on JVM environments. Most of the tooling and techniques described are applicable to Python, Node, and other platforms, as well as to Java and other JVM languages. The book specifically covers debugging in production, an often-neglected discipline but an all too painful reaTable of ContentsIntroductionPart I. Basics1. Know Your Debugger2. The Checklist3. The Auxiliary Tools4. Logging, Testing, and Fail Fast5. Time Travel DebuggingPart II. The Modern Production Environment6. Debugging Kubernetes7. Serverless Debugging8. Fullstack Debugging9. Observability and Monitoring10. Developer ObservabilityPart III. In Practice11. Tools of Learning12. Performance and Memory13. Security14. Bug Strategies
£41.24
APress Modern Software Testing Techniques
Book SynopsisMany books have been written about software testing, but most of them discuss the general framework of testing from a traditional perspective. Unfortunately, traditional test design techniques are often ineffective and unreliable for revealing the various kinds of faults that may occur. This book introduces three new software testing techniques: Two-Phase Model-Based Testing, the Action-State Testing, and the General Predicate Testing, all of which work best when applied with efficient fault revealing capabilities. You'll start with a short recap of software testing, focusing on why risk analysis is obligatory, how to classify bugs practically, and how fault-based testing can be used for improving test design. You'll then see how action-state testing merges the benefits of state transition testing and use case testing into a unified approach.Moving on you'll look at general predicate testing and how it serves as an extension of boundary value analysis, encompassing morecomplex predicatTable of ContentsModern Software Testing TechniquesChapter 1: Software testing basicsChapter 2: Test design automation by model-based testingChapter 3: Domain testingChapter 4: Developers and testers should constitute a successful teamChapter 5: Conclusion
£35.99
APress Fundamentals of Trace and Log Analysis
Book SynopsisThis book will help you analyze traces and logs from different software environments and communicate analysis results using a pattern language that covers everything from a small debugging log to a distributed trace with billions of messages from hundreds of computers, thousands of software components, threads, and processes. The book begins with the basic terminology of operating systems and programming, the foundation for understanding trace and log analysis. It then talks about patterns that help describe problems from a user's view and patterns for errors and failures. Then, the book covers a range of trace patterns that group messages, and explores how logs depict software activities. It even examines specific message patterns and how they connect in a single trace. Moving forward, you'll review patterns for multiple traces and logs and how to evaluate them. In this way, you can use similar methods to find problems across a wide variety of software. The book also provides guidanTable of Contents
£31.99
O'Reilly Media Incident Management for Operations
Book SynopsisThis practical book shows you how to apply the same response methodology to your own IT operation. You’ll learn how IMS best practices for leading people and managing time apply directly to IT incidents where the stakes are high and outcomes are uncertain.
£31.99
O'Reilly Media Spock Up and Running
Book SynopsisThis practical guide shows you how to write concise and highly readable tests with Spock, the most innovative testing and specification framework for the JVM since JUnit. Author Rob Fletcher takes you from Spock basics to advanced topics, using fully worked integration examples.
£35.99
O'Reilly Media Enterprise IoT
Book SynopsisCurrent hype aside, the Internet of Things will ultimately become as fundamental as the Internet itself, with lots of opportunities and trials along the way. To help you navigate these choppy waters, this practical guide introduces a dedicated methodology for businesses preparing to transition towards IoT-based business models.
£26.99
Manning Publications The Art of Unit Testing
Book SynopsisRETAIL SELLING POINTS A step-by-step guide to unit testing Easily create readable, maintainable, trustworthy tests Great for both novice and experienced unit testers AUDIENCE This book is written for .NET Developers and anyone else who wants to learn unit testing.Table of Contents DESCRIPTION Developers know they "should" be unit testing, but it can be intimidating and tedious, and they don’t always see the payoff for the effort they put into it. The Art of Unit Testing, Second Edition is a step-by-step guide that helps reluctant developers learn how to write simple tests and leads them through developing robust test sets that are maintainable, readable, and trustworthy. Readers will explore test patterns and organization, working with legacy code, and even "untestable" code. Along the way, they’ll learn about integration testing and techniques and tools for testing databases and other technologies. RETAIL SELLING POINTS A step-by-step guide to unit testing Easily create readable, maintainable, trustworthy tests Great for both novice and experienced unit testers AUDIENCE This book is written for .NET Developers and anyone else who wants to learn unit testing. ABOUT THE TECHNOLOGY A unit test is an automated and repeatable piece of code that tests the smallest testable piece of software to make sure it does what it’s designed to do.
£32.39
Manning Publications Testing Angular Applications Covers Angular 2
Book SynopsisDescription The Angular 2 framework is great for building large-scale web applications that can be maintained and extended. And when building enterprise-level apps, testing is vital to the development process. Testing improves the quality of code and reduces maintenance, saving both time and money. Even though testing is crucial, it’s sometimes neglected since there are few established resources and standards when it comes to modern JavaScript web applications. Developers who know how to build and leverage tests are highly valued by their clients and companies. Testing Angular Applications is an example-rich, hands-on guide that gives the real-world techniques needed to thoroughly test all parts of Angular 2 applications. The book starts with an introduction to Angular 2, TypeScript, testing fundamentals, and the testing frameworks and tools used in the book. Next, it explains how to set-up an Angular 2 environment, including TypeScript and the Angular 2 dependencies. The reader will then create their first component. The second part of the book focuses on the most important concepts of Angular 2, such as testing components, directives, pipes, services, and routing. This book will allow readers to confidently write unit and endto-end tests for Angular 2 applications and TypeScript. Key features • Testing components, directives, services and pipes • Real-world techniques • Hands-on examples • Foundation for writing advances tests • Provides code that can be reused in a production environment Audience This book is for readers with intermediate JavaScript skills and some experience with JavaScript frameworks. No experience with testing or Angular required. About the Technology Angular 2 is the latest version of the popular web application framework built by Google and its army of community contributors. Angular 2 is a mobile-first framework that promises to be fast, flexible, and expressive. The Angular 2 syntax is clean and easy to read, which lends itself nicely to rapid development and assists in writing tests.
£35.99
Manning Publications Haskell in Depth
Book SynopsisTurn the corner from “Haskell student” to “Haskell developer.” Haskell in Depth explores the important language features and programming skills you’ll need to build production-quality software using Haskell. And along the way, you’ll pick up some interesting insights into why Haskell looks and works the way it does. Get ready to go deep! Haskell in Depth is the perfect second book on Haskell. After a quick refresher on Haskell basics, this hands-on guide dives into examples and application scenarios designed to teach how Haskell works and how to apply it correctly. You’ll learn about managing projects with Cabal and Stack, tackle error-handling and testing, and package programs and libraries for production deployment. Key Features · Organizing your projects with Cabal and Stack · Testing and profiling · Working with data · Building web services and networking apps · Using the sophisticated libraries like lens, vinyl, and servant Written for developers familiar with Haskell basics. About the technology As software becomes more complex, it’s essential to program efficiently using tools and techniques that guarantee your applications will run correctly, grow easily, and last a long time. Haskell is a functional programming language that blends a mathematically-rigorous approach to software design with a tested ecosystem of tools and libraries you can use to build deployable applications. Since 2008, Vitaly Bragilevsky has been teaching Haskell and functional programming to undergraduate students at the Southern Federal University located in Rostov-on-Don, Russia. He is a member of the Haskell 2020 Committee, and has worked on the source code of the Glasgow Haskell Compiler (GHC) and the Idris compiler, both of which are implemented in Haskell.
£43.19
Manning Publications JUnit in Action
Book SynopsisWhether you’re just starting with JUnit or you want to ramp up on the new features, JUnit in Action, Third Edition has you covered. Extensively revised with new code and new chapters, JUnit in Action, Third Edition is an up-to-date guide to smooth software testing. Dozens of hands-on examples illustrate JUnit 5’s innovations for dependency injection, nested testing, parameterized tests, and more. Throughout, you’ll learn how to use JUnit 5 to automate your testing, for a process that consumes less resources and gives you more time for developing. Key Features · Introduction to unit testing · Blends JUnit with TDD, BDD, Continuous Integration, and other best practices · Unit testing of database and web applications For developers with intermediate Java 8 language skills and a basic understanding of the Apache Maven tool. About the technology JUnit is the gold standard for unit testing Java applications. JUnit 5 is a complete overhaul of this leading Java unit testing framework, boosting your productivity and helping to avoid debugging nightmares. Filled with new tools that make it easier than ever to write effective tests, JUnit 5 brings more granularity and avoids the need to import an entire library, allows multiple runners to work simultaneously and, best of all, allows developers to make full use of the new language features of Java 8 and beyond. Catalin Tudose has a PhD in Computer Science, and over 15 years experience as a Senior Java Developer and Technical Team Lead. He works as a Java and Web Technologies Expert at Luxoft Romania, and as a professor at the Faculty of Automation and Computers in Bucharest. Petar Tahchiev is a software engineer with HP and the Jakarta Cactus lead developer. Felipe Leme is a JCP member and contributor to DbUnit and Cactus. Gary Gregory is a Java developer with 20+ years of experience who currently develops application servers for legacy integration. Vincent Massol was the author of the first edition of JUnit in Action.
£47.99
Manning Publications Experimentation for Engineers
Book SynopsisOptimise the performance of your systems with practical experiments used by engineers in the world's most competitive industries. Experimentation for Engineers: From A/B testing to Bayesian optimization is a toolbox of techniques for evaluating new features and fine-tuning parameters. You will start with a deep dive into methods like A/B testing and then graduate to advanced techniques used to measure performance in industries such as finance and social media. You will learn how to: Design, run, and analyse an A/B test Break the "feedback loops" caused by periodic retraining of ML models Increase experimentation rate with multi-armed bandits Tune multiple parameters experimentally with Bayesian optimisation Clearly define business metrics used for decision-making Identify and avoid the common pitfalls of experimentation By the time you're done, you will be able to seamlessly deploy experiments in production, whilst avoiding common pitfalls. About the technology Does my software really work? Did my changes make things better or worse? Should I trade features for performance? Experimentation is the only way to answer questions like these. This unique book reveals sophisticated experimentation practices developed and proven in the world's most competitive industries and will help you enhance machine learning systems, software applications, and quantitative trading solutions.Trade Review"Putting an 'improved' version of a system into production can be really risky. This book focuses you on what is important!" Simone Sguazza, University of Applied Sciences and Arts of Southern Switzerland "A must-have for anyone setting up experiments, from A/B tests to contextual bandits and Bayesian optimization." Maxim Volgin, KLM "Shows a non-mathematical programmer exactly what they need to write powerful mathematically-based testing algorithms." Patrick Goetz, The University of Texas at Austin "Gives you the tools you need to get the most out of your experiments." Marc-Anthony Taylor, Raiffeisen Bank International
£41.39
The Pragmatic Programmers The Way of the Web Tester
Book SynopsisThis book is for everyone who needs to test the web. As a tester, you'll automate your tests. As a developer, you'll build more robust solutions. And as a team, you'll gain a vocabulary and a means to coordinate how to write and organize automated tests for the web. Follow the testing pyramid and level up your skills in user interface testing, integration testing, and unit testing. Your new skills will free you up to do other, more important things while letting the computer do the one thing it's really good at: quickly running thousands of repetitive tasks. This book shows you how to do three things: * How to write really good automated tests for the web. * How to pick and choose the right ones. * How to explain, coordinate, and share your efforts with others. If you're a traditional software tester who has never written an automated test before, this is the perfect book for getting started. Together, we'll go through everything you'll need to start writing your own tests. If you're a developer, but haven't thought much about testing, this book will show you how to move fast without breaking stuff. You'll test RESTful web services and legacy systems, and see how to organize your tests. And if you're a team lead, this is the Rosetta Stone you've been looking for. This book will help you bridge that testing gap between your developers and your testers by giving your team a model to discuss automated testing, and most importantly, to coordinate their efforts.The Way of the Web Tester is packed with cartoons, graphics, best practices, war stories, plenty of humor, and hands-on tutorial exercises that will get you doing the right things, the right way.
£21.84
Pragmatic Bookshelf Rails 5 Test Prescriptions
Book SynopsisDoes your Rails code suffer from bloat, brittleness, or inaccuracy? Cure these problems with the regular application of test-driven development. You'll use Rails 5.1, Minitest 5, and RSpec 3.6, as well as popular testing libraries such as factory_girl and Cucumber. Updates include Rails 5.1 system tests and Webpack integration. Do what the doctor ordered to make your applications feel all better. Side effects may include better code, fewer bugs, and happier developers. Your Ruby on Rails application is sick. Deadlines are looming, but every time you make the slightest change to the code, something else breaks. Nobody remembers what that tricky piece of code was supposed to do, and nobody can tell what it actually does. Plus, it has bugs. You need test-driven development: a process for improving the design, maintainability, and long-term viability of software. With both practical code examples and discussion of why testing works, this book starts with the most basic features delivered as part of core Ruby on Rails. Once you've integrated those features into your coding practice, work with popular third-party testing tools such as RSpec, Jasmine, Cucumber, and factory_girl. Test the component parts of a Rails application, including the back-end model logic and the front-end display logic. With Rails examples, use testing to enable your code to respond better to future change. Plus, see how to handle real-world testing situations. This new edition has been updated to Rails 5.1 and RSpec 3.6 and contains full coverage of new Rails features, including system tests and the Webpack-based JavaScript setup. What You Need: Ruby 2.4, Rails 5.1
£32.72
The Pragmatic Programmers Property-Based Testing with PropEr, Erlang, and
Book SynopsisProperty-based testing helps you create better, more solid tests with little code. By using the PropEr framework in both Erlang and Elixir, this book teaches you how to automatically generate test cases, test stateful programs, and change how you design your software for more principled and reliable approaches. You will be able to better explore the problem space, validate the assumptions you make when coming up with program behavior, and expose unexpected weaknesses in your design. PropEr will even show you how to reproduce the bugs it found. With this book, you will be writing efficient property-based tests in no time. Most tests only demonstrate that the code behaves how the developer expected it to behave, and therefore carry the same blind spots as their authors when special conditions or edge cases show up. Learn how to see things differently with property tests written in PropEr. Start with the basics of property tests, such as writing stateless properties, and using the default generators to generate test cases automatically. More importantly, learn how to think in properties. Improve your properties, write custom data generators, and discover what your code can or cannot do. Learn when to use property tests and when to stick with example tests with real-world sample projects. Explore various testing approaches to find the one that's best for your code. Shrink failing test cases to their simpler expression to highlight exactly what breaks in your code, and generate highly relevant data through targeted properties. Uncover the trickiest bugs you can think of with nearly no code at all with two special types of properties based on state transitions and finite state machines. Write Erlang and Elixir properties that generate the most effective tests you'll see, whether they are unit tests or complex integration and system tests. What You Need Basic knowledge of Erlang, optionally Elixir For Erlang tests: Erlang/OTP >= 20.0, with Rebar >= 3.4.0 For Elixir tests: Erlang/OTP >= 20.0, Elixir >= 1.5.0
£31.44
The Pragmatic Programmers iOS Unit Testing by Example: XCTest Tips and
Book SynopsisFearlessly change the design of your iOS code with solid unit tests. Use Xcode's built-in test framework XCTest and Swift to get rapid feedback on all your code - including legacy code. Learn the tricks and techniques of testing all iOS code, especially view controllers (UIViewControllers), which are critical to iOS apps. Learn to isolate and replace dependencies in legacy code written without tests. Practice safe refactoring that makes these tests possible, and watch all your changes get verified quickly and automatically. Make even the boldest code changes with complete confidence. Manual code and UI testing get slower the deeper your navigation hierarchy goes. It can take several taps just to reach a particular screen, never mind the actual workflow tests. Automatic unit testing offers such rapid feedback that it can change the rules of development. Bring testing to iOS development, even for legacy code. Use XCTest to write unit tests in Swift for all your code. iOS developers typically reserve unit tests for their model classes alone. But that approach skips most of the code common to iOS apps, especially with UIViewControllers. Learn how to unit test these view controllers to expand your unit testing possibilities. Since good unit tests form the bedrock for safe refactoring, you're empowered to make bold changes. Learn how to avoid the most common mistakes Swift programmers make with the XCTest framework. Use code coverage to find holes in your test suites. Learn how to identify hard dependencies. Reshape the design of your code quickly, with less risk and less fear.
£36.57
Rocky Nook Software Testing Foundations, 5th Edition
Book SynopsisProfessional testing of software is an essential task that requires a profound knowledge of testing techniques. The International Software Testing Qualifications Board (ISTQB) has developed a universally accepted, international qualification scheme aimed at software and system testing professionals, and has created the Syllabi and Tests for the Certified Tester. Today, hundreds of thousands of people have taken the ISTQB certification exams. The authors of Software Testing Foundations, 5th Edition, are among the creators of the Certified Tester Syllabus and are currently active in the ISTQB. This thoroughly revised and updated fifth edition covers the Foundations Level (entry level) and teaches the most important methods of software testing. It is designed for self-study and provides the information necessary to pass the Certified Tester Foundations Level exam, as defined by the ISTQB. Also in this new edition, technical terms have been precisely stated according to the ISTQB glossary. Topics covered: Fundamentals of Testing Testing and the Software Lifecycle Static and Dynamic Testing Techniques Test Management Test Tools
£31.50
BCS Learning & Development Limited User Acceptance Testing: A step-by-step guide
Book SynopsisEvery information system brought into service in every type of organisation requires user acceptance testing. It is by far the most common activity carried out by non-IT specialists. This book is designed to be a hands-on manual for non-testing specialists to plan and carry out an effective acceptance test of an information system. It provides a structured and step-by-step approach to effective acceptance testing and identifies ways of making the process as simple and cost-effective as possible.Trade ReviewAs someone who started his career in testing by being told to leave the comfort of my data processing team to UAT a new system I know how hard it is to understand what is required of UA testers as to date there has been very little written or provided to help. This book comfortably fills the void that exists to help UA testers understand their role and the many tasks they have to undertake. -- Geoff Thompson * Consultancy Director at Experimentus and Chair of the UK Testing Board *A UAT guide for users: that is a novel thought! This fills a gap in my bookshelf, a volume I wish I had years ago. It would have helped me to help the business. But more than that: it would have helped business users to help themselves, and see that UAT is more than just a necessary evil, but has clear purpose, methods, goals and skills. This is a step-by-step guide that is clear and praiseworthy. You never know, it could be a recruiting arm for professional testers in the future, brought in from the business. -- Peter Morgan * Testing Practitioner *...a really excellent book; well written, carefully structured and in a format that makes it easy to read and understand the topic. [...] an absolute must-read for anyone involved in systems development. -- A P Sutcliffe PG Dip CCI MBCSTable of ContentsIntroduction 1 The importance of UAT 2 Business requirements 3 Testing basics for UAT 4 The UAT team 5 UAT as transition 6 Preparing for UAT - Planning 7 Test design for UAT 8 Implementing the tests 9 Evaluating the system 10 Life after UAT Appendices
£34.99
BCS Learning & Development Limited Agile Testing Foundations: An ISTQB Foundation
Book SynopsisAgile testing brings many advantages to software testing teams, from increasing overall product quality to providing greater scope for flexibility. Building on the ISTQB Foundation Level Agile Tester syllabus, this book covers Agile principles, methods and tools in the context of software testing. The book is perfect for software testers interested in the benefits of Agile testing, working in an Agile environment or undertaking the ISTQB Foundation Level Agile Tester exam.Trade Review'A book that I am confident will become a milestone in the testing domain and a reference for the Agile community.' -- Gualtiero Bazzana * President *Table of ContentsForeword Preface 1: Agile Software Development Agile Software Development Aspects of Agile Approaches References 2: Fundamental Agile Testing Principles, Practices and Processes The Differences between Testing in Traditional and Agile Approaches Status of Testing in Agile Projects Role and Skills of a Tester in an Agile Team References 3: Agile Testing Methods, Techniques and Tools Agile Testing Methods Assessing Quality Risks and Estimating Test Effort Techniques in Agile Projects Tools in Agile Projects References Agile Tester Sample Exam Questions Agile Tester Sample Exam Answers
£37.99
BCS Learning & Development Limited Practical Test Design: Selection of traditional
Book SynopsisReliable test design is important in software testing; without it, defects in software may remain undetected, making the software poor quality and causing dissatisfaction among users. This book presents the key test design techniques, in line with ISTQB, and explains when and how to use them, including in combination, with practical, real-life examples. Automated test design methods are also discussed. Tips and exercises are included throughout the book, allowing you to test your knowledge as you progress.Trade Review'A masterful tour through the most important behavioural test design techniques.' -- Rex Black * President, RBCS, Inc.; Past President ASTQB and ISTQB *'This is the testing book I've been waiting for.' -- Elaine Weyuker * University Distinguished Professor; Member, US National Academy of Engineering; ACM Fellow; IEEE Fellow *'Finally, a book that makes the test design techniques available to everybody regardless of their level of experience. It will support testers wanting to improve the quality of their service or self-study for their ISTQB Advanced Level Certifications.' -- Francisca Cano Ortiz * Head of Software Quality Assurance, The Stars Group. *'A must-read for anyone who wants more understanding of test design techniques and especially using them together...Many test design techniques take some practice, before one can use them. This book gives that practice, bringing the dedicated reader to a new skill level. My personal view as experienced software testing trainer for twenty years is that one needs really down-to-earth examples when learning new techniques. This book gives such detail via its examples and I can recommend it as further reading to any learner.' -- Kari Kakkonen * Testing Trainer and Consultant at Knowit, ISTQB Secretary and co-author of 'Agile Testing Foundations' *Table of Contents Introduction Example Specification: Ticket Vending Machine Risk Management and Test Optimisation Defect Prevention Domain-Based Testing State Transition Testing Business Rule-Based Testing Scenario-Based Testing Combinative and Combinatorial Testing On-The-Fly Test Design Model-Based Testing Gherkin-Based MBT MBT Using Graphs - GraphWalker Testing the TVM - Summary and Method Comparison Conclusions and Recommendations
£42.74
BCS Learning & Development Limited Test Automation: A manager's guide
Book SynopsisThe practice of test automation is invaluable for modern software testers. Done well, it significantly increases software testing's efficiency, effectiveness and coverage and is essential for continuous testing and continuous delivery. This comprehensive guide for managers covers test automation in-depth for medium- to large-scale implementations, from the benefits of test automation to defining, building and implementing a test automation approach that is fit-for-purpose, to acquiring and executing test execution tools and frameworks. Industry examples are included throughout the book, templates and checklists can be found in the Appendix.Trade Review'With software, praise is often directed to designers and developers. More emphasis should go to the testers who ensure great, reliable, predictable, and trustable products get to market and deliver on their promise! Boby Jose provides a thorough and practical primer to the mindset and role of Test Automation as part of a holistic testing program. Perfect for anyone entering the software field, this guide explains test automation across multiple SDLCs and teaming models. A great place to start and grow in the craft of delivering great software and results.' -- Peter Borden, Digital & Technology Executive'Provides a practical overview into test automation. It gives food for thought to any manager who considers taking up that often misunderstood part of software testing. The book explains why companies typically use test automation, for what cost, and with what kind of professionals, tools, and approaches. It gives such good examples of automation processes and tools that it works also for anyone wanting to become a test automation expert.' -- Kari Kakkonen, author of software testing books 'Dragons Out!' and 'Agile Testing Foundations'This is an elegantly written book on a topic anyone who cares about quality digital products needs to understand. Boby is a master at balancing cost, quality and time and that experience shines through in the prose. Testing is not a dark art but it is an art that can darken a product lifecycle if not treated in the thoughtful way outlined by this book. -- Jonathon Carr-Brown, Chief Operating Officer, Healthily; former Managing Director of NHS ChoicesTable of ContentsPart 1: The Whats and Whys of Test Automation 1. Test Automation: A Strategic View 2. Domain-Focussed Test Automation 3. Test Automation Tool Selection 4. People and Team 5. Automation Frameworks 6. Environments 7. Candidates for Automation 8. Test Automation and Test Coverage Part 2: How and When to do Test Automation 9. Test Automation Subject Matter Expert 10. Test Automation Tools 11. Test Automation and Programming Languages 12. Automation Framework Design and Development 13. Measuring Automated Testing 14. Conclusion
£37.99
BCS Learning & Development Limited Artificial Intelligence and Software Testing:
Book SynopsisWINNER: Independent Press Awards 2023 - Category: Technology AI presents a new paradigm in software development, representing the biggest change to how we think about quality and testing in decades. Many of the well known issues around AI, such as bias, manifest themselves as quality management problems. This book, aimed at testing and quality management practitioners who want to understand more, covers trustworthiness of AI and the complexities of testing machine learning systems, before pivoting to how AI can be used itself in software test automation.Trade ReviewA brilliant reference with a focus on introducing the reader to new AI ideas and challenges. The danger with AI and software testing is the mistaken belief that people understand it all. This book addresses this issue by opening the reader up to a rich source of references & useful concepts using use cases, models and references, to both stimulate and challenge the reader's own knowledge of this broad subject. Highly recommended. -- Paul Mowat MBCS CITP, BCS SiGIST Social Media Secretary & Committee Member, Quality Test Engineer Director, Deloitte UKAI-based systems conquer more and more areas of our daily life. People are concerned whether these systems are trustworthy. 'Artificial Intelligence and Software Testing' tackles this issue and provides an insight into AI quality and how it differs from conventional software quality, and where the difficulties and challenges are in testing machine learning systems. A great introduction into this topic and must read for all interested in building AI-based systems that you can trust. -- Klaudia Dussa-Zieger, Chair GTB & Vice President ISTQB®, Head of ISTQB® Certified Tester AI Testing (CT-AI) taskforceIn the ever expansive and evolving virtual domain, the prominence of AI is becoming more and more prolific, and this evolution will not be without its challenges. This title provides an excellent resource into the potential dilemmas faced in this evolutionary field as the virtual, cognitive, and physical spaces become more interlinked with the dawn of the metaverse. The part that humans play in the growth, development and testing of AI is discussed. Supported by a wealth of experience, research, and evidence from the authors, the title provides a great introduction to and understanding of AI and software testing. Highly recommended for all with an interest in this area. -- Jonathan Miles MBA BSc(Hons) FCMI, Head of Strategic Intelligence, MimecastShift Right! A concept you won’t find in ‘The Seven Principles of Testing’. 'Artificial Intelligence and Software Testing' puts the principles into perspective. Not only does it explore early testing, but it also looks at the concept of exhaustive testing thoroughly and effectively. As a trainer of software testing I will definitely use all this book has to offer. Guiding the next generation of testers to question the intricacies of machine learning. A must for anyone in tech, not just software testers. -- Rachel Hurley MBCS TAP.dip, Technical Trainer (Software Testing)As the title describes, this book is a robust AI and ML testing exploration that also dives into the juxtaposition of the trustworthiness and bias in AI systems. It touches on the basis of ontologies and how to enable the considerable impact of testing and monitoring of AI-based systems. After reading this you would be able to answer an important challenge: how to determine that your AI system has been extensively tested? -- Dina Dede, AI/ML and Cloud Architect Lead, UKThis book beautifully captures the game-changing complexity of artificial intelligence (AI) and the traditional discipline of software quality management. It is a comprehensive manual addressing the conundrum and tantalizing promise of both disciplines with good pace and a distinct future-present context. Forget waterfall and DevOps, we’re right shifting into OpsDev, AIOps and digital twins in the metaverse, so things are about to get a whole lot more interesting. Excellent effort, and a much-needed treatment of this topic by true experts. -- Jude Umeh FBCS CITP, Senior Program Architect, Salesforce'Artificial Intelligence and Software Testing' is a great read. The vast experience of the authors is evident as they comprehensively explain the challenges and benefits of not only applying AI to testing, but also testing the AI software itself. I found the insight into the shift-right approach and its application during the development of the test and trace application fascinating. A must read for any testing/QA professional plus any C-suite looking to rapidly increase their ROI on testing. -- Anil Pande, Managing Partner, TestPro Consulting LtdThis book is a very good introduction to using AI in software testing as well as testing AI systems, covering several relevant topics like societal risk, bias, ethical behavior, quality, trustworthiness, and the problems associated with AI/ML systems. I specifically liked the section that details on the problems associated with AI/ML systems. I would recommend this book to anyone who is starting their study on software testing vis-a-vis AI/ML systems. -- Venkat Ramakrishnan, Software Quality Leader And Software Testing Technologist'Artificial Intelligence and Software Testing' is a valuable resource for anyone curious in how to approach testing AI models as they expand into our daily lives. This is a clear, informative read which discusses within each chapter different testing challenges with AI software and advice on how to handle them effectively. I can highly recommend this to testers and students alike. -- Katy Hannath BSc(Hons), MSc in Artificial Intelligence and Data Science student, & Quality Assurance Tester, VISR DynamicsThis book is an exceptionally practical resource which is a remarkable reference guide to understanding the foundations of AI & ML for anyone wishing to build a career in AI or define a test approach. It has a clear, direct, and concise explanation of AI, ML, ethics, ontology, quality, bias, challenges, test automation, and the significance of ‘shift-right’ testing. It offers thorough, data-driven and real-world examples that bring together the rich wealth of experience from these expert authors and authorities in this area. -- Boby Jose BSc MBA MBCS, Author of BCS publication ‘Test Automation: A manager’s guide’What an exciting and relevant publication! Beyond the positive game-changing societal benefits delivered by AI, it has proven equally disruptive to all aspects of software engineering including software testing. This book provides great insight into new build and test design techniques to augment our traditional thinking. An essential guide for technology leaders and test professionals alike, looking to understand how to approach the critical problem of building and testing today’s complex and often unpredictable AI systems. -- Jack Mortassagne, Director at Cigniti Technologies and TMMI Accredited AssessorThis is a great book for those who want to gain more insight into how AI will affect the software testing profession. The writers introduce the challenges in AI in an easy-to-understand manner, while the case studies showcased are extremely interesting and contemporary, clearly exemplifying the topics presented. Brilliant read and highly recommended! -- Dr Diana Hintea BEng(Hons) PhD SFHEA, Associate Head of School (School of Computing, Electronics and Mathematics), Coventry UniversityIn a time the promised paradigm shift of Artificial intelligence is starting to have a real-world impact, this is a vitally important book. It explains the social, ethical, and technical concerns around AI in an easy to understand way, making a complex subject easily accessible. Everyone involved in IT is likely to be impacted by AI whether from a business, technical, ethical, or quality point of view and so this book will be an invaluable resource for everyone in IT. As a Testing and Quality specialist, this is going to have pride of place on my bookshelf as a practical, real-world reference for helping me navigate testing and quality in the emerging world of AI. -- Bryan Jones MBCS, Director of Testing Practice, Sopra Steria Private SectorThis book is a must-read for anyone in software testing with responsibility for quality assuring AI technology that must engender public trust. With topics that feel both familiar and challenging, the authors confidently explore a range of subjects to broaden and deepen the reader’s understanding of the intersection of AI and testing. -- Bronia Anderson-Kelly, IT change consultant, Sabiduria LtdThis book addresses an often ignored but critically important aspect of AI implementation: how to ensure that AI's are producing, and continue to produce, acceptable output. As AI is non-deterministic and complex, and dataset quality can be highly variable, it is notoriously difficult to determine suitable test cases for modern systems. In this book, the authors provide practical methods and examples that can be used to ensure AI quality, and as such is an extremely useful resource for anyone implementing systems involving AI and machine learning. -- Peter Brightwell MSc, Intelligent Automation Architect, NDL SoftwareTable of Contents Introduction AI Trustworthiness and Quality Quality and Bias Testing Machine Learning Systems AI-based Test Automation Ontologies for Software Testing Shifting Right into the Metaverse with Digital Twin Testing
£33.24
BCS Learning & Development Limited Software Testing
Book SynopsisThis bestselling study guide explains the basic steps of software testing and how to perform effective tests in both traditional and Agile environments. It provides an overview of all key techniques, including dynamic and static, and guidance on exam preparation for the ISTQB Certified Tester Foundation Level exam (current to v4.0)This is the official BCS and UKITB textbook , and includes self-assessment exercises, guidance notes on the syllabus topics, plus examples and exercises reflecting current technology and applications, as well as example questions aligned to the syllabus.This brand new fifth edition is ideal for those with a little experience of software testing who wish to cement their knowledge with industry-recognised techniques and theory and those who wish to undertake the ISTQB CTFL v4.0 certification.The book that covers the new ISTQB Certified Tester Foundation Level version 4.0 Syllabus, that includes both traditional and
£42.74
BCS Learning & Development Limited Introduction to AI Testing
£33.24
Packt Publishing Limited Pocket CIO The Guide to Successful IT Asset
Book SynopsisCreate and manage a clear working IT asset management strategy with this unique guideAbout This Book A detailed IT Asset Management (ITAM) guidebook with real-world templates that can be converted into working ITAM documents. Includes in-depth discussion on how risk management has changed and the possible solutions needed to address the new normal A step-by-step ITAM manual for newbies as well as seasoned ITAM veteransWho This Book Is ForThis book is intended for CIOs, VPs and CTOs of mid to large-sized enterprises and organizations. If you are dealing with changes such as mergers, acquisitions, divestitures, new products or services, cyber security, mandated regulations, expansion, and much more, this book will help you too. What You Will Learn Close the hidden risk gaps created by IT assets (hardware and software) Create and manage a proactive ITAM and SAM program and policy A clear, concise explanation of what IT Asset Management and Software Asset Management is, the benefits, and results The best ways to manage a software audit and how to be prepared for one Considerations for selecting the best technology for a specific company including what questions should be asked at the onset Increasing ITAM program and project success with change managementIn DetailThis book is a detailed IT Asset Management (ITAM) guidebook with real-world templates that can be converted into working ITAM documents. It is a step-by-step IT Asset Management manual for the newbies as well as the seasoned ITAM veterans, providing a unique insight into asset management. It discusses how risk management has changed over time and the possible solutions needed to address the new normal. This book is your perfect guide to create holistic IT Asset Management and Software Asset Management programs that close the risk gaps, increases productivity and results in cost efficiencies. It allows the IT Asset Managers, Software Asset Managers, and/or the full ITAM program team to take a deep dive by using the templates offered in the guidebook. You will be aware of the specific roles and responsibilities for every aspect of IT Asset Management, Software Asset Management, and Software License Compliance Audit Response. By the end of this book, you will be well aware of what IT and Software Asset Management is all about and the different steps, processes, and roles required to truly master it. Style and approachPacked with important discussion points, examples, case studies, templates, and checklists.
£31.34
Packt Publishing Limited Robot Framework Test Automation
£23.99
ISTE Ltd and John Wiley & Sons Inc Fundamentals of Software Testing
Book SynopsisSoftware testing has greatly evolved since the first edition of this book in 2011. Testers are now required to work in agile teams and focus on automating test cases. It has thus been necessary to update this work, in order to provide fundamental knowledge that testers should have to be effective and efficient in today's world. This book describes the fundamental aspects of testing in the different lifecycles, and how to implement and benefit from reviews and static analysis. Multiple other techniques are approached, such as equivalence partitioning, boundary value analysis, use case testing, decision tables and state transitions. This second edition also covers test management, test progress monitoring and incident management, in order to ensure that the testing information is correctly provided to the stakeholders. This book provides detailed course-study material for the 2023 version of the ISTQB Foundation level syllabus, including sample questions to help prepare for exams.
£112.50
IGI Global Software Engineering for Agile Application Development
Book SynopsisAs the software industry continues to evolve, professionals are continually searching for practices that can assist with the various problems and challenges in information technology (IT). Agile development has become a popular method of research in recent years due to its focus on adapting to change. There are many factors that play into this process, so success is no guarantee. However, combining agile development with other software engineering practices could lead to a high rate of success in problems that arise during the maintenance and development of computing technologies.Software Engineering for Agile Application Development is a collection of innovative research on the methods and implementation of adaptation practices in software development that improve the quality and performance of IT products. The presented materials combine theories from current empirical research results as well as practical experiences from real projects that provide insights into incorporating agile qualities into the architecture of the software so that the product adapts to changes and is easy to maintain. While highlighting topics including continuous integration, configuration management, and business modeling, this book is ideally designed for software engineers, software developers, engineers, project managers, IT specialists, data scientists, computer science professionals, researchers, students, and academics.
£178.20
Packt Publishing Limited CISA – Certified Information Systems Auditor
Book SynopsisThis CISA study guide is for those interested in achieving CISA certification and provides complete coverage of ISACA’s latest CISA Review Manual (2019) with practical examples and over 850 exam-oriented practice questionsKey Features Gain tactical skills in auditing, control, and security to pass the CISA examination Get up to speed with auditing business IT systems Increase your value to organizations and be at the forefront of an evolving business landscape by achieving CISA certification Book DescriptionAre you looking to prepare for the CISA exam and understand the roles and responsibilities of an information systems (IS) auditor? The CISA - Certified Information Systems Auditor Study Guide is here to help you get started with CISA exam prep. This book covers all the five CISA domains in detail to help you pass the exam. You’ll start by getting up and running with the practical aspects of an information systems audit. The book then shows you how to govern and manage IT, before getting you up to speed with acquiring information systems. As you progress, you’ll gain knowledge of information systems operations and understand how to maintain business resilience, which will help you tackle various real-world business problems. Finally, you’ll be able to assist your organization in effectively protecting and controlling information systems with IT audit standards. By the end of this CISA book, you'll not only have covered the essential concepts and techniques you need to know to pass the CISA certification exam but also have the ability to apply them in the real world.What you will learn Understand the information systems auditing process Get to grips with IT governance and management Gain knowledge of information systems acquisition Assist your organization in protecting and controlling information systems with IT audit standards Understand information systems operations and how to ensure business resilience Evaluate your organization’s security policies, standards, and procedures to meet its objectives Who this book is forThis CISA exam study guide is designed for those with a non-technical background who are interested in achieving CISA certification and are currently employed or looking to gain employment in IT audit and security management positions.Table of ContentsTable of Contents Audit Planning Audit Execution IT Governance IT Management Information Systems Acquisition and Development Information Systems Implementation Information System Operations Business Resilience Information Asset Security and Control Network Security and Control Public Key Cryptography and Other Emerging Technologies Security Event Management
£31.49