A Practitioner's Guide to Software Test Design


Book Description

Written by a leading expert in the field, this unique volume contains current test design approaches and focuses only on software test design. Copeland illustrates each test design through detailed examples and step-by-step instructions.




Software Quality Assurance


Book Description

Of all the audit functions faced by QA, software auditing is probably the most difficult because of the need to know and understand the intricacies of the processes being audited. In addition, auditors must be familiar with and understand the implications of the international and national standards and know how to proceed when deficiencies are revealed. Howard Garston Smith is Software Quality Assurance Auditor for Pfizer, UK, and brings twenty years of expertise in software development and auditing to this incredibly detailed manual. He provides the "what to" and the "how to" of software QA auditing in a clear and practical style that guarantees effective software quality audits.




Mastering Software Testing with JUnit 5


Book Description

A comprehensive, hands-on guide on unit testing framework for Java programming language About This Book In-depth coverage of Jupiter, the new programming and extension model provided by JUnit 5 Integration of JUnit 5 with other frameworks such as Mockito, Spring, Selenium, Cucumber, and Docker Best practices for writing meaningful Jupiter test cases Who This Book Is For This book is for Java software engineers and testers. If you are a Java developer who is keen on improving the quality of your code and building world class applications then this book is for you. Prior experience of the concepts of automated testing will be helpful. What You Will Learn The importance of software testing and its impact on software quality The options available for testing Java applications The architecture, features and extension model of JUnit 5 Writing test cases using the Jupiter programming model How to use the latest and advanced features of JUnit 5 Integrating JUnit 5 with existing third-party frameworks Best practices for writing meaningful JUnit 5 test cases Managing software testing activities in a living software project In Detail When building an application it is of utmost importance to have clean code, a productive environment and efficient systems in place. Having automated unit testing in place helps developers to achieve these goals. The JUnit testing framework is a popular choice among Java developers and has recently released a major version update with JUnit 5. This book shows you how to make use of the power of JUnit 5 to write better software. The book begins with an introduction to software quality and software testing. After that, you will see an in-depth analysis of all the features of Jupiter, the new programming and extension model provided by JUnit 5. You will learn how to integrate JUnit 5 with other frameworks such as Mockito, Spring, Selenium, Cucumber, and Docker. After the technical features of JUnit 5, the final part of this book will train you for the daily work of a software tester. You will learn best practices for writing meaningful tests. Finally, you will learn how software testing fits into the overall software development process, and sits alongside continuous integration, defect tracking, and test reporting. Style and approach The book offers definitive and comprehensive coverage of all the Unit testing concepts with JUnit and its features using several real world examples so that readers can put their learning to practice almost immediately. This book is structured in three parts: Software testing foundations (software quality and Java testing) JUnit 5 in depth (programming and extension model of JUnit 5) Software testing in practice (how to write and manage JUnit 5 tests)




Lessons Learned in Software Testing


Book Description

Softwaretests stellen eine kritische Phase in der Softwareentwicklung dar. Jetzt zeigt sich, ob das Programm die entsprechenden Anforderungen erfüllt und sich auch keine Programmierungsfehler eingeschlichen haben. Doch wie bei allen Phasen im Software-Entwicklungsprozess gibt es auch hier eine Reihe möglicher Fallstricke, die die Entdeckung von Programmfehlern vereiteln können. Deshalb brauchen Softwaretester ein Handbuch, das alle Tipps, Tricks und die häufigsten Fehlerquellen genau auflistet und erläutert, damit mögliche Testfehler von vornherein vermieden werden können. Ein solches Handbuch ersetzt gut und gerne jahr(zehnt)elange Erfahrung und erspart dem Tester frustrierende und langwierige Trial-und-Error-Prozeduren. Chem Kaner und James Bach sind zwei der international führenden Experten auf dem Gebiet des Software Testing. Sie schöpfen hier aus ihrer insgesamt 30-jährigen Erfahrung. Die einzelnen Lektionen sind nach Themenbereichen gegliedert, wie z.B. Testdesign, Test Management, Teststrategien und Fehleranalyse. Jede Lektion enthält eine Behauptung und eine Erklärung sowie ein Beispiel des entsprechenden Testproblems. "Lessons Learned in Software Testing" ist ein unverzichtbarer Begleiter für jeden Software Tester.




Safety and Health for Engineers


Book Description

SAFETY AND HEALTH FOR ENGINEERS A comprehensive resource for making products, facilities, processes, and operations safe for workers, users, and the public Ensuring the health and safety of individuals in the workplace is vital on an interpersonal level but is also crucial to limiting the liability of companies in the event of an onsite injury. The Bureau of Labor Statistics reported over 4,700 fatal work injuries in the United States in 2020, most frequently in transportation-related incidents. The same year, approximately 2.7 million workplace injuries and illnesses were reported by private industry employers. According to the National Safety Council, the cost in lost wages, productivity, medical and administrative costs is close to 1.2 trillion dollars in the US alone. It is imperative—by law and ethics—for engineers and safety and health professionals to drive down these statistics by creating a safe workplace and safe products, as well as maintaining a safe environment. Safety and Health for Engineers is considered the gold standard for engineers in all specialties, teaching an understanding of many components necessary to achieve safe workplaces, products, facilities, and methods to secure safety for workers, users, and the public. Each chapter offers information relevant to help safety professionals and engineers in the achievement of the first canon of professional ethics: to protect the health, safety, and welfare of the public. The textbook examines the fundamentals of safety, legal aspects, hazard recognition and control, the human element, and techniques to manage safety decisions. In doing so, it covers the primary safety essentials necessary for certification examinations for practitioners. Readers of the fourth edition of Safety and Health for Engineers readers will also find: Updates to all chapters, informed by research and references gathered since the last publication The most up-to-date information on current policy, certifications, regulations, agency standards, and the impact of new technologies, such as wearable technology, automation in transportation, and artificial intelligence New international information, including U.S. and foreign standards agencies, professional societies, and other organizations worldwide Expanded sections with real-world applications, exercises, and 164 case studies An extensive list of references to help readers find more detail on chapter contents A solution manual available to qualified instructors Safety and Health for Engineers is an ideal textbook for courses in safety engineering around the world in undergraduate or graduate studies, or in professional development learning. It also is a useful reference for professionals in engineering, safety, health, and associated fields who are preparing for credentialing examinations in safety and health.




Complete Guide to Test Automation


Book Description

Rely on this robust and thorough guide to build and maintain successful test automation. As the software industry shifts from traditional waterfall paradigms into more agile ones, test automation becomes a highly important tool that allows your development teams to deliver software at an ever-increasing pace without compromising quality. Even though it may seem trivial to automate the repetitive tester’s work, using test automation efficiently and properly is not trivial. Many test automation endeavors end up in the “graveyard” of software projects. There are many things that affect the value of test automation, and also its costs. This book aims to cover all of these aspects in great detail so you can make decisions to create the best test automation solution that will not only help your test automation project to succeed, but also allow the entire software project to thrive. One of the most important details that affects the success of the test automation is how easy it is to maintain the automated tests. Complete Guide to Test Automation provides a detailed hands-on guide for writing highly maintainable test code. What You’ll Learn Know the real value to be expected from test automation Discover the key traits that will make your test automation project succeed Be aware of the different considerations to take into account when planning automated tests vs. manual tests Determine who should implement the tests and the implications of this decision Architect the test project and fit it to the architecture of the tested application Design and implement highly reliable automated tests Begin gaining value from test automation earlier Integrate test automation into the business processes of the development teamLeverage test automation to improve your organization's performance and quality, even without formal authority Understand how different types of automated tests will fit into your testing strategy, including unit testing, load and performance testing, visual testing, and more Who This Book Is For Those involved with software development such as test automation leads, QA managers, test automation developers, and development managers. Some parts of the book assume hands-on experience in writing code in an object-oriented language (mainly C# or Java), although most of the content is also relevant for nonprogrammers.




Autodesk Maya 2020: A Comprehensive Guide, 12th Edition


Book Description

Autodesk Maya 2020 is a powerful, integrated 3D modeling, animation, visual effects, and rendering software developed by Autodesk Inc. This integrated node based 3D software finds its application in the development of films, games, and design projects. The intuitive user interface and workflow tools of Maya 2020 have made the job of design visualization specialists a lot easier. Autodesk Maya 2020: A Comprehensive Guide covers all features of Autodesk Maya 2020 software in a simple, lucid, and comprehensive manner. It will unleash your creativity, thus helping you create realistic 3D models, animation, and visual effects. In this edition, new tools and enhancements in modeling, animation, rigging as well as performance improvements in bifrost are covered. Additionally, the newly introduced Mash module, which is used for creating motion graphics, is also covered in the book. Salient Features: Consists of 17 chapters that are organized in a pedagogical sequence covering a wide range of topics such as Maya interface, Polygon modeling, NURBS modeling, texturing, lighting, cameras, animation, Paint Effects, Rendering, nHair, Fur, Fluids, Particles, nParticles and Bullet Physics in Autodesk Maya 2020. The first page of every chapter summarizes the topics that are covered in it. Consists of hundreds of illustrations and a comprehensive coverage of Autodesk Maya 2020 concepts & commands. Real-world 3D models and examples focusing on industry experience. Step-by-step instructions that guide the user through the learning process. Additional information is provided throughout the book in the form of tips and notes. Self-Evaluation test, Review Questions, and Exercises are given at the end of each chapter so that the users can assess their knowledge. Table of Contents Chapter 1: Exploring Maya Interface Chapter 2: Polygon Modeling Chapter 3: NURBS Curves and Surfaces Chapter 4: NURBS Modeling Chapter 5: UV Mapping Chapter 6: Shading and Texturing Chapter 7: Lighting Chapter 8: Animation Chapter 9: Rigging, Constraints, and Deformers Chapter 10: Paint Effects Chapter 11: Rendering Chapter 12: Particle System Chapter 13: Introduction to nParticles Chapter 14: Fluids Chapter 15: nHair Chapter 16: Bifrost Chapter 17: Bullet Physics and Motion Graphics Index




Guide to Efficient Software Design


Book Description

This classroom-tested textbook presents an active-learning approach to the foundational concepts of software design. These concepts are then applied to a case study, and reinforced through practice exercises, with the option to follow either a structured design or object-oriented design paradigm. The text applies an incremental and iterative software development approach, emphasizing the use of design characteristics and modeling techniques as a way to represent higher levels of design abstraction, and promoting the model-view-controller (MVC) architecture. Topics and features: provides a case study to illustrate the various concepts discussed throughout the book, offering an in-depth look at the pros and cons of different software designs; includes discussion questions and hands-on exercises that extend the case study and apply the concepts to other problem domains; presents a review of program design fundamentals to reinforce understanding of the basic concepts; focuses on a bottom-up approach to describing software design concepts; introduces the characteristics of a good software design, emphasizing the model-view-controller as an underlying architectural principle; describes software design from both object-oriented and structured perspectives; examines additional topics on human-computer interaction design, quality assurance, secure design, design patterns, and persistent data storage design; discusses design concepts that may be applied to many types of software development projects; suggests a template for a software design document, and offers ideas for further learning. Students of computer science and software engineering will find this textbook to be indispensable for advanced undergraduate courses on programming and software design. Prior background knowledge and experience of programming is required, but familiarity in software design is not assumed.




Unit Testing Principles, Practices, and Patterns


Book Description

"This book is an indispensable resource." - Greg Wright, Kainos Software Ltd. Radically improve your testing practice and software quality with new testing styles, good patterns, and reliable automation. Key Features A practical and results-driven approach to unit testing Refine your existing unit tests by implementing modern best practices Learn the four pillars of a good unit test Safely automate your testing process to save time and money Spot which tests need refactoring, and which need to be deleted entirely Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About The Book Great testing practices maximize your project quality and delivery speed by identifying bad code early in the development process. Wrong tests will break your code, multiply bugs, and increase time and costs. You owe it to yourself—and your projects—to learn how to do excellent unit testing. Unit Testing Principles, Patterns and Practices teaches you to design and write tests that target key areas of your code including the domain model. In this clearly written guide, you learn to develop professional-quality tests and test suites and integrate testing throughout the application life cycle. As you adopt a testing mindset, you’ll be amazed at how better tests cause you to write better code. What You Will Learn Universal guidelines to assess any unit test Testing to identify and avoid anti-patterns Refactoring tests along with the production code Using integration tests to verify the whole system This Book Is Written For For readers who know the basics of unit testing. Examples are written in C# and can easily be applied to any language. About the Author Vladimir Khorikov is an author, blogger, and Microsoft MVP. He has mentored numerous teams on the ins and outs of unit testing. Table of Contents: PART 1 THE BIGGER PICTURE 1 ¦ The goal of unit testing 2 ¦ What is a unit test? 3 ¦ The anatomy of a unit test PART 2 MAKING YOUR TESTS WORK FOR YOU 4 ¦ The four pillars of a good unit test 5 ¦ Mocks and test fragility 6 ¦ Styles of unit testing 7 ¦ Refactoring toward valuable unit tests PART 3 INTEGRATION TESTING 8 ¦ Why integration testing? 9 ¦ Mocking best practices 10 ¦ Testing the database PART 4 UNIT TESTING ANTI-PATTERNS 11 ¦ Unit testing anti-patterns




Continuous Integration


Book Description

For any software developer who has spent days in “integration hell,” cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques. The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility. The book covers How to make integration a “non-event” on your software development projects How to reduce the amount of repetitive processes you perform when building your software Practices and techniques for using CI effectively with your teams Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software Assessments of different CI servers and related tools on the market The book’s companion Web site, www.integratebutton.com, provides updates and code examples.