End-to-End Software Quality Assurance & Control

Growing Object-Oriented Software, Guided by Tests

Posted in Book by chaumanduc on May 4, 2010

Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: write tests for your code before you write the code itself. However, this “simple” idea takes skill and judgment to do well. Now there’s a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and “grow” software that is coherent, reliable, and maintainable.

Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you’ll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD—from integrating TDD into your processes to testing your most difficult features.

Coverage includes

  • Implementing TDD effectively: getting started, and maintaining your momentum throughout the project
  • Creating cleaner, more expressive, more sustainable code
  • Using tests to stay relentlessly focused on sustaining quality
  • Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project
  • Using Mock Objects to guide object-oriented designs
  • Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency

About Author

Steve Freeman and Nat Pryce are independent software consultants who were pioneers of Agile software development in the UK. They’ve both worked in a range of industries and organizations: system development for telecoms, finance, sports reportage and marketing communications, shrink-wrap applications for IBM, and industrial and academic research. They were founder organizers of the London XP Day conference, and are regular presenters and organizers at international conferences. Steve and Nat are committers on several influential open-source projects that support TDD. In 2006, they were jointly awarded the Agile Alliance’s Gordon Pask award. They are based in London, UK.

Tagged with:

Beta Testing for Better Software

Posted in Book by chaumanduc on May 4, 2010

Implement, operate, and use beta testing immediately with this hands-on guide to the best practices

Beta testing is a complex process that, when properly run, provides a wealth of diverse information. But when poorly executed, it delivers little or no data while wasting time and money. Written by a leading expert in the field, this book will help you reach the full potential that beta testing has to offer.

Michael Fine compiles the best practices to date so you can effectively bring beta testing into your company’s process to improve product quality. Using real-world case studies, this book begins by clearly explaining what a beta is and why you need one. Fine then explores the beta test procedure and walks through the best processes to use when implementing a test. He concludes by detailing the steps you should take after completing a test in order to take full advantage of the results.

With this book, you’ll gain a better understanding of what beta testing is, why every company needs a beta test program, and how to get the most from a test. Fine will help you:

  • Understand all the steps involved in beta testing using real-world case studies
  • Implement a beta test using best- known practices
  • Produce better products based on the results of well-run beta tests
  • Apply beta testing across many platforms and many technologies
  • Improve on existing processes and identify critical issues

About Author

Michael Fine is director of Client Services and a founder of Centercode, an application service provider (ASP) focused on providing tools and services that enable businesses to improve their products through effective beta testing. Prior to Centercode, Mike was the beta test manager for
Megahertz, US Robotics, and ultimately, 3Com Corporation for more than seven years. He was responsible for managing the beta testing of 3Com networking and communication products for three global divisions. During that time, he and his staff performed nearly 300 beta tests.

In addition to his professional experience, Mike is an inventor with two U.S. patents, a former technical writer for Iomega, and a published freelance writer on various subjects including technology. He graduated from Weber State University where he earned a bachelor of arts degree
with honors.

In addition to his recognized leadership in the area of beta testing, Mike is a certified technology freak with a passion for innovation. He is also a recognized expert in a variety of fields, including Web programming, wireless and wired communications, networking, quality processes, and new technologies. He loves tinkering in digital video, handhelds, music, DVD, home theatre, and anything new or fascinating.

Originally from Chicago, Mike now makes his home in Utah. He spends his free time with his family skiing, canoeing, geocaching, playing soccer, and enjoying the outdoors. If it weren’t for the inconvenient need for sleep, he would spend more time reading, listening to music, and watching films. He was a gate judge for the Women’s Downhill during the 2002 Olympic Winter Games.

Tagged with:

Risk-Based E-Business Testing

Posted in Book by chaumanduc on May 4, 2010

Hands-on guide for business, project and test managers and test practitioners presenting an effective approach for using risk to construct test strategies for e-business systems. Shows how to select test techniques to address business risks and integrate them into a coherent test process.

About Author

Paul is the Principal of Gerrard Consulting.

He received his M.A. in engineering science from Oxford University and MSc and DIC in structural engineering from Imperial College, London University. Having worked briefly as a consulting civil engineer, he moved into software engineering in 1981. For ten years, he worked as a developer, designer, project manager and consultant working initially on engineering applications and later, in the telecommunications and IT arenas.

He has worked for Gerrard Consulting and Systeme Evolutif as a test manager, consultant and trainer for a diverse range of clients in the banking, insurance, government, aviation and manufacturing industries in addition to central government, software houses and utilities.

Paul has been Co-Programme Chair for the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) which is the primary forum for software testers in the UK and is also a member of the BCS Software Component Test Standard Committee that created the British Standards BS7925-1 (Glossary of Software Testing Terms) and BS7925-2 (Software Component Testing). He was the founding Chair and is currently member of the BCS Information Systems Examination Board (ISEB) Testing Certificate Board whose aim is to establish a certification scheme for testing professionals and training organisations.

He is a regular keynote speaker at seminars and conferences in Europe and the US and been a keynote speaker at EuroSTAR, STAR in the US, Mercury Interactive User Group, CMG TestFrame conference, the Norwegian and Swedish and Danish specialist interest groups in software testing and won the ‘Best Presentation’ award at EuroSTAR ’95.

Paul has written many papers and articles on software testing, most of which are available on the Gerrard Consulting web site. These include topics such as Client/server, Internet and E-Business testing, risk based testing, test automation, test process improvement, testing requirements, performance testing, business simulation testing and test methodology.

He has created many methodology and training assets. He wrote the system test methodology, SysTeMet™, training courses in Acceptance Testing, Risk Based Testing, E-Business Testing and a  ISEB accredited Foundation Course in Software testing. He created the Test Organisation Maturity Model, TOM™ which includes a database that can generate weighted test process improvement opportunities.

Paul is the webmaster for the Gerrard Consulting web site which has a searchable database of web links to papers and articles on software testing, an online forum for testers and TBT training courses in software testing.

Gerrard Consulting is a software testing consultancy specialising in E-Business testing, RAD, test process improvement and the selection and implementation of CAST Tools. Evolutif are founder members of the DSDM (Dynamic Systems Development Method) consortium, which was set up to develop a non-proprietary Rapid Application Development method. DSDM has been taken up across the industry by many forward-looking organisations.

Paul’s email address is paul AT gerrardconsulting DOT com.

Neil Thompson is an independent testing consultant and testing manager, serving blue-chip clients through www.TiSCL.com, either directly or in association with other consultancies. He worked with Systeme Evolutif for one of the projects on which the book is based; this was a follow-on assignment enabled by an earlier shared success with the same bank.

Neil has worked for 25 years in information systems, initially with a hardware manufacturer and two of the UK’s leading software houses, followed by a period abroad with an international user organisation. After a further ten years as a management consultant with global firms, Neil launched his own company in 1998, since when he has fulfilled several successful assignments for high-profile organisations in the financial services, retail, pharmaceutical and information technology sectors. His overall experience also embraces the “network” industries – energy, transport, water and communications – plus other complex and mission-critical applications.

He therefore has a wide perspective on the IS business, including roles as a programmer, systems analyst and project manager. He has shared the frustrations of users and the sleep deprivation of operators, and as a scientist with artistic tendencies he now feels fulfilled as a testing specialist. This sometimes leads to broader-based work around quality assurance, change management and process consulting.

Neil’s testing expertise began with intuitive unit testing using various languages from assembler upwards, then developed with exposure to structured methodologies and leadership of system testing and acceptance testing. He became the leading testing expert with one of the world’s top management consultancies, specialising in systems integration, and is now active amongst the UK’s most prominent testers in sharing experiences and ideas with colleagues in Europe, the USA and beyond. This is based on a long record of speaking at conferences and seminars, and writing magazine articles: for example, Neil spoke at the first two EuroSTAR events (in 1993 and 1994), and his 1999 paper sowed some of the seeds of this book. He is collaborating with Paul Gerrard on a tutorial for the 2002 EuroSTAR conference.

He is a graduate of Cambridge University (UK), and a member of the British Computer Society (plus its specialist interest groups in Software Testing and Configuration Management). He holds the ISEB Foundation Certificate in software testing and has applied to take the Practitioner Certificate examination during 2002. Neil is also a Certified Management Consultant (Institute of Management Consultancy, UK) and a member of the IEEE.

Neil’s email address is: neilt AT tiscl DOT  com

Tagged with:

Handbook of Software Quality Assurance

Posted in Book by chaumanduc on May 4, 2010

SQA (software quality assurance) is a critical factor that all software engineers and developers need to master, and this thoroughly revised fourth edition of the popular book, “Handbook of Software Quality Assurance”, serves as a one-stop resource for complete and current SQA knowledge. Emphasizing the importance of CMMI[registered] and key ISO requirements, this unique book discusses a wide spectrum of real-world experiences and key issues presented in papers from leading experts in the field. The fourth edition is a significant update to past editions, providing the very latest details on current best practices and explaining how SQA can be implemented in organizations large and small. Practitioners find an updated discussion on the American Society for Quality (ASQ) SQA certification program, covering the benefits of becoming an ASQ certified software quality engineer. The book also helps readers better understand the requirements of the ASQ’s CSQE examination.

About Author

G. GORDON SCHULMEYER, C.D.P., is president of PYXIS Systems International, Inc., focusing on software process and quality improvement. He was manager of software engineering and previously software quality engineering at Westinghouse Electronic Systems Group. He is the author of Zero Defect Software, Total Quality Management for Software, Computer Concepts for Managers, and the soon to be published Software Verification and Validation. He has published and lectured extensively on software quality, and he won the 1992 Shingo Prize for his work in the field.

Tagged with:

Effective Software Testing: 50 Specific Ways to Improve Your Testing

Posted in Book by chaumanduc on April 19, 2010

Effective Software Testing explores fifty critically important best practices, pitfalls, and solutions. Gleaned from the author’s extensive practical experience, these concrete items will enable quality assurance professionals and test managers to immediately enhance their understanding and skills, avoid costly mistakes, and implement a state-of-the-art testing program.

This book places special emphasis on the integration of testing into all phases of the software development life cycle–from requirements definition to design and final coding. The fifty lessons provided here focus on the key aspects of software testing: test planning, design, documentation, execution, managing the testing team, unit testing, automated testing, nonfunctional testing, and more.

You will learn to:

  • Base testing efforts on a prioritized feature schedule
  • Estimate test preparation and execution
  • Define the testing team roles and responsibilities
  • Design test procedures as soon as requirements are available
  • Derive effective test cases from requirements
  • Avoid constraints and detailed data elements in test procedures
  • Make unit-test execution part of the build process
  • Use logging to increase system testability
  • Test automated test tools on an application prototype
  • Automate regression tests whenever possible
  • Avoid sole reliance on capture/playback
  • Conduct performance testing with production-sized databases
  • Tailor usability tests to the intended audience
  • Isolate the test environment from the development environment
  • Implement a defect tracking life cycle

Throughout the book, numerous real-world case studies and concrete examples illustrate the successful application of these important principles and techniques.

Effective Software Testing provides ready access to the expertise and advice of one of the world’s foremost software quality and testing authorities.

About Author

I enjoy researching new ideas and discovering new approaches to the automated software testing challenge. Software development is still an art and that makes automated software testing a special challenge. At IDT (www.idtus.com) we strive to meet that challenge and produce an reusable automated testing framework that includes reusable automated testing components. I have a B.S. in Computer Science with over 20 years of IT experience, implementing effective testing strategies, both on Government and commercial programs. I work for IDT (www.idtus.com) – a leader in automated software testing solutions -, and I have implemented automated testing methodologies and testing strategies as an Internal SQA Consultant at Symantec, worked as an Asst. Director for Integrated Testing at the IRS Modernization Efforts, implemented testing strategies and built test teams as a QA Director for BNA Software, and was the QA Manager for the Coast Guard MOISE program, just to name a few of the companies and testing/QA efforts I have worked on in the past 20 years.

I am the author and co-author of 6 books related to Software Testing, i.e. author of the book ‘Effective Software Testing’ and lead author of ‘Automated Software Testing’ and ‘Quality Web Systems,’ and co-authored the book ‘The Art of Software Security Testing,’ together with Chris Wysopal, Lucas Nelson, Dino D’ai Zovi, which was published by Symantec Press, Nov 2006.

Together with IDT CEO Bernie Gauf and IDT FSO and Sys Admin Guru Thom Garrett we wrote the latest book “Implementing Automated Software Testing” and the book is getting rave reviews.

Tagged with:

How we test software at Microsoft

Posted in Book by chaumanduc on April 18, 2010

It may surprise you to learn that Microsoft employs as many software testers as developers. Less surprising is the emphasis the company places on the testing discipline—and its role in managing quality across a diverse, 150+ product portfolio.

This book—written by three of Microsoft’s most prominent test professionals—shares the best practices, tools, and systems used by the company’s 9,000-strong corps of testers. Learn how your colleagues at Microsoft design and manage testing, their approach to training and career development, and what challenges they see ahead. Most important, you’ll get practical insights you can apply for better results in your organization.

Discover how to:

  • Design effective tests and run them throughout the product life cycle
  • Minimize cost and risk with functional tests, and know when to apply structural techniques
  • Measure code complexity to identify bugs and potential maintenance issues
  • Use models to generate test cases, surface unexpected application behavior, and manage risk
  • Know when to employ automated tests, design them for long-term use, and plug into an automation infrastructure
  • Review the hallmarks of great testers—and the tools they use to run tests, probe systems, and track progress efficiently
  • Explore the challenges of testing services vs. shrink-wrapped software
About Author

Alan Page began his software testing career in 1993 and joined Microsoft in 1995. In Alan’s career at Microsoft, he has worked on various versions of Windows, Internet Explorer, and Windows CE. While a member of the Windows CE team, Alan became one of Microsoft’s first Test Architects in 2001. Alan joined the Engineering Excellence team in 2005 and is currently the Director of Test Excellence at Microsoft, where he and his team provide technical training and consulting for testers at Microsoft.

Ken Johnston is the Group Manager for the Microsoft Office Internet Platform & Operations team. This team develops manageability features for server products and services as well as provides live site operations support for Office Online, Office Live, CRM Online and several other services. Since joining Microsoft in 1998 Johnston has filled many other roles, including test lead on Site Server and MCIS and test manager on Hosted Exchange, Knowledge Worker Services, Net Docs, and the Microsoft Billing and Subscription Platform service. For two and a half years (2004–2006) he served as the Microsoft Director of Test Excellence.

Bj Rollison is a Test Architect in the Engineering Excellence team. He began his Microsoft career in 1994, working on Windows 95. He also worked on various releases of Internet Explorer, Outlook 98, and several smaller projects until becoming the Director of Test in 1999. Prior to Microsoft, Bj worked for a small OEM company in Japan building hardware and software solutions for small businesses. Bj is a frequent speaker at international conferences, contributes regularly to professional trade journals, and also teaches courses in software testing and test automation for the University of Washington Extension Program.

Tagged with:

Manage Software Testing

Posted in Book by chaumanduc on April 18, 2010

Whether you are inheriting a test team or starting one up,

Manage Software Testing is a must-have resource that covers all aspects of test management. It guides you through the business and organizational issues that you are confronted with on a daily basis, explaining what you need to focus on strategically, tactically, and operationally.

Using a risk-based approach, the author addresses a range of questions about software product development. The book covers unit, system, and non-functional tests and includes examples on how to estimate the number of bugs expected to be found, the time required for testing, and the date when a release is ready. It weighs the cost of finding bugs against the risks of missing release dates or letting bugs appear in the final released product.

It is imperative to determine if bugs do exist and then be able to metric how quickly they can be identified, the cost they incur, and how many remain in the product when it is released. With this book, test managers can effectively and accurately establish these parameters.

About Author

“If it can go wrong it will not go wrong until the last opportunity to fix it has passed” – Peter Farrell-Vinay

Tagged with:

Effective Methods for Software Testing

Posted in Book by chaumanduc on April 17, 2010

Aimed at the working test manager or test engineer, the third edition of William Perry’s Effective Methods for Software Testing is one of the most rigorous guides to software testing available. This book provides the latest in standards for measuring how good your organization’s commitment to software testing is and many ways to improve it. In all, with its numerous lists and practical step-by-step guide to testing, this book points the way toward more economical and effective software testing.

This book’s major strength is its meticulous 11-step guide to all aspects of today’s software testing process–from initial analysis and test planning to testing software installation and looking at ways to improve the testing cycle the next time around. The book is filled with to-do lists that enumerate the resources and tasks required for each step with helpful hints for what to do, how to work with management, and how to staff and execute a test plan from start to finish. (There is a chapter devoted to each of the 11 steps.) The text also incorporates the latest in testing standards from the Quality Assurance Institute (QAI), and the author does a good job of integrating testing with today’s iterative software methodologies. Another standout here is a look at software tools and how they can simplify the testing process.

Of course, few software shops will be as rigorous in real life with the testing process outlined in this book, but there’s little doubt that this exhaustive guide sets a high standard that test engineers can aim for. Written in a somewhat formal–yet clear–style, this book can certainly benefit any software testing engineer or manager. –Richard Dragan

Topics covered: Software testing process fundamentals, Quality Assurance Institute (QAI) test quality assessment, software defects, Kiviatt charts, testing economics, methodologies and costs, test plans, risk analysis, structural and functional testing, dynamic and static testing, manual and automated testing, testing tools, stress testing, compliance testing, security testing, requirements testing, regression testing, 11-step software testing process, testing client/server, and Web-based systems.

About Author

WILLIAM E. PERRY is author of more than fifty books on quality assurance, and coauthor, with Randall W. Rice, of Surviving the Top-Ten Challenges of Software Testing, 2nd ed. (Dorset House, 2009). His early association with quality-pioneer W. Edwards Deming and his extensive industry experience have convinced him that budgets, performance appraisals, and top-down management are counter-productive to success. He learned and practiced effective management techniques as a consultant and contractor for Fortune-500 companies, and as founder and former CEO of Orlando-based Quality Assurance Institute. Two of his current passions are IT innovation and software forensics, subjects he looks forward to writing about, believing their effective practice will lead more organizations to world-class status.

Tagged with:

Beautiful Testing: Leading Professionals Reveal How They Improve Software

Posted in Book by chaumanduc on April 17, 2010

Successful software depends as much on scrupulous testing as it does on solid architecture or elegant code. But testing is not a routine process, it’s a constant exploration of methods and an evolution of good ideas.

Beautiful Testing offers 23 essays from 27 leading testers and developers that illustrate the qualities and techniques that make testing an art. Through personal anecdotes, you’ll learn how each of these professionals developed beautiful ways of testing a wide range of products — valuable knowledge that you can apply to your own projects.

Here’s a sample of what you’ll find inside:

  • Microsoft’s Alan Page knows a lot about large-scale test automation, and shares some of his secrets on how to make it beautiful
  • Scott Barber explains why performance testing needs to be a collaborative process, rather than simply an exercise in measuring speed
  • Karen Johnson describes how her professional experience intersected her personal life while testing medical software
  • Rex Black reveals how satisfying stakeholders for 25 years is a beautiful thing
  • Mathematician John D. Cook applies a classic definition of beauty, based on complexity and unity, to testing random number generators

All author royalties will be donated to the Nothing But Nets campaign to save lives by preventing malaria, a disease that kills millions of children in Africa each year.

This book includes contributions from:

  • Adam Goucher
  • Linda Wilkinson
  • Rex Black
  • Martin Schröder
  • Clint Talbert
  • Scott Barber
  • Kamran Khan
  • Emily Chen
  • Brian Nitz
  • Remko Tronçon
  • Alan Page
  • Neal Norwitz
  • Michelle Levesque
  • Jeffrey Yasskin
  • John D. Cook
  • Murali Nandigama
  • Karen N. Johnson
  • Chris McMahon
  • Jennitta Andrea
  • Lisa Crispin
  • Matt Heusser
  • Andreas Zeller
  • David Schuler
  • Tomasz Kojm
  • Adam Christian
  • Tim Riley
  • Isaac Clerencia

About Author

Tim Riley is the Director of Quality Assurance at Mozilla. He has tested software for 18 years including everything from spacecraft simulators, ground control systems, high security operating systems, language platforms, application servers, hosted services and open source web applications. He has managed software testing teams in startups to large corporations consisting of 3 to 120 people in size and in up to 6 countries. He has a software patent for a testing execution framework which matches test suites to available test systems. He enjoys being a breeder caretaker for Canine Companions for Independence (cci.org) along with live and studio sound engineering.

Adam Goucher has been testing software professionally for over ten years. In that time he has worked with start-ups, large multi-nationals and ones in between in both traditional and agile testing environments. A believer in the communication of ideas big and small, he writes frequently at http://adam.goucher.ca and teaches testing skills at a Toronto area technical college. In his off hours he can be found either playing or coaching box lacrosse – and then promptly applying lessons learned to testing. He is also an active member of the Association for Software Testing.

Tagged with:
Follow

Get every new post delivered to your Inbox.