March 29, 2024
Updated April 11, 2025
16 minute read
Exploring a Career as a Software Tester
Software testing is a critical discipline within the software development process, focused on evaluating and verifying that a software product or application does what it is supposed to do. Testers act as the guardians of quality, meticulously examining software to find defects, ensure it meets specified requirements, and ultimately confirm it provides a positive user experience. Their work helps prevent bugs from reaching end-users, saving companies from potential reputational damage and costly fixes after release.
99n7r2|
Find a path to becoming a Software Tester. Learn more at:
OpenCourser.com/career/99n7r2/software
Reading list
We've selected some books
that we think will supplement your
learning. Use these to
develop background knowledge, enrich your coursework, and gain a
deeper understanding of the topics covered in
Software Tester.
Provides a comprehensive overview of the Software Testing Body of Knowledge (STBOK). It covers the core concepts of software testing, and it provides practical advice on how to apply these concepts in your organization.
This foundational book on Test-Driven Development (TDD), the practice that heavily utilizes Mock Objects. It provides a practical, example-driven approach to understanding the TDD cycle (Red-Green-Refactor) and how testing, including the use of test doubles like mocks, drives software design. is essential for gaining a broad understanding of the context in which Mock Objects are most commonly used. It is considered a classic in the field and is often recommended for those new to TDD and unit testing.
This is the Spanish translation of the foundational book on Test-Driven Development (TDD). It provides a practical, example-driven approach to understanding the TDD cycle (Red-Green-Refactor) and how testing, including the use of test doubles like mocks, drives software design. is essential for gaining a broad understanding of the context in which Mock Objects are most commonly used and is valuable for Spanish-speaking audiences.
Delves deeper into using TDD and Mock Objects to design well-structured, object-oriented software. It goes beyond the basics of writing tests and shows how tests, particularly with the use of mock objects, can guide the development of a flexible and maintainable codebase. It is highly relevant for understanding how Mock Objects contribute to good design and is considered a key text for those looking to deepen their TDD practice. This book is often used as a reference for applying TDD in real-world projects.
This recent book focused specifically on Playwright, a modern web automation framework. Given the increasing popularity of Playwright as an alternative to Selenium, this book is highly relevant for contemporary web testing. It covers various aspects of Playwright, including end-to-end, API, accessibility, and visual testing.
Focuses specifically on the Mockito framework, which is used for creating mock objects in Java. It is highly relevant for courses mentioning Mockito and provides a detailed guide to using its features for effective mocking. It's a practical resource for Java developers who want to master the use of Mockito. This book is valuable for deepening understanding and as a practical reference.
Provides a comprehensive view of BDD and its application throughout the software development lifecycle. It goes beyond just the tools and explains the collaborative aspects of BDD, which are essential for successful web testing in an agile environment. The second edition includes integration with DevOps and large-scale Agile systems, making it highly contemporary.
Provides a comprehensive guide to BDD, covering the principles, practices, and tools involved in writing executable specifications. It is particularly relevant for those looking to implement BDD in their development process.
Practical guide specifically for web test automation using Selenium WebDriver and Java, a common combination in the industry. It's highly relevant for those looking to gain hands-on experience with automating web tests. It covers both basic and advanced concepts, making it suitable for different skill levels.
Directly addresses unit testing with Mockito and JUnit, making it highly relevant to the provided course names. It focuses on building and maintaining JUnit test cases and specifically covers mocking external dependencies using Mockito. It's a practical guide for Java developers looking to enhance their unit testing skills with these specific tools. This book good resource for deepening understanding of Mockito and JUnit integration.
Provides a hands-on approach to using Selenium WebDriver with Java for developing end-to-end web tests. It covers core features and explores advanced topics such as using Docker containers with Selenium. This practical guide for those who prefer a deep dive with code examples.
Similar to the .NET version, this book focuses on the principles of unit testing and the use of test doubles, with examples in C#. It's highly relevant for those working with C# and provides a thorough understanding of how to effectively use mocks and other test doubles in that environment. It's a valuable resource for deepening understanding and as a reference for C# developers.
Performance critical aspect of web applications. provides an excellent conceptual overview of performance testing specifically for web-based applications. It covers various types of performance testing, key indicators, and the steps involved, making it highly relevant for ensuring the responsiveness and scalability of web solutions.
While the examples are in .NET, the principles of unit testing and the extensive coverage of test doubles, including mocks, are universally applicable. provides a comprehensive guide to writing maintainable and readable unit tests, explaining the different types of test doubles and when to use them effectively. It is valuable for both gaining a broad understanding and deepening one's knowledge of unit testing practices, making it a useful reference for developers regardless of their primary language.
Is essential for understanding how web testing fits into a modern DevOps and continuous delivery pipeline. It covers the importance of automated testing for achieving reliable and frequent software releases. While not solely focused on web testing, the principles and practices discussed are directly applicable to automating web application deployments and testing within a CI/CD workflow.
Focused specifically on the JUnit 5 framework, this book is highly relevant for courses mentioning JUnit. It covers the features of JUnit 5, including its architecture and support for various testing styles. While it may not focus exclusively on Mock Objects, it provides the necessary context for using them within the JUnit framework. valuable resource for Java developers using or learning JUnit 5.
Key resource for understanding and implementing Behavior-Driven Development (BDD), a methodology often used in conjunction with web testing automation. It explains how to write executable specifications using Gherkin and Cucumber, which is directly relevant to several of the listed courses.
Given the mention of Python in several course titles, this book on pytest is highly relevant for web testing using Python. Pytest popular testing framework for Python that can be used for various levels of testing, including web application testing. serves as both a tutorial and a reference for using pytest effectively.
Offers a comprehensive guide to test automation, covering various techniques, practices, and design patterns. While not limited to web testing, the principles and patterns discussed are highly applicable to building maintainable and scalable web test automation frameworks. It's a valuable resource for deepening understanding of test automation architecture.
Offers insights into the testing practices at Google, a company known for its large-scale web applications. It provides a perspective on how testing is approached in a large, complex environment, offering valuable lessons applicable to web testing at scale. It's more suited for those with some existing testing knowledge.
This comprehensive catalog of patterns for unit testing, including numerous patterns related to the use of test doubles like Mock Objects. It is an invaluable reference for understanding common problems encountered when writing tests and how to solve them effectively. While not a book for beginners, it is essential for those looking to deepen their understanding of test design and refactoring test code. is considered a classic reference for experienced testers and developers.
While not solely focused on testing, this influential book dedicates significant portions to the importance of writing clean tests as part of producing clean code. It emphasizes how good tests, which often involve test doubles, contribute to the overall quality and maintainability of software. It provides foundational principles that are highly relevant to anyone writing code and tests, offering valuable background knowledge for understanding the 'why' behind effective testing practices. is widely regarded as a must-read for software developers.
Comprehensive guide to the ISTQB Foundation Level certification exam. It covers all of the topics that are tested on the exam, and it provides numerous practice questions and exercises to help you prepare.
Discusses the challenges of testing software in an agile environment. It provides practical advice on how to test software quickly and effectively, and it covers a variety of testing techniques that are well-suited for agile development.
Provides a comprehensive overview of security testing. It covers the principles of security testing, and it provides practical advice on how to implement security testing in your organization.
Offers a detailed look at software testing techniques and their practical application. It covers various testing methods that can be directly applied to web testing, helping to solidify understanding beyond basic concepts. The book has been updated to include agile environments, making it relevant for contemporary web development practices.
Is specifically aimed at beginners in web test automation. It provides a gentle introduction to the concepts and practices of automating web tests. It's a good resource for those starting their journey in web testing and provides a solid foundation.
Focuses on Robot Framework, an open-source automation framework that can be used for web testing, as mentioned in one of the course titles. It provides a practical introduction to using Robot Framework for automated acceptance testing. While it may lack in-depth coverage of advanced topics, it's a good starting point for those interested in this framework.
For those seeking a formal understanding of software testing principles and terminology, this book aligned with the ISTQB certification solid choice. It covers fundamental testing concepts that are universally applicable, including to web testing. It's often used as a textbook and provides a structured approach to learning testing basics.
Provides a practical, hands-on introduction to TDD using the Python language. While the language is different from some of the course examples, the TDD principles and the approach to testing web applications are widely applicable. It helps solidify the understanding of the TDD process and the role of testing in building applications, which includes concepts related to test doubles. This book is particularly useful for those who prefer learning through building a full project.
Foundational text in software testing, providing a broad overview of testing principles and methodologies applicable to various software, including web applications. It's an excellent starting point for anyone new to the field, laying the groundwork for more specialized web testing topics. While not exclusively focused on web testing, its core concepts are essential for understanding the 'why' behind testing practices.
Provides practical advice and insights from experienced testing professionals. While not strictly a technical guide, it offers valuable lessons on the mindset and critical thinking required for effective testing, which is highly relevant to the dynamic nature of web testing. It's more valuable as additional reading to complement technical knowledge.
Offers another perspective on Test-Driven Development. It can be a good supplementary read to gain a broader understanding of TDD principles and practices from a different authorial voice. While it may not focus exclusively on Mock Objects, it reinforces the TDD mindset where mocks play a significant role. It can be valuable for solidifying understanding through varied explanations and examples.
While a general Java programming guide, this book contains invaluable advice on designing classes and methods that are easy to test. It discusses principles like dependency injection, which facilitate the use of Mock Objects. It provides foundational knowledge for writing testable code in Java, making the application of mocking techniques much more straightforward. is highly recommended for all Java developers and provides essential background for writing testable code.
A more recent book by Robert C. Martin, this explores the disciplines and practices that define professional software development, including a focus on testing and TDD. It reinforces the importance of writing high-quality, testable code. While it doesn't deep dive into Mock Objects specifically, it emphasizes the mindset and practices that make using mocks and other test doubles effective. is relevant for understanding the contemporary view of testing within the broader scope of software craftsmanship.
Focuses on the professionalism of software developers and includes strong advocacy for TDD and writing clean, reliable code. It discusses the responsibility of programmers to deliver working software and how testing, including unit testing with test doubles, is fundamental to this. It provides a motivational and ethical perspective on why effective testing practices, which involve Mock Objects, are crucial for professional developers. This book valuable read for understanding the professional context of testing.
While a bit dated, this book provides thorough coverage of the basics of web technology and web testing. It's a valuable reference for understanding the fundamentals, although it may not cover the latest web developments. It's more suitable for gaining historical context and foundational knowledge.
This book, co-authored by a pioneer of TDD, discusses the planning aspects of Extreme Programming (XP), an agile methodology that heavily incorporates TDD and continuous testing. It provides context for how testing practices, including those using mock objects, fit into an overall agile project plan. It's more of a supplementary read for understanding the project management context surrounding TDD. is more valuable for understanding the historical and planning context of TDD.
Explores various architectural patterns for enterprise applications. Understanding these patterns can provide context for where and why Mock Objects are used in larger systems to isolate components for testing. While not a testing book, it offers valuable insight into the design considerations that influence testability and the need for test doubles in complex applications. This book is more relevant for those at an undergraduate or professional level looking at software architecture.
Covers all aspects of software testing and quality assurance, including test coverage, and provides practical guidance for both testers and developers.
Covers all aspects of software test automation, including test coverage, and provides practical guidance for both testers and developers.
For more information about how these books relate to this course, visit:
OpenCourser.com/career/99n7r2/software