Level 1: Intro to Software Testing
Overview
In this module, you will learn about the Software Development Life Cycle (SDLC) and Software Testing Life Cycle (STLC) and the important terms used in these processes. You will also better understand the basics of the software testing process, its importance for the success of the application, and the techniques for use case creation.
At the end of this module, you will be able to analyze requirements and create test cases using the black-box test design techniques for a simple project.
Course Details
Level Duration: 3 weeks
Total Program Length: 30 hours
Lectures Length: 14 hours
Practical Exercises Length: 16 hours
- Part 1: Introduction to Software Testing
- Part 2: Testing Fundamentals
- Part 3: Key Terms in Software Development and Testing
- Part 4: Test Design Techniques
In this part, you’ll learn the essentials of software testing. You will better understand why testing is crucial in software development, how to set clear objectives, and how to always consider the perspective of end users. Then, you’ll move on to practical exercises where you’ll gain hands-on experience with the process of testing. Moreover, you will have the chance to examine real-life cases of software failures due to inadequate testing and learn from them.
Lecture
- Understanding the basics of software testing
- Define software testing objectives.
- Importance of testing in software development (why is it necessary)
- End user point of view.
Practical Exercises
- Hands-on testing of the most used web/mobile applications
- Analyze case studies of software failures due to inadequate testing.
- Research the consequences.
In this part, you’ll explore software development and testing. Topics include Software Development Life Cycle (SDLC) and Software Testing Life Cycle (STLC), development methodologies (Scrum, Waterfall, Kanban), requirement analysis, and Verification & Validation. In the practical session, you’ll create a comparison chart for SDLC and STLC and investigate real case failures due to inadequate Verification or Validation.
Lecture
- Overview of SDLC and STLC
- Basics of Scrum, Waterfall, and Kanban development methodologies
- Understanding the importance of requirement analysis in testing
- Verification & Validation
- Static and dynamic testing
Practical Exercises
- Create a comparison chart outlining the differences between SDLC and STLC
- Research on real case failures due to inadequate Verification or Validation
During part 3, you’ll learn software development and testing basics. Topics include key terms such as User Stories, Defects, and project management tools. This lecture will be followed by a practical session, where you’ll analyze user stories, create defects using management tools, and classify issues. It’s a hands-on introduction to essential concepts in software development and testing.
Lecture
- Understanding key terms in software development and testing: User Stories, Defects, Bugs, Enhancements and Change Requests
- Differentiating between each of them
- Introduction to project and test management tools
Practical Exercises
- Analyze sample user stories from a provided project.
- Using some project and test management tools, create user stories and defects based on given scenarios.
- Classification of bug, enhancement, and change requests.
During the last part of the first level, you’ll learn testing methods, covering black box testing techniques like Equivalence Partitioning and Boundary Value Analysis. In the practical session that follows right after, you’ll apply these methods to software features and create test cases for a given application.
Lecture
- Introduction to black box, grey box, and white box testing
- Understanding and usage of the black box testing techniques: Equivalence partitioning, Boundary value analysis, Decision table, Use Case testing, etc.
- Test case creation.
Practical Exercises
- Apply equivalence partitioning and boundary value analysis to test various software features.
- Create test cases using black box testing techniques for a given application.
- No prior experience in software testing is required.
- Basic knowledge of software development concepts would be beneficial but not mandatory.
You will need access to a computer with stable internet for the online lectures, practical exercises, and project work. Additionally, access to relevant software tools such as Postman for API testing and SQL for database testing is recommended.
We’ve created a flexible environment which will enable you to have the best learning experience from the comfort of your own home. We offer two paces of studying, so it’s up to you to choose the one that best fits your schedule. That said, to successfully pass the class, students should aim to reach at least 90% of the available points.
In accordance with our Code of Conduct, punctuality, participation in discussions, completion of assignments, and demonstration of professional courtesy to others are required. Attendance will be recorded at the start of the class. Passing requires attendance on the full course.