Software Testing Training is not only important and required for freshers but also equally important and required for experienced software testers as well. However, training needs and course content differs for freshers and experienced software testers. Software Testing Training does not only mean, trainings on software Testing Basics; there are trainings available on Software Testing Tools, Test Estimation, Security Testing, Usability Testing, Software Testing Certification oriented courses, Software Quality Assurance (SQA) topics like Six Sigma, CMM and other Software Engineering related topics like UML, Technology specific trainings Database and Unix that are still required to become a good software tester.
Fresher and experienced testers needs relevant trainings:
Be it fresher looking for a software testing job or an experienced software tester looking for career growth or job change or a pay hike or for a certification. Most of the training institutes build their training courses keeping current IT industry and corporate needs in mind. Training institutes also upgrade their course content time-to-time to keep it industry relevant and up to date. Hence, whether you want to take-up a training now or later or not interested to take-up any testing training at all, I would still advise freshers and experienced software testers to read through course content offered of various Software testing training institutes to know about topics that are being taught on Software Testing, Test Automation and related topics that are currently in demand. Going through the course content offered by various institutes will help you to assess yourself against the knowledge that is required to succeed in Software Testing career, to identify knowledge gap that you need to bridge in order to be successful and list of new skills to acquire or testing tools that you need to learn. Once you are fully aware of your knowledge gap, provided you have the required time, money and interest, you can decide to join suitable training related to software testing or bridge the knowledge gap by self learning.
Training on software testing definitely helps freshers in getting a Software Testing Jobs when it comes to Off-campus hiring. Trainings on advanced Software testing topics like Software Test Estimation, Test Data Design, Security Testing, software testing tools or Certification courses for Test Architect etc., helps experienced software testers to progress in their career faster than their peer or colleagues.
In this article, I will explain different modes through which software testing training is delivered, different courses for software testing, ideal course content for fresher and experienced software testers, how to decide which training institute to join.
Software Testing Trainings can be delivered in any of the modes below.
1) Classroom Training: Classroom trainings are traditional way of teaching, however due to advancement in technology, virtual classroom training sessions are replacing traditional classroom training sessions at a fast pace. Classroom trainings provide good interaction with trainers and usually classroom sessions are followed by lab sessions to practice what was taught during the classroom sessions. This type of training is very helpful and required for freshers who want to learn software testing basics and very effective for learning software testing tools. Classroom trainings are very cost effective for learning Software Testing tools like QTP or Loadrunner as students can learn these Software testing tools without having to worry about software licensing or having to purchase expensive hardware setup like multiple servers required to perform load testing, or SAP environment setup to carry out Test Automation on SAP etc.
2) Online Training: This type of training focuses on delivering trainings over the internet though in the form of websites, wikis and videos. Online trainings are less interactive but provide lot of flexibility, one can take trainings during any time of the day based on their availability and good part is most of the Online Software Testing training can be accessed in any part of the world as they would be available on the WWW (world wide web). If best training on software testing is being provided by an institute in California, one can attend it being in India!!! Online Trainings are effective, for learning Software Testing Basis and even Software Testing tools. However, online training lacks lab session and is not so effective when it comes to learning Software testing tools like QTP or Loadrunner or Selenium as they cannot practice. However, with advent of cloud computing and SAAS (Software as service), very soon online trainings will also be able to provide lab sessions as well. In next couple of years, people will be no longer be searching internet for terms like “software testing training in chennai” or “software testing training in bangalore” or any location specific search, instead they would searching for online software testing training or virtual Software Testing Trainings and other related terms on search engines.
3) Offline Training: Is a way of teaching, where course content is provided as printed material or delivered on electronic media like CD/DVD or Software testing eBook etc., usually this type of training is cost effective but lacks interaction with the trainer and is more of self learning.
4) Internship: is one of the ways to get trained on a particular technology or domain, course content is more job oriented and also training is designed based on the business interests of the organization rather than what’s important from the career point of view of the candidate. Trainings provided during internship can delivered using any of the methods mentioned above. Best part of the internship is one can learn without paying fees instead they paid.
5) On the Job Training: in this mode of training, focus is on learning skills and technology which is required to perform a particular type of Software Testing job. Learning is usually limited to specific area of work like manual testing or only automated testing or even it can be just testing tool specific like QTP or RFT or Loadrunner or Selenium etc.
Software Testing Training for freshers:
As mentioned earlier Software Testing training is required for freshers and ideally course for freshers should cover below topics.
1) Software Testing fundamentals:
- Definitions of Software testing, Quality Assurance, Software Engineering and related terms.
- Understanding Static Testing Vs Dynamic Testing, Verification Vs Validation and Quality Assurance Vs Quality Control.
- Roles (Software Tester, Test Lead, Test Manager and Test Architect) and their responsibilities with regards to Software Testing.
- Qualities and skill to acquire to become a good Software testers.
- Introduction to different types of Software Development cycles, like Waterfall, Iterative, RAD (Rapid application development) etc., detailed explanation on “V” model and Agile development methodology.
- Detailed training session on Software Test Life Cycle (STLC), inputs required and deliverables to be created at end of each stage of STLC.
- Overview of different types of software testing focusing on white box and black box testing.
2) Software Testing Types:
- Introduction to White box testing techniques like loop testing, Statement coverage, branch coverage etc.
- Detailed training session on Unit testing, integration testing, System testing, regression testing, User Acceptance testing, Usability Testing and Security Testing.
- Introduction to Software Testing tools required for different types of Software Testing.
- Sessions on UML, Use Case diagrams, State Transition diagrams.
- Sessions on HTML and XML, Validators.
- Detailed training session on Test scenario creation, deriving Test Scenarios from requirements and Use cases.
- Detailed training session on Test Case design techniques like Equivalence Partition, Boundary Value Analysis (BVA), Error Guessing, State Transition, Decision Tree, Cause-Effect Graph techniques.
- Overview of Test Case template, requirements traceability.
- Sessions on Test Management software like Quality Center (QC) or IBM Clear Case and Clear Quest.
- Creation of Test Cases in Test Case management software using above mentioned Test Case design techniques.
4) Test Planning:
- Introduction to Test Management Software like QC (Quality Center).
- Creating and maintaining Requirements Traceability.
- Detailed session on Test Case Peer review.
- Different deliverables to be produced during Test Planning phase.
5) Test Execution and Reporting:
- Introduction to Test execution planning, Test Cycles, Regression test cycles.
- Importance of creating reusable test cases.
- Defect reporting using Test management software.
- Best practices to be followed while reporting defects.
- Test reporting templates.
6) Software Testing Best Practices:
- Importance of Software requirements, why mapping of Test Cases to Software requirements is necessary. Impact of volatile software requirements on success of Software Testing.
- Best practices to be followed in Test Case creation, Test Case design, Test Estimation, Defect reporting and Test Reporting.
7) Test Automation:
- Introduction to Test Automation and Performance Testing.
- Detailed session to Test Frameworks.
- Hands-on experience to one of the popular Test Automation tools like QTP (Quick Test Professional) or IBM Functional Tester or Selenium and Load testing tools like Loadrunner or OpenSTA.
Software Testing Training for experienced:
Training can include the some or most of the topics mentioned in above section “Software Testing Training for freshers”. However, below mentioned topics is required to be covered for experienced software testers.
1) Test Management:
- Detailed sessions on Test Lead and Test manager deliverables for each phase of Software Development and Software Test Life Cycle.
- Understanding Test Maturity Model. Assessment of Test processes currently being followed in the organization. Proposing long term and short term recommendations after assessment.
- Understanding Cost of Quality (COQ) and implications of inadequate testing.
- Understanding of different types of management styles ” autocratic”, “paternalistic”, and “democratic”. How to apply them, for whom and in what situation.
- Session on reasons for a project to fail.
- Managing Risks related to Software Testing Phase.
- Project Stakeholder management.
- Software Testing Team building, Motivation and retention.
2) Test Estimation:
- Introduction and importance of Test Effort Estimation.
- Importance of identifying key assumptions and Risks during Test Estimation.
- Different software test effort estimation approaches like Top down, Bottom Up, Delphi technique, Function Point analysis and custom estimator.
- Best practices related to Software Test estimation.
- Approach and Templates to be used for Test Estimation.
- How to choose Test Effort Estimation techniques for custom development projects that use Java, .Net, ASP, C#, VB .Net etc., and Testing of Packaged software applications like SAP, Oracle eBusiness Suite.
- Practical session on Test Estimation.
3) Test Planning:
- Introduction to IEEE standards on Test Planning.
- Detailed sessions Test Plan and Test Strategy document creation and maintenance.
- Detailed session on Test Management Software Administration like, QC Administration or administration of Clear Case and Clear Quest, topics covering tool setup, User management and other administration activities.
- Deciding on Test Cycles for a project or release.
- Deciding on the Test Team size.
- Best practices on Test Planning.
- Identifying and prioritizing of Test Cases.
- Defining Test Metrics to be capture for the Project.
- Defining exit and entry criteria for Testing Phase.
- Test planning for Risk based testing.
4) Environment and Test Data management:
- Basics of Test Environment Setup.
- Understanding components of Test environment like hardware, software (operating software), network, database, application server, web server and configuration.
- Best practices in managing Hardware and software licenses
- Optimal utilization of servers among projects to maximize ROI.
5) Test Execution and Reporting:
- Importance of reporting Critical defects during earlier stage of Software Testing.
- How to be effective in exploratory and ad-hoc testing.
- Reporting and ensuring critical or important defects are fixed first.
- Tracking and controlling Test Execution.
- Importance of Tracking Defect aging and reporting them to stakeholders.
6) Test Metrics:
- Understanding different types of metrics, Goal-question metric, McCabe’s complexity, etc.,
- Key Test Metrics to be captured during Test Planning, Test Execution and Post implementation. Testing metrics related to Testing Team productivity, Test Coverage, Defect removal efficiency etc.,
- Detailed sessions on McCabes Complexity Metric.
- When and who should generate metrics. How to interpret metrics captured.
7) Test Automation:
- Best practices on Test Automation, Coding Standards, and Reusability of test scripts.
- Test Automation effort estimation techniques.
- Sessions on test automation for different types of User Interfaces like GUI (Graphic user interface), API (Application programmers Interface), CLI (Command line interface), web services.
- Detailed and hands on experience to different Test Automation frameworks like Data-driven and Keyword-driven.
- Detailed sessions and hands on exposure to popular commercial Test Automation tools, IBM Functional Tester and QTP (Quick Test Professional) and open source Test automation tool like Selenium.
- Detailed sessions and hands on exposure to and Load testing tools like Loadrunner, IBM Rational Performance Tester and Open source load testing tool OpenSTA.
- Understanding performance parameters, analyzing performance test reports and identifying bottlenecks.
Which Software Testing Training institute to join ?
This is the first question that anybody will have who has decides to take up Software Testing Training. Below are some of the parameters one should consider before taking up trainings.
1) Best Software Testing training institute: If you are fresher and wanting to choose software testing as your career, it’s always better to take Software testing training from best and reputed institute for Software Testing. Certificates issued by reputed institutes are valued in the IT industry.
2) Testing Training and Certification: There are Software Testing training institutes which coach people on Software Testing and prepare students for industry acknowledged certifications like ISEB or CSTE or PMP etc., These are the best preferred training courses, they might be little expensive but they are worth it.
3) Job Placement: Only some of the institutes have Job placement option, however very few institutes are successful getting jobs for their students. Hence, it’s very important to check on the % of people who got jobs through the training institute. One needs to check on % of candidates placed in software companies rather just placement. Some training institutes place students as faculty in their own institute or other institutes, just to boost up their placement percentage.
4) Course content: Before deciding on which training institute to join, one should understand topics covered in the trainings offered by various training institutes. One needs to assess breadth and depth of the software testing topics covered in the course. Being more knowledgeable is the only way to impress interviewer and even to perform better on the job.
5) Classroom trainings: Trainings that are conducted in classrooms are preferable over online trainings. As classroom trainings are more effective and allow interaction with trainer. Even trainings provided online as virtual classrooms also should be fine when you the reputed institutes you want to join are not in your city.
6) Training Cost: Cost of the Training is also one of the important factors, some of the training institutes charge exorbitantly, so one should always compare course content of various institutes and training cost, decide on which training institute can provide maximum ROI (return on investment).
7) Lab Sessions: Prefer institute that provides access to Software Testing tools and Test environments to practice. Trainings that target only theory but no practice session will not be of much use.
8) Reference: Contact and take opinion of people who are currently or who have completed trainings from the institute, check on their opinion about the institute, course content, value for money, Job placement policy, and statistics on how many of their students are placed in reputed Software Testing companies.
Other Interesting Articles: