Hard Problems in Software Testing

Hard Problems in Software Testing

Author: Scott Tilley

Publisher: Springer Nature

Published: 2022-05-31

Total Pages: 103

ISBN-13: 3031025474

DOWNLOAD EBOOK

This book summarizes the current hard problems in software testing as voiced by leading practitioners in the field. The problems were identified through a series of workshops, interviews, and surveys. Some of the problems are timeless, such as education and training, while others such as system security have recently emerged as increasingly important. The book also provides an overview of the current state of Testing as a Service (TaaS) based on an exploration of existing commercial offerings and a survey of academic research. TaaS is a relatively new development that offers software testers the elastic computing capabilities and generous storage capacity of the cloud on an as-needed basis. Some of the potential benefits of TaaS include automated provisioning of test execution environments and support for rapid feedback in agile development via continuous regression testing. The book includes a case study of a representative web application and three commercial TaaS tools to determine which hard problems in software testing are amenable to a TaaS solution. The findings suggest there remains a significant gap that must be addressed before TaaS can be fully embraced by the industry, particularly in the areas of tester education and training and a need for tools supporting more types of testing. The book includes a roadmap for enhancing TaaS to help bridge the gap between potential benefits and actual results. Table of Contents: Introduction / Hard Problems in Software Testing / Testing as a Service (TaaS) / Case Study and Gap Analysis / Summary / Appendix A: Hard Problems in Software Testing Survey / Appendix B: Google App Engine Code Examples / Appendix C: Sauce Labs Code Examples / References / Author Biographies


Surviving the Top Ten Challenges of Software Testing

Surviving the Top Ten Challenges of Software Testing

Author: William Perry

Publisher: Addison-Wesley

Published: 2013-07-15

Total Pages: 242

ISBN-13: 0133489159

DOWNLOAD EBOOK

This is the digital version of hte printed book (Copyright © 1997). Software testers require technical and political skills to survive what can often be a lose-lose relationship with developers and managers. Whether testing is your specialty or your stepping stone to a career as a developer, there's no better way to survive the pressures put on testers than to meet the ten challenges described in this practical handbook. This book goes beyond the technical skills required for effective testing to address the political realities that can't be solved by technical knowledge alone. Communication and negotiation skills must be in every tester's tool kit. Authors Perry and Rice compile a "top ten" list of the challenges faced by testers and offer tactics for success. They combine their years of experience in developing testing processes, writing books and newsletters on testing, and teaching seminars on how to test. The challenges are addressed in light of the way testing fits into the context of software development and how testers can maximize their relationships with managers, developers, and customers. In fact, anyone who works with software testers should read this book for insight into the unique pressures put on this part of the software development process. "Somewhere between the agony of rushed deadlines and the luxury of all the time in the world has got to be a reasonable approach to testing."—from Chapter 8 The Top Ten People Challenges Facing Testers Challenge #10: Getting Trained in Testing Challenge #9: Building Relationships with Developers Challenge #8: Testing Without Tools Challenge #7: Explaining Testing to Managers Challenge #6: Communicating with Customers—And Users Challenge #5: Making Time for Testing Challenge #4: Testing What's Thrown Over the Wall Challenge #3: Hitting a Moving Target Challenge #2: Fighting a Lose-Lose Situation Challenge #1: Having to Say No


Developer Testing

Developer Testing

Author: Alexander Tarlinder

Publisher: Addison-Wesley Professional

Published: 2016-09-07

Total Pages: 629

ISBN-13: 0134291085

DOWNLOAD EBOOK

How do successful agile teams deliver bug-free, maintainable software—iteration after iteration? The answer is: By seamlessly combining development and testing. On such teams, the developers write testable code that enables them to verify it using various types of automated tests. This approach keeps regressions at bay and prevents “testing crunches”—which otherwise may occur near the end of an iteration—from ever happening. Writing testable code, however, is often difficult, because it requires knowledge and skills that cut across multiple disciplines. In Developer Testing, leading test expert and mentor Alexander Tarlinder presents concise, focused guidance for making new and legacy code far more testable. Tarlinder helps you answer questions like: When have I tested this enough? How many tests do I need to write? What should my tests verify? You’ll learn how to design for testability and utilize techniques like refactoring, dependency breaking, unit testing, data-driven testing, and test-driven development to achieve the highest possible confidence in your software. Through practical examples in Java, C#, Groovy, and Ruby, you’ll discover what works—and what doesn’t. You can quickly begin using Tarlinder’s technology-agnostic insights with most languages and toolsets while not getting buried in specialist details. The author helps you adapt your current programming style for testability, make a testing mindset “second nature,” improve your code, and enrich your day-to-day experience as a software professional. With this guide, you will Understand the discipline and vocabulary of testing from the developer’s standpoint Base developer tests on well-established testing techniques and best practices Recognize code constructs that impact testability Effectively name, organize, and execute unit tests Master the essentials of classic and “mockist-style” TDD Leverage test doubles with or without mocking frameworks Capture the benefits of programming by contract, even without runtime support for contracts Take control of dependencies between classes, components, layers, and tiers Handle combinatorial explosions of test cases, or scenarios requiring many similar tests Manage code duplication when it can’t be eliminated Actively maintain and improve your test suites Perform more advanced tests at the integration, system, and end-to-end levels Develop an understanding for how the organizational context influences quality assurance Establish well-balanced and effective testing strategies suitable for agile teams


Happy About Global Software Test Automation

Happy About Global Software Test Automation

Author: Hung Quoc Nguyen

Publisher: Happy About

Published: 2006

Total Pages: 128

ISBN-13: 1600050123

DOWNLOAD EBOOK

This book addresses the fundamental issue of software testing and helps the reader understand the high-level elements necessary to better execute software test automation and outsourcing initiatives.


The Complete Guide to Software Testing

The Complete Guide to Software Testing

Author: William C. Hetzel

Publisher:

Published: 1988

Total Pages: 300

ISBN-13:

DOWNLOAD EBOOK

Ed Yourdan called it a bible for project managers. You'll gain a new perspective on software testing as a life cycle activity, not merely as something that happens at the end of coding. An invaluable aid for the development of testing standards and the evaluation of testing effectiveness.


Software Engineering at Google

Software Engineering at Google

Author: Titus Winters

Publisher: O'Reilly Media

Published: 2020-02-28

Total Pages: 602

ISBN-13: 1492082767

DOWNLOAD EBOOK

Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world’s leading practitioners construct and maintain software. This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions


Common System and Software Testing Pitfalls

Common System and Software Testing Pitfalls

Author: Donald G. Firesmith

Publisher: Addison-Wesley Professional

Published: 2014-01-17

Total Pages: 320

ISBN-13: 0133748685

DOWNLOAD EBOOK

“Don’s book is a very good addition both to the testing literature and to the literature on quality assurance and software engineering... . [It] is likely to become a standard for test training as well as a good reference for professional testers and developers. I would also recommend this book as background material for negotiating outsourced software contracts. I often work as an expert witness in litigation for software with very poor quality, and this book might well reduce or eliminate these lawsuits....” –Capers Jones, VP and CTO, Namcook Analytics LLC Software and system testers repeatedly fall victim to the same pitfalls. Think of them as “anti-patterns”: mistakes that make testing far less effective and efficient than it ought to be. In Common System and Software Testing Pitfalls, Donald G. Firesmith catalogs 92 of these pitfalls. Drawing on his 35 years of software and system engineering experience, Firesmith shows testers and technical managers and other stakeholders how to avoid falling into these pitfalls, recognize when they have already fallen in, and escape while minimizing their negative consequences. Firesmith writes for testing professionals and other stakeholders involved in large or medium-sized projects. His anti-patterns and solutions address both “pure software” applications and “software-reliant systems,” encompassing heterogeneous subsystems, hardware, software, data, facilities, material, and personnel. For each pitfall, he identifies its applicability, characteristic symptoms, potential negative consequences and causes, and offers specific actionable recommendations for avoiding it or limiting its consequences. This guide will help you Pinpoint testing processes that need improvement–before, during, and after the project Improve shared understanding and collaboration among all project participants Develop, review, and optimize future project testing programs Make your test documentation far more useful Identify testing risks and appropriate risk-mitigation strategies Categorize testing problems for metrics collection, analysis, and reporting Train new testers, QA specialists, and other project stakeholders With 92 common testing pitfalls organized into 14 categories, this taxonomy of testing pitfalls should be relatively complete. However, in spite of its comprehensiveness, it is also quite likely that additional pitfalls and even missing categories of pitfalls will be identified over time as testers read this book and compare it to their personal experiences. As an enhancement to the print edition, the author has provided the following location on the web where readers can find major additions and modifications to this taxonomy of pitfalls: http://donald.firesmith.net/home/common-testing-pitfalls Please send any recommended changes and additions to dgf (at) sei (dot) cmu (dot) edu, and the author will consider them for publication both on the website and in future editions of this book.


Systematic Software Testing

Systematic Software Testing

Author: Rick David Craig

Publisher: Artech House

Published: 2002

Total Pages: 584

ISBN-13: 9781580537926

DOWNLOAD EBOOK

Gain an in-depth understanding of software testing management and process issues that are critical for delivering high-quality software on time and within budget. Written by leading experts in the field, this book offers those involved in building and maintaining complex, mission-critical software systems a flexible, risk-based process to improve their software testing capabilities. Whether your organization currently has a well-defined testing process or almost no process, Systematic Software Testing provides unique insights into better ways to test your software.This book describes how to use a preventive method of testing, which parallels the software development lifecycle, and explains how to create and subsequently use test plans, test design, and test metrics. Detailed instructions are presented to help you decide what to test, how to prioritize tests, and when testing is complete. Learn how to conduct risk analysis and measure test effectiveness to maximize the efficiency of your testing efforts. Because organizational structure, the right people, and management are keys to better software testing, Systematic Software Testing explains these issues with the insight of the authorsOCO more than 25 years of experience."


Improving the Software Testing Skills of Novices During Onboarding Through Social Transparency

Improving the Software Testing Skills of Novices During Onboarding Through Social Transparency

Author: Raphael Pham

Publisher: Logos Verlag Berlin GmbH

Published: 2016-12-15

Total Pages: 231

ISBN-13: 3832543856

DOWNLOAD EBOOK

Inexperienced software developers - such as fresh graduates - shape the future of software engineering as a practice. Supporting these novice developers in becoming high quality engineers is a key objective of our engineering community. Yet, inexperienced developers have considerable trouble in applying the fundamentals of systematic software testing in industrial settings. Gaps in testing skills arise from inherent attributes of systematic testing itself and environmental attributes, such as the educational setting in universities. Frustrated, practitioners have long since devised cost intensive workarounds. In this thesis, this problem situation is qualitatively analyzed in great detail, leveraging insights from three Grounded Theory studies. Employing Everett M. Rogers' 'Theory of the Diffusion of Innovation', strategic improvements to the onboarding situation are presented. Lastly, tool support for the strategies developed in this thesis is presented and evaluated.


Search Based Software Engineering

Search Based Software Engineering

Author: Günther Ruhe

Publisher: Springer

Published: 2013-08-16

Total Pages: 339

ISBN-13: 3642397425

DOWNLOAD EBOOK

This book constitutes the refereed proceedings of the Fifth International Symposium on Search-Based Software Engineering, SSBSE 2013, held in St. Petersburg, Russia. The 14 revised full papers, 6 revised short papers, and 6 papers of the graduate track presented together with 2 keynotes, 2 challenge track papers and 1 tutorial paper were carefully reviewed and selected from 50 initial submissions. Search Based Software Engineering (SBSE) studies the application of meta-heuristic optimization techniques to various software engineering problems, ranging from requirements engineering to software testing and maintenance.