We may earn an affiliate commission when you visit our partners.
Jeremy Jarrell

This course will teach you how to effectively create automated tests, which can improve both the predictability and the maintainability of your codebase.

Read more

This course will teach you how to effectively create automated tests, which can improve both the predictability and the maintainability of your codebase.

Did you know that automated testing is more than simply writing unit tests? Creating automated tests around your code can also make your code more malleable, decoupled, and maintainable. In this course, ICAgile (ICP-PRG): Automated Testing, you'll learn to use automated testing strategies to improve the predictability of your codebase and your product. First, you'll learn to create an effective automated testing strategy for your entire product. Next, you'll learn to write tests that are maintainable, performant, and make use of well-known automated testing patterns. Finally, you'll learn how to effectively use test doubles to ensure that you are properly testing your code in a predictability way. When you are finished with this course, you'll have a foundational knowledge of automated testing that will enable you to create dependable and maintainable code with your team.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Course Overview
Defining Your Test Automation Strategy
Writing Your First Automated Test
Creating Maintainable Tests for Your Codebase
Read more
Ensuring Your Tests Stay Performant
Testing Your Code in Isolation

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides foundational coverage of automated testing, which is a standard in software development
Designed for experienced software developers who want to learn automated testing
Includes hands-on exercises and interactive materials to enhance understanding and retention
Taught by industry experts with extensive experience in automated testing
Covers the latest and most relevant techniques in automated testing

Save this course

Save ICAgile (ICP-PRG): Automated Testing to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in ICAgile (ICP-PRG): Automated Testing with these activities:
Read 'The Pragmatic Tester'
This book provides a comprehensive overview of automated testing, covering topics such as test planning, test design, and test execution.
Show steps
Follow Tutorials on Automated Testing Frameworks
Following tutorials on automated testing frameworks will help you learn how to use specific tools and techniques for automated testing.
Browse courses on Testing Tools
Show steps
  • Choose an automated testing framework to learn
  • Find tutorials on the chosen framework
  • Follow the tutorials and complete the exercises
Practice Writing Unit Tests
Practicing writing unit tests will help you develop the skills necessary to effectively test your code.
Browse courses on Unit Testing
Show steps
  • Choose a small piece of code to test
  • Write a unit test for the chosen code
  • Run the unit test and verify the results
Five other activities
Expand to see all activities and additional details
Show all eight activities
Create a Test Plan
Creating a test plan will help you solidify your understanding of the course material and how it can be applied in practice.
Browse courses on Test Plan
Show steps
  • Define the scope of your testing
  • Identify the types of tests you need to create
  • Write detailed test cases
  • Review your test plan with others
Practice Using Test Doubles
Practicing using test doubles will help you learn how to effectively isolate and test specific parts of your code.
Browse courses on Test Doubles
Show steps
  • Choose a scenario where you need to use a test double
  • Create a test double for the chosen scenario
  • Write a unit test that uses the test double
Automate Tests for a Personal Project
Automating tests for a personal project will give you hands-on experience with the course concepts and help you apply them to real-world scenarios.
Browse courses on Automated Testing
Show steps
  • Choose a personal project to automate tests for
  • Write test cases for the chosen project
  • Select and configure a testing framework
  • Run the automated tests and analyze the results
Write a Blog Post About Automated Testing
Writing a blog post about automated testing will help you solidify your understanding of the course material and share your knowledge with others.
Browse courses on Automated Testing
Show steps
  • Choose a topic for your blog post
  • Research and gather information about the topic
  • Write the blog post
  • Edit and publish the blog post
Contribute to an Open-Source Automated Testing Project
Contributing to an open-source automated testing project will give you hands-on experience with the course concepts and help you learn from others in the community.
Browse courses on Open-Source
Show steps
  • Choose an open-source automated testing project to contribute to
  • Find a bug or feature to work on
  • Create a pull request with your changes

Career center

Learners who complete ICAgile (ICP-PRG): Automated Testing will develop knowledge and skills that may be useful to these careers:
Software Test Engineer
Software Test Engineers are responsible for ensuring software quality through the lifecycle of development. The course's focus on designing and writing effective automated tests is directly relevant to this function. Learning to design automated testing strategies may lead to new career opportunities for those seeking to become Software Test Engineers.
Technical Project Manager
Technical Project Managers are responsible for overseeing all aspects of software development projects, working closely with Software Engineers to plan and execute testing strategies. This course would be very useful for those seeking to learn how to write tests, as that is within the scope of responsibility of this role.
Quality Assurance Analyst
Quality Assurance Analysts help ensure the quality of software products by identifying bugs and defects that may compromise its functionality. This course's focus on designing and performing automated tests is highly relevant to this role. Learning these skills may open doors to new job opportunities.
Systems Analyst
Systems Analysts help facilitate and improve the workflow of an organization by analyzing existing systems to identify areas of improvement. Many companies use software to run their daily operations. Having skills in designing and writing automated tests may lead to opportunities to advance into Systems Analyst roles, as this course gives a baseline knowledge of optimizing these systems.
DevOps Engineer
DevOps Engineers combine software development and operations expertise to help organizations deliver software products faster and more efficiently. While this course does not dive into DevOps principles, it does teach the foundational concepts of automated testing. This knowledge may help those who wish to work as DevOps Engineers.
Product Manager
Product Managers own the vision of a product and lead the team responsible for developing and delivering it. They must have a deep understanding of the product life cycle and software development process. Learning automated testing strategies and techniques can help equip Product Managers to make informed decisions and communicate those decisions to their team.
Engineering Manager
Engineering Managers lead teams of Software Engineers and are responsible for the development and delivery of software products. This course can provide Engineering Managers with a good understanding of the principles and practices of automated testing and how they can lead their teams to make improvements in this area.
Information Security Analyst
Information Security Analysts protect computer networks and systems from unauthorized access, use, disclosure, disruption, modification, or destruction. They need to have a good understanding of security principles and technologies. This course can provide Information Security Analysts with a good foundation in testing techniques that can be applied to their work.
Web Developer
Web Developers design and create websites for businesses and organizations. While this course does not directly teach web development, the ability to build robust and automated tests is essential for maintaining any web application. Those hoping to work as Web Developers would benefit from this course.
Agile Coach
Agile Coaches help organizations adopt and implement agile methodologies for software development. They need to be knowledgeable about various aspects of the software development process to effectively guide teams. This course may be helpful for those wishing to become Agile Coaches.
Database Administrator
Database Administrators ensure the smooth functioning and maintenance of databases. They need to have a good understanding of how databases work and how to optimize their performance. This course can be useful for those seeking to become Database Administrators, as it will provide them with a good foundation in testing techniques.
Data Analyst
Data Analysts interpret and analyze data to help businesses make informed decisions. An ability to write automated tests, such as those taught in this course, can greatly enhance the efficiency and accuracy of data processing pipelines. While this course is not directly related to data analysis, it may be useful for those seeking to become Data Analysts.
Network Administrator
Network Administrators are responsible for the design, implementation, and maintenance of computer networks. They need to have a good understanding of networking technologies and protocols. While this course does not directly teach networking technologies, the principles of automated testing can be applied to network maintenance and troubleshooting.
Technical Architect
Technical Architects design, implement, and maintain the technology roadmap for an organization. While the course will not directly prepare one to become a Technical Architect, roles that lead to Technical Architect often require strong testing skills. This course can build a foundation for those skills.
Software Engineer
Software Engineers bring software products to life. They are responsible for the design, development, deployment, and maintenance of software systems. While the course does not directly teach software development, learning how to perform and design automated tests can make for more robust and well-written code. This course may be helpful for Software Engineers who wish to improve their testing skills to produce higher quality code.

Reading list

We've selected 16 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 ICAgile (ICP-PRG): Automated Testing.
Is considered a classic in the field of software testing and provides a deep dive into the principles and techniques of software testing. It valuable resource for testers who want to improve their understanding of the fundamentals of testing.
Collection of essays from leading software testing experts. It covers a wide range of topics, from test design and execution to test management and automation. It valuable resource for anyone who wants to learn more about the art and science of software testing.
Provides a comprehensive overview of software testing techniques, including both traditional and more modern approaches. It valuable resource for testers who want to learn about the latest testing techniques and technologies.
This classic work in the field of design patterns provides a comprehensive overview of the most important design patterns and how to use them effectively in software development. It valuable resource for developers who want to learn more about design patterns.
Provides a comprehensive overview of clean code, including the principles and practices needed to write clean, maintainable, and readable code. It valuable resource for developers who want to improve their coding skills.
Provides a code of conduct for professional programmers, including principles and practices for writing clean, maintainable, and readable code. It valuable resource for developers who want to improve their coding skills and their professional conduct.
This classic work in the field of software engineering provides a timeless look at the challenges and complexities of software development. It valuable resource for developers who want to understand the history of software engineering and the lessons that can be learned from it.
Provides a comprehensive overview of agile testing, including the principles, practices, and tools needed to effectively test software in an agile environment. It valuable resource for both testers and developers who want to learn more about agile testing.
Is considered a classic in the field of test-driven development (TDD) and provides a practical guide to using TDD to improve software quality. It valuable resource for developers who want to learn more about TDD.
Provides a practical guide to working with legacy code, including techniques for refactoring, testing, and debugging. It valuable resource for developers who need to work with legacy code.
Provides a fun and engaging introduction to design patterns. It great resource for developers who want to learn about design patterns in a more accessible way.
Provides a comprehensive overview of DevOps, including the principles, practices, and tools needed to implement a DevOps culture. It is valuable for teams who want to learn more about DevOps.
Provides a comprehensive guide to DevOps, a set of practices that combines software development and IT operations. It valuable resource for anyone who wants to learn more about how to improve the efficiency and effectiveness of their software development and delivery process.
Provides a comprehensive guide to domain-driven design, a software development approach that focuses on creating software that is closely aligned with the business domain. It valuable resource for anyone who wants to learn more about how to design software that is both effective and maintainable.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to ICAgile (ICP-PRG): Automated Testing.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser