Software Testing is the backbone of any IT product, Services Company. Industry size is about USD$13 billion globally and is one of the biggest recruiters and job creators around the world. Software testing can be manual and automated. Vskills certification will focus on the different concepts of testing, automated testing necessary documentation and project management needs; and metrics for testing, automated testing and different tools for testing like load testing, cost-driven training and GUI based testing. Some different test automation tools will also be introduced.
How will I benefit from Software Testing Certification?
A number of career options have evolved in the testing industry. It is looked as a good professional career for many software professionals. For example, from being test engineer one can move to senior test engineer, test lead to test manager; else can become Quality Assurance lead, Quality Assurance Manager. Thus options available in the testing domain are huge.
There is always a demand for good performance testers who can analyze the performance test results, identify the bottlenecks and suggest tuning techniques. There are a lot of companies, specializing in software testing, open source and integration services. International job consultants also are constantly looking for Software Testing Professionals for overseas jobs. The skill is also greatly in demand in super specialized government projects.
Companies that hire Software Testing Professional
Vskills Certified Software Testing Professional may find employment in all kind of companies American Express, HCL, Tata Consultancy Services Ltd, Capgemini, IBM services, Samsung Labs
Defining boundaries between automation framework and a testing tool
Testing tools
Measurement in software testing
Testing Artifacts
Test plan
Traceability matrix
Test case
Test script
Test suite
Test data
Test harness
COURSE OUTLINE
Introduction & Overview
What is Software testing
Overview and History of Software testing
Software Testing Basics
Testing scope
Testing types (Functional vs Non-functional, Static vs Dynamic)
Defects and failures
Combinations and preconditions of Input
Verification and validation of Software
SQA and the software testing team
The box approach to testing
White Box Testing
What is white Box Testing and its introduction
Design techniques of White Box Testing
Illustrating API testing which is a type of white box testing, with example and implementation
Degree of source code testing given by code coverage and its criteria with listing tools for different computer languages
Introducing faults to test code paths by Fault injection method, its history, software implementation and tools (research and commercial tools)
Modifying program code in small ways by mutation testing, its overview, equivalent mutant and mutant operators in mutation testing
Requirement review by static testing
Code coverage types in white box testing
White box testing as penetration testing
Black box testing
Testing application functionality by Black box testing
Application functionality testing as per requirement by Specification-based testing
Advantages and disadvantages of Black box testing
Testing by using Decision tables with example and benefits
Testing by pairing input parameter to a system algorithm
Using state transition tables in one and two dimension for testing
Partitioning the input data in equivalent classes for testing
Testing by using values at edges of equivalent classes by boundary value analysis and its application
Black box penetration testing
Combining white and black box testing in Grey box testing
Unit Testing
Overview of testing the smallest part of an application by unit testing
Advantages of unit testing in integration, making changes, design and documentation
Using abstract interfaces to separate interface from implementation
Limitations of Unit testing
Using unit testing in Extreme Programming and automation framework
Frameworks for Unit testing
Direct language support for unit testing
Integration testing
Purpose of testing combined modules of software
Types of integration testing covering big-bang, top-down and bottom-up
Limitations in conducting Integration testing
System testing
Testing the whole system
Testing the GUI by Planning and artificial intelligence, generating the test case and using Event Flow Graphs
Illustrating the history, goals and methods of Usability testing to test Usability of the application
Assessing the performance of application by performance testing
Testing compatibility of application with computing environment
Illustrating Error handling testing, its Verification, support in programming languages, implementation
Exception safety of code and its level to handle run-time errors
Exception handling based on Design by Contract
Checked exceptions in Java
Synchronous and asynchronous exceptions
Condition systems in Lisp
Return to expression that signaled an exception by Continuable exceptions
Testing normal and anticipated peak load conditions by Load testing using Software and Mechanical load testing
Testing with certain amount of data by Volume testing
Security testing for Confidentiality, Integrity, Authentication and Non-repudiation
Testing capability to scale by Scalability testing
Profiling to profile a program's behavior for optimization
History, types, methods to use profiler
Testing to determine the stability by performing Stress testing using Rationale, Field experience and Relationship to branch coverage with various Measures.
Scale vertically vs. horizontally, Tradeoffs to make and designing for scalability
To evaluate whether result of calculation is true by Sanity testing
Describing the Exploratory testing with its Benefits and drawbacks
Retesting the program for new bugs by Regression testing
Testing the Reliability of application by Reliability, Recovery and failover testing
Testing compliance to accessibility for disabled persons by Accessibility testing
Miscellaneous Testing Levels
Testing System with coexistence with others by System integration testing
Illustrating Software performance, load, Stability, Usability, Security testing and Internationalization and localization testing
Explaining Destructive testing and its types
The Testing Process
Testing in Traditional waterfall software development model
Capability Maturity Model Integration with testing
Testing in Agile or Extreme software development model
Explaining a Sample testing cycle
Automated testing
Automate the testing process
Testing with variety of input arguments of public interfaces by Code-driven testing or Test-driven development
Testing by a framework generating user interface events like keystrokes and mouse clicks, and observes the changes by Graphical User Interface (GUI) testing
Quantifying what to test in automated tests
Applying Framework approach in test automation
Defining boundaries between automation framework and a testing tool
Various types of Testing tools
Measurement to be taken in software testing
Testing Artifacts
Various records or artifacts generated during testing are Test plan, Traceability matrix, Test case, Test script, Test suite, Test data and Test harness