Software Testing

Lear all about software testing from industry expert.
3.8 (71 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,970 students enrolled
62% off
Take This Course
  • Lectures 36
  • Length 22.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 3/2013 English

Course Description

Almost half the jobs in software field are in the area of software testing. However, there is almost nil education on software testing to students in their curriculum at colleges and institutes. Also, for people already in the testing job, they have had very little formal software testing training. Hence, those who train and prepare themselves in software testing will be better positioned to grab these jobs and grow their careers in this field. This Software Testing Course will formally train you in software testing.


What are the requirements?

  • Working knowledge of computers

What am I going to get from this course?

  • Understand software testing and basic testing terms
  • Understand software lifecycle and testing role
  • Understand specialized testing
  • Understand test design
  • Understand test management
  • Understand test automation & tools
  • Understand other skills in testing
  • Getting to the next level in software testing

Who is the target audience?

  • Software Test Engineers
  • Software Test Managers
  • Software Quality Engineers
  • Software Quality Managers
  • Fresh graduates

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Getting Started
This section is to get started on the software testing course and how to go about it.
Section 2: Introduction and Basic Terms
Software testing is an inherent part of the software development lifecycle. Software testing has two words and they are 'software' and 'testing' and it is important to understand them. This session will cover introduction to the concept of software testing with a real life example. Further it will cover 'What to test?', 'Why to test'' and 'How to test'. So, let's get going with understanding that.
This session will cover introduction to Black Box testing, White Box testing and Grey Box testing. This will further bring about distinction between manual testing and test automation. It will also cover the various testing terms that are frequently used in the job of testing. With this background we start to look at the typical testing workflow and basic testing process. Finally we look at the concept of 'software quality' and it various attributes and standards and general norms to be kept in mind and practiced.
5 questions

Section 3: Software Lifecycle and Testing Role
In this session we will try to understand broad categories of software development models (SDLC) namely sequential, evolutionary and incremental. We will delve in some of the popular models like waterfall model, V model, W model and Spiral model.
Continuing further on the understanding of the SDLC models from the last session we will now cover one the most popular models these days called Agile and one of its implementation called Scrum. Subsequent to this we will discover how the different stages of software development are commonly known in software industry. Also, in the course of testing, the bugs that are found. what is their lifecycle inside the software lifecycle.
In this session we will cover in detail about the BB, WB and GB testing with lots of examples. We will first see some non-software common day examples and then build from there to look at software examples and hence easily understand the differences between these types of testing. Subsequently we will develop understanding about unit testing and component testing.
In this session we will build further build on from the last session and understand integration testing, system testing, acceptance testing, sanity/smoke testing and regression testing. We will further develop understanding about static testing, dynamic testing, functional testing and non-functional testing.
3 questions
Section 4: Specialized Testing
This session will cover performance testing and its various aspects. To start with we will develop an understanding about what is performance testing. Further we will cover load testing, stress testing and volume testing. Based on this grounding we will look into the process of performance testing and identifying key performance indicators.
In this session we will have a look at one of the very important aspects of software working and that is of memory leaks. We will cover what it means and testing related to it. We will then cover the concept and testing of connection leaks. In the other part of this session we will look at yet another important area of modern software arena and that is of security/vulnerability. We will understand the concept of security and vulnerability based on non-software examples and then from there build on the concept related to software. Based on this grounding we will learn about security/vulnerability testing. 
In the first part of this session we will develop an understanding about database and data warehouse testing. In today's business environment the value of data and more importantly the information extracted out of the analysis of this data is becoming very crucial to businesses. Key business decisions are impacted with this information. Hence, making sure that these systems are working in order is very crucial and handled in this kind of testing. In the later part of this session we will cover accessibility testing. Enabling users with disability like blindness etc. to be able to use software is one of the other aspect of software and in some countries mandatory. We will look at various accessibility features and testing related to it. 
Getting the software ready to be used in different countries and regions is an important area as this will impact the sale of the software in this area. In majority cases a big chunk of software revenue, as high as 50%, comes from these areas. This involves getting the software able to handle different locales and translated into different languages. This involves globalization and localization of software. We will understand these concepts and testing related to it with various examples.
4 questions
Section 5: Test Design
In this session we will develop an understanding about the specification based or Black Box test design techniques. This broadly covers equivalence partitioning (EP), boundary value analysis (BVA), decision tables and state transition and use case based.
In this session we will take a look at the another form of dynamic test design, which is, structure based or white box. This broadly covers test coverage measurement (code coverage) techniques, structure based techniques and mutation testing. In code coverage we will have a look at statement coverage, decision coverage, condition coverage and branch coverage.
In this session we will cover structure based techniques namely basis path and control structure. We will develop an understanding about cyclomatic number and mutation testing. Subsequently we will covet other technique called experience based techniques and in it namely exploratory and error guessing techniques.
In this session we will have a look at the static test design techniques. It primarily includes review techniques and static analysis by tools. We will cover different types of reviews namely formal and informal. We will also touch upon PSP and TSP. In the static analysis by tools we will touch upon depth nesting, cyclomatic number, coding standards, control flow and paths.
5 questions
Section 6: Test Management
In this session we will start to build our understanding about test planning and control. It will cover understanding of test mission, policy and strategy. It will cover the most important item, which is, Test Plan. We will take up the IEEE829 and ACC methods of test plan. We will cover in detail the IEEE829 template with an example of test plan.
In this session we will continue our understanding of IEEE829 test plan template and the example. We cover in details items like, test design specification, test case specification, test procedure specification, test item transmittal report, test log, test incident report and test summary report. Subsequently we will cover the ACC method, which a new concept of how to quickly generate a testplan comprising of attributes, components and capabilities.
In this session we are going to develop an understanding about test control. We will cover process planning, risk management and course correction. We will walkthrough the various processes like review process, build release an acceptance process etc. that need to be put in place. We will have a look at the various approaches to test effort estimation. Subsequently we will cover risk management and understand project risk and product risk.
In this session we will develop an understanding about configuration management (version control). We will look at various items related to it like source code, builds, test scripts and specifications. Test execution is one of the most important crux of the testing project. We will walk through the concept of execution plans and how they can be established and leveraged for streamlining the test execution. In the later part we will have a look at the bug isolation and advocacy. 
In this session we start with "If you cannot measure it, you cannot improve it". Based on this we build on what are the measurements and metrics that we can look at. These are broadly qualitative and quantitative in nature. We will cover broadly the various categories of metrics like product, in-process and maintenance. Subsequently we get to know the concept and importance of "Quality Goals" for the testing project and teams.
3 questions

Section 7: Test Automation & Tools
In this session we will cover as to 'what automation is?' and 'why automate?'. We will look at how certain testing are not just feasible via manual testing and we must have automation and necessary tools to do it. But, doing automation is a key decision in terms of effort, infrastructure and hence the cost. Therefore, calculating the ROI (return on investment) is one of the key parameters to be calculated to make the decision regarding go or no go for automation. We will look at how to calculate this ROI.
In this session we have a look at the tools used for test management. We will cover one proprietary tool and one open source tool. The one in open source is going to be TestLink. The one in proprietary tool is going to be HP Quality Center (QC) Both these tools provide extensive features for managing the testing activities like requirement management, testcase management, test execution management and reporting management for different releases and different cycles within each of these releases. After the session please download these tools and practice your learning from this session on those tools.
In this session we continue from session 21. We will look deeper into the features of TestLink and walkthrough in a demo how to work with all these features. Specifically we will cover requirement document generation, test specifications, search, keywords, reports, testcase, test suite, platforms, various assignments, testcase execution, results and dashboard. After the session please download these tools and practice your learning from this session on those tools.
In this session we will cover different performance testing tools. We will look at one proprietary tool HP Load Runner and one open source tool JMeter. These tools are essential for simulating the real life usage conditions which otherwise manually is just not feasible. We will cover the major components of these tools and walkthrough in a demo as to how to go about using them. After the session please download these tools and practice your learning from this session on those tools. 
In this session we will cover one proprietary tool in the area of functional testing. The tool that we have chosen is one of the most popular one from HP and is called Quick Test Professional ( commonly known as QTP). We will cover the major components of QTP and walkthrough in a demo as to how to go about using them. After the session please download QTP and practice your learning from this session on this tool. 
In this session we will cover one open source tool in the area of functional testing. The tool that we have chosen is one of the most popular one called 'Selenium'. We will cover the major components of Selenium and walkthrough in a demo as to how to go about using them. After the session please download Selenium and practice your learning from this session on this tool.
5 questions
Section 8: Other Skills in Testing
In this session we look at, that apart from computer and testing knowledge, what are the other skills that are required to be good tester. We will develop an understanding about psychology of testing, presentation in testing, attitude (soft skills) and aptitude ( qualitative and quantitative). Towards the end of this module we will look at what can be taken up as the next level, beyond this course, of training and development for your self.
Section 9: Case Study
In this session we take up a case study of testing. We pick one of the most popular product - Firefox. It is an open source tool and hence all its artifacts like source code, documentation etc. is available for all to see in the open domain online. We will cover various testing items related to it like requirements, testplan, release process, test design, test execution, test results, manual testing, automated testing, bug logging, security testing and issues, performance testing and issues, reporting and dashboard and finally rollout of certified versions.
Section 10: Getting Completed
This session is on getting completed with the software testing course and moving on to the next level.
Section 11: Additional Topics
This lecture will cover in detail about the combinatorial testing.
TPA - Test Point Analysis
Section 12: Quality Approaches

This session covers the various quality approaches. It also gives an introduction to the CMMi.


Introduction to TMMi


Introduction to TPI


Introduction to ISO15504 and Six Sigma


Introduction to TQM and Kaizen

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Ganesh Sahai, Founder "DoItvation" & "TestToBeBest"

Ganesh Sahai is B Tech from IIT Delhi (1993) and EGMP from IIM Lucknow (amongst the top technology and management institutes in the world). He has been founder, co-founder and founder team member of few start up companies and initiatives in the field of IT, Marketing and Academics. He Worked for Adobe since 1999 for around 12 yrs. He has led and setup many of the key testing teams from scratch for various Adobe products, like, Acrobat, Adobe Reader, AIR, CS, Tools etc. spanning desktops, handhelds (mob. phones etc.), hosted and enterprise area. He has worked as head of quality with one of the world's leading gaming technology company Aristocrat Technologies. Innovation is his passion and his innovative approach has got sixteen ideas approved for patents. Along the way he has supported and guided people in their innovative ideas. He is founder of “TestToBeBest" and “DoItvation" community of those interested in software testing and innovation respectively.

Ready to start learning?
Take This Course