Software Testing thumbnail

Back to courses

Software Testing

Software testing expertise, from fundamentals to advanced test-driven development

Level: Junior, Mid & Senion Engineers

author image


Course by

This course includes:

4 Hours

Certification Upon Completion

Lifetime Course Access

Access to Discord group

15 Days Money Back Guaranteed


Have a coupon? Enter at checkout

The tech stack you will in this course

java logojava
spring logospring
terminal logoterminal
spring-data-jpa logospring-data-jpa
maven logomaven

What you'll learn

Testing Dependencies

Architecture Diagram

Unit Testing SQL and JPA Queries

Customer Registration Feature

Testing Exceptions

Payment Feature and Tests

Stripe Integration

Integration Testing

Test Driven Development

Welcome to the Software Testing Course, a comprehensive program designed to help you master the art of quality assurance in software development. In today's fast-paced and highly competitive digital landscape, delivering high-quality software is paramount for success. Effective software testing plays a crucial role in ensuring that applications meet functional requirements, perform flawlessly, and provide a seamless user experience.

  • Fundamental Concepts: Understand the fundamental concepts and principles of software testing.
  • Testing Methodologies: Explore different testing methodologies, techniques, and best practices.
  • Effective Test Cases: Master the art of writing effective test cases and test suites.
  • Unit and Integration Testing: Dive into unit testing and integration testing for robust software validation.
  • Automated Testing: Learn about automated testing and tools to optimize testing processes.
  • Performance, Security, and Usability Testing: Gain insights into performance testing, security testing, and usability testing.
  • Role in SDLC: Understand the role of testing in the software development life cycle.
  • Test Result Analysis and Bug Reporting: Analyze test results, report bugs, and collaborate effectively with development teams.
Docker Engineer

Who is the course for?

  • Beginner testers looking to establish a strong foundation in software testing.
  • Software developers aiming to enhance their testing skills and contribute to high-quality software.
  • Quality assurance professionals seeking to expand their knowledge and stay updated with industry practices.
  • Project managers and team leads interested in effectively managing testing efforts.
  • Individuals pursuing a career in software development

Whether you're starting out in software testing or seeking to advance your skills, this course provides valuable insights and practical guidance to succeed in the field.

Docker Engineer

Why Software Testing Matters

Software testing is the process of evaluating a system or application to verify its correctness, completeness, and reliability. It involves conducting various tests, executing test cases, and analyzing the results to identify defects and ensure that the software performs as intended. Effective testing not only only help you to identify and fix bugs but also improve the overall software quality, enhance customer satisfaction, and safeguard against costly errors and failures.

Course Curriculum

This course has 8 sections including exercises

Getting Started

1 - Before We Begin


2 - Language Does Not Matter


3 - Cloning Repo and Getting Started

4 - Understanding Testing Dependencies


5 - Architecture Diagram


6 - Newsletter


Unit testing SQL and JPA Queries

1 - Initial Customer Impl


2 - CustomerRepository

3 - JPA Custom Queries

4 - Setting Up Test Class

5 - Testing Example

6 - AssertJ Documentation

Testing Customer Registration Feature

1 - Exercise

2 - Writing Business Logic

3 - Creating Mocks

4 - Mocking and Argument Captor

5 - Test Coverage

6 - Should Never

7 - Mockito Documentation

8 - Exercise

9 - Testing Exceptions

10 - Generate id on Server

11 - Test Cases

12 - Exercise Solution

Payment Feature and Tests

1 - Payment Model

2 - Payment Repository and Test

3 - Payment Service

4 - Implement to interface

5 - Exercise

6 - Exercise Solution

7 - Testing Charge Card Happy Path

8 - Test When Card Not Debited

9 - Test When Currency Not Supported

10 - Test When Customer Not Found

Stripe Integration

1 - Stripe Maven Dependency

2 - StripeService

3 - StripeServiceTest

4 - StripeApi Class

5 - Testing Charge Card

Integration Testing

1 - Intro to Integration Testing

2 - Mock Stripe Service

3 - SpringBootTest

4 - Dont Autowire Controllers in IT

5 - MockMvc

6 - Payment Controller

7 - Complete Integration Test

8 - Complete Integration Test II

Test Driven Development

1 - Empty Test Class

2 - Lets Create The Class Under Test

3 - Bare Bones of Class Under Test

4 - Implement Business Logic

5 - Parameterized Tests

6 - Using PhoneNumberValidator

Lets wrap up

1 - Twilio Exercise

2 - Lets Wrap Up

3 - Next Steps

What our students say

If you have any other questions - please get in touch

Kelten testimonial cover
author image


Software Engineer

I am excited to announce that I have successfully completed the Software Testing course with Amigoscode! Throughout this comprehensive program, I gained valuable skills in testing applications and ensuring the quality of software. I now possess the knowledge required to thoroughly test and validate code, making sure that it functions as intended and remains bug-free. By completing this course, I am now equipped with the necessary skills to test applications thoroughly, identify potential issues, and deliver high-quality software to end-users. I am excited to apply my newfound knowledge and contribute to the success of future software projects. Thank you to Amigoscode for providing such a valuable learning experience! I highly recommend this course to anyone interested in mastering software testing. Feel free to reach out if you have any questions or would like to learn more about my experience. Let's connect and continue growing together on this exciting journey!

author image

Mohamed Makhloufi

Software Engineering Student

Wiktor testimonial cover
author image


Java Developer@Storware

Questions & Answers

What makes Amigoscode programming courses different from others?

Amigoscode offers unique, practical, and industry-relevant programming courses taught by experienced instructors. We focus on real-world applications, giving you the skills you need to excel in your career.

Can I purchase your courses through my company's training budget?

Yes, many of our students purchase our courses through their company's training budget. Our courses are considered a valuable investment in employee skill development, and they can be expensed as part of your company's training and development initiatives.

How can Amigoscode courses help me advance my programming career?

Our courses are designed to bridge the gap between theory and practice. You'll gain hands-on experience, work on real projects, and build a portfolio that will impress employers and clients, opening up new opportunities for career growth.

Do you offer any certifications upon course completion?

Yes, we provide certificates of completion for all our courses. These certificates are recognized in the industry, and they can help you showcase your skills to potential employers or clients.

Can I access the course material at my own pace?

Absolutely! Amigoscode courses are self-paced, allowing you to learn at a speed that suits your schedule. You can revisit the material whenever you need, and you have lifetime access to the course content.

Do I need prior programming experience to enroll in your courses?

No, our courses are designed to accommodate all levels of learners. Whether you're a beginner looking to start your programming journey or an experienced developer wanting to enhance your skills, we have courses suitable for you.

What kind of support do I get during the course?

We provide extensive support to our students through discord. You'll have access to a community of learners and can ask questions, share your progress, and collaborate with fellow students. In addition, our instructors are available to help with any challenges you encounter during the course.

What is your refund policy?

We offer a 15-day refund policy. If you're not satisfied with your course within the first 15 days after purchase, we will provide a full refund, no questions asked. Your satisfaction is our priority.

Featured on

business-insider image
docker-captain image
linkedin image
head-first-java image

Software Testing

Engage in a dynamic and interactive learning experience as you complete exercises and projects.