SlideShare a Scribd company logo
Software testing & Quality Assurance
 Several definitions:
“Testing is the process of establishing confidence
that a program or system does what it is supposed
to.”by Hetzel 1973
“Testing is the process of executing a program or
system with the intent of finding errors.” by
Myers 1979
“Testing is any activity aimed at evaluating an
attribute or capability of a program or system and
determining that it meets its required results.” by
Hetzel 1983
 One of very important software development phases
A software process based on well-defined software quality
control and testing standards, testing methods, strategy, test
criteria, and tools.
Engineers perform all types of software testing activities to
perform a software test process.
The last quality checking point for software on its production
line
 Software testing is about testing a feature by applying test
data to get a result and then comparing the actual result with
expected result.
Expected Result = Its from client side
Actual Result = Its obtain after a test execution.
It is not only finding the defect in the s/w; it is the completely
dedicated discipline of evaluating the quality of s/w
It depends on the process and the associated stakeholders of the
project(s). In the IT industry, large companies have a team with
responsibilities to evaluate the developed software in context of
the given requirements. Moreover, developers also conduct
testing which is called Unit Testing. In most cases, the following
professionals are involved in testing a system within their
respective capacities:
◦ Software Tester
◦ Software Developer
◦ Project Lead/Manager
◦ End User
Different companies have different designations for people who
test the software on the basis of their experience and knowledge
such as Software Tester, Software Quality Assurance Engineer,
QA Analyst, etc.
It is not possible to test the software at any time during its cycle.
The next two sections state when testing should be started and
when to end it during the SDLC.
 Software testing is really required to point out the defects and
errors that were made during the development phases.
 It’s essential since it makes sure of the Customer’s reliability and
their satisfaction in the application.
 It is very important to ensure the Quality of the product. Quality
product delivered to the customers helps in gaining their
confidence.
 Testing is necessary in order to provide the facilities to the
customers like the delivery of high quality product or software
application which requires lower maintenance cost and hence
results into more accurate, consistent and reliable results.
 Testing is required for an effective performance of software
application or product.
 It’s important to ensure that the application should not result
into any failures because it can be very expensive in the future or
in the later stages of the development.
 It’s required to stay in the business.
1) Testing shows presence of defects: Testing can show the defects are present, but
cannot prove that there are no defects. Even after testing the application or
product thoroughly we cannot say that the product is 100% defect free.
2) Exhaustive testing is impossible: Testing everything including all combinations of
inputs and preconditions is not possible. So, instead of doing the exhaustive
testing we can use risks and priorities to focus testing efforts
3) Early testing: In the software development life cycle testing activities should start
as early as possible and should be focused on defined objectives.
4) Defect clustering: A small number of modules contains most of the defects
discovered during pre-release testing or shows the most operational failures.
5) Pesticide paradox: If the same kinds of tests are repeated again and again,
eventually the same set of test cases will no longer be able to find any new bugs.
To overcome this “Pesticide Paradox”.
6) Testing is context depending: Testing is basically context dependent. Different
kinds of sites are tested differently. For example, safety – critical software is
tested differently from an e-commerce site.
7) Absence – of – errors fallacy: If the system built is unusable and does not fulfil the
user’s needs and expectations then finding and fixing defects does not help.
 The five stages of the fundamental
• Test Planning and Control
• Test Analysis and Design
• Test Implementation and Execution
• Evaluating Exit Criteria and Reporting
• Test Closure Activities
 5 Phases of the Fundamental Test Process
Fix test design and repeat
Fix component or test cases/scripts
and repeat
Test
Planning
and Control
Test
Analysis
and Design
Test
Implementation
and Execution
Evaluating Exit
Criteria and
Reporting
Test Closure
Activities
Fix component test plan and repeat
Fix test design and repeat
 Testing, Quality Assurance and Quality
Control
 Most people get confused when it comes to pin down the differences
among Quality Assurance, Quality Control, and Testing. Although they
are interrelated and to some extent, they can be considered as same
activities, but there exist distinguishing points that set them apart.
 The following table lists the points that differentiate QA, QC, and
Testing.
Quality Assurance Quality Control Testing
QA includes activities that
ensure the implementation of
processes, procedures and
standards in context to
verification of developed
software and intended
requirements.
It includes activities that
ensure the verification of a
developed software with
respect to documented (or not
in some cases) requirements.
It includes activities that
ensure the identification of
bugs/error/defects in a
software.
Focuses on processes and
procedures rather than
conducting actual testing on
the system.
Focuses on actual testing by
executing the software with an
aim to identify bug/defect
through implementation of
procedures and process.
Focuses on actual testing.
Process-oriented activities. Product-oriented activities. Product-oriented activities.
Preventive activities. It is a corrective process. It is a preventive process.
It is a subset of Software Test
Life Cycle (STLC).
QC can be considered as the
subset of Quality Assurance.
Testing is the subset of Quality
Control.
 Some of the other standards related to QA and Testing processes are
mentioned below:
 IEEE 829 Test Documentation.
 IEEE 830 A guide for developing system requirements
specifications
 IEEE 730 A standard for software quality assurance plans.
 IEEE 1008 Unit Testing.
 IEEE 12207 A standard for software life cycle processes and
life cycle data
 BS 7925-1 Vocabulary of Terms in Software Testing.
 BS 7925-2 Software Component Testing Standard.
 This section describes the different types of testing that may be used to test a software
during SDLC.
 Manual Testing:-Manual testing includes testing a software manually, i.e., without using any
automated tool or any script. In this type, the tester takes over the role of an end-user and
tests the software to identify any unexpected behaviour or bug. There are different stages
for manual testing such as unit testing, integration testing, system testing, and user
acceptance testing.
Testers use test plans, test cases, or test scenarios to test a software to ensure the
completeness of testing. Manual testing also includes exploratory testing, as testers explore
the software to identify errors in it.
 Automation Testing:- Automation testing, which is also known as Test Automation, is when
the tester writes scripts and uses another software to test the product. This process involves
automation of a manual process. Automation Testing is used to re-run the test scenarios that
were performed manually, quickly, and repeatedly.
The following tools can be used for automation testing:
 HP Quick Test Professional
 Selenium
 IBM Rational Functional Tester
 Silk Test
 Test Complete
 Testing Anywhere
 Win Runner
 Load Runner
 Visual Studio Test Professional
 WATIR
 There are three type of testing:-
1) White Box Testing:-
◦ Unit Testing
◦ Structural Testing
 2) Black Box Testing:-
◦ Functional Testing
◦ Integration testing
◦ System Testing
◦ Usability Testing
◦ Compatibility Testing
◦ Configuration Testing
◦ Concurrency Testing
 3) Non Functional Testing:-
◦ Security Testing
◦ Automation Testing
◦ Performance Testing
◦ Load Testing
◦ Stress Testing
◦ Volume Testing
◦ Recovery Testing
 Testing documentation involves the documentation of artifacts that should be
developed before or during the testing of Software.
 Documentation for software testing helps in estimating the testing effort required,
test coverage, requirement tracking/tracing, etc. This section describes some of
the commonly used documented artifacts related to software testing such as:
Test Plan
Test Scenario
Test Case
Traceability Matrix
 Following skills are indispensable to become a good software tester. Compare your skill set
against the following checklist to determine whether Software Testing is a really for you-
 A good software tester should have sharp analytical skills. Analytical skills will help break up
a complex software system into smaller units to gain a better understanding and created
corresponding test cases.
 A good software tester must have strong technical skills . This would include high level of
proficiency in tools like MS Office , Open Office etc , Testing tools like QTP , Load runner, etc..
and of course deep understand of the application under test.
 A good software tester must have a good verbal and written communication skill.
 Testing at times could be a demanding job especially during the release of code. A software
tester must efficiently manage workload, have high productivity ,exhibit optimal time
management and organization skills
 To be a good software tester you must have a GREAT attitude. An attitude to ‘test to break' ,
detail orientation , willingness to learn and suggest process improvements.
 To excel in any profession or job, one must have a great degree of the passion for it. A
software tester must have passion for his / her field. BUT how do you determine whether
you have a passion for software testing if you have never tested before?
 Academic background of a software tester should be in Computer Science. A
BTech/ B.E. , MCA , BCA , BSc- Computers will land you a job easily.
 If you do not hold any of these degrees than you must complete a software testing
certification like ISTQB and CSTE which help you learn Software Development/ Test
Life Cycle and other testing methodologies.
Software testing & Quality Assurance
 As mentioned above, from being test engineer one can move to senior
test engineer, test lead to test manager; else can become QA lead, QA
Manager. The options available in the testing tools side are enormous.
There are numbers of functional, performance, security testing tools
besides test management tools like Quality Centre from HP, CQTM from
IBM etc.,
 The demand for niche skills like SOA testers, Security testers are on the
increase. There is dearth of skills in test automation areas – scripting skills
in the tools languages like VB, Java and other scripting languages like Perl,
Shell, Python etc., Technical resources with capabilities to evaluate
automation tools, create automation framework and reusable
components are on demand. Always there is demand for good
performance testers who can analyze the performance test results,
identify the bottlenecks and suggest tuning techniques.
 Software Tester Salary (India)
 The average pay for a Software Tester is Rs 310,575 per year. People in this job generally
don't have more than 10 years' experience. Experience strongly influences salary for this job.
The skills that increase pay for this job the most are Test Automation, Test Planning, and SQL.
 Software Tester Salary (United States)
 A Software Tester earns an average salary of $55,334 per year. Most people with this job
move on to other positions after 20 years in this career. The highest paying skills associated
with this job are ASP. NET and .NET.
Software testing & Quality Assurance
 Software testing professionals are in huge demand both in India and
abroad. Indian Testing Board has more than 30, 000 certified testers in
International Software Testing Qualifications Board (ISTQB) foundation
level exam. It is globally accepted certification for software testers.
Software testing is more challenging domain. At the same time, it offer
lucrative salary package for talented professionals. Every day, hundreds
of new software applications are launched in the market. As a result,
there is huge demand for software testers who can validate software
product at various levels.
 According to recent survey, India is going to be the popular software
outsourcing destination in world because of its operational efficiency
and talented workforce. As a software tester, you career advancement
will follow the following hierarchy.
 Junior Test Engineer –> Test Engineer –> Senior Test Engineer –> Team
Lead –> Project Manager
Software testing & Quality Assurance

More Related Content

PPT
Software Testing Fundamentals
PPTX
Introduction to software testing
PDF
Software testing methods, levels and types
PPT
Basic software-testing-concepts
PPT
Testing concepts ppt
PPTX
PPTX
Software testing
PDF
Testing methodology
Software Testing Fundamentals
Introduction to software testing
Software testing methods, levels and types
Basic software-testing-concepts
Testing concepts ppt
Software testing
Testing methodology

What's hot (20)

PPTX
Software quality assurance
PDF
Types of software testing
PPTX
Software testing ppt
PPT
Test Levels & Techniques
PPTX
software testing methodologies
PPTX
PPT
Chapter 13 software testing strategies
PPTX
Software quality assurance
PPTX
Software Process Models
PPT
Agile development, software engineering
PDF
Software testing
PPTX
Software testing life cycle
PDF
Agile software development
PPTX
System testing
PPTX
Ch 3 software quality factor
PPTX
formal verification
ODP
Presentation on Agile Testing
PPTX
Software Testing or Quality Assurance
PPTX
Software Development Life Cycle
PPT
Software Quality Assurance
Software quality assurance
Types of software testing
Software testing ppt
Test Levels & Techniques
software testing methodologies
Chapter 13 software testing strategies
Software quality assurance
Software Process Models
Agile development, software engineering
Software testing
Software testing life cycle
Agile software development
System testing
Ch 3 software quality factor
formal verification
Presentation on Agile Testing
Software Testing or Quality Assurance
Software Development Life Cycle
Software Quality Assurance
Ad

Viewers also liked (20)

PPTX
Quality Assurance and Software Testing
PPT
Unit 5 testing -software quality assurance
PDF
Introduction to automation testing
ODP
Appium troubleshooting
PPTX
Wheat - Mobile functional test automation
PPT
Ch1 preliminaries
PDF
Functional testing the_good_the_bad_and_the_ugly
PPT
PPS
PPT
Software Testing Process
PDF
Unit testing best practices
PPT
16103271 software-testing-ppt
PDF
Selenium, Appium, and Robots!
PPSX
Introduction to Process Improvement & Software Quality Assurance
PPTX
Unit Testing Concepts and Best Practices
PPTX
UNIT TESTING PPT
PPTX
Quality Assurance in Software Ind.
PPTX
2 quality assurance
PPT
Quality assurance
PPT
1 Quality Assurance Presentation
Quality Assurance and Software Testing
Unit 5 testing -software quality assurance
Introduction to automation testing
Appium troubleshooting
Wheat - Mobile functional test automation
Ch1 preliminaries
Functional testing the_good_the_bad_and_the_ugly
Software Testing Process
Unit testing best practices
16103271 software-testing-ppt
Selenium, Appium, and Robots!
Introduction to Process Improvement & Software Quality Assurance
Unit Testing Concepts and Best Practices
UNIT TESTING PPT
Quality Assurance in Software Ind.
2 quality assurance
Quality assurance
1 Quality Assurance Presentation
Ad

Similar to Software testing & Quality Assurance (20)

PDF
Fundamentals of Software Testing
PPTX
Software Quality Assurance
PDF
Testing Slides 1 (Testing Intro+Static Testing).pdf
PPTX
Software testing
PPTX
Software testing
PPTX
Software testing sengu
PPT
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
PPTX
An introduction to Software Testing and Test Management
PPTX
Aim (A).pptx
PPTX
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
PDF
Testing Tutorial PDF
PDF
software_testing pdf.pdf
PDF
software_testing pdf.pdf
PDF
software_testing pdf.pdf
PDF
software_testing pdf.pdf
PDF
software_testing pdf.pdf
PDF
Manual testing
PPTX
software testing technique
PPT
Software Testing Presentation in Cegonsoft Pvt Ltd...
Fundamentals of Software Testing
Software Quality Assurance
Testing Slides 1 (Testing Intro+Static Testing).pdf
Software testing
Software testing
Software testing sengu
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
An introduction to Software Testing and Test Management
Aim (A).pptx
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Testing Tutorial PDF
software_testing pdf.pdf
software_testing pdf.pdf
software_testing pdf.pdf
software_testing pdf.pdf
software_testing pdf.pdf
Manual testing
software testing technique
Software Testing Presentation in Cegonsoft Pvt Ltd...

More from Webtech Learning (20)

PPTX
Benefits of Digital Marketing
PPTX
Digital Marketing Benefits
PPTX
Future Scope of Digital Marketing in India
PPTX
Css types internal, external and inline (1)
PPTX
Bootstrap webtech presentation - new
PPTX
Css presentation
PPTX
Client side & Server side Scripting
PPTX
Shadows Effects in CSS
PPTX
Bs Typography
PPTX
Bootstrap grids
PPTX
Html formatting
PPTX
Css box-sizing
PPTX
Css position
PPTX
Css margins
PPTX
Css box-model
PPTX
Css Display Property
PPTX
Html media
PPTX
Css floats
PPTX
Html5 semantics
PPTX
Css pseudo-classes
Benefits of Digital Marketing
Digital Marketing Benefits
Future Scope of Digital Marketing in India
Css types internal, external and inline (1)
Bootstrap webtech presentation - new
Css presentation
Client side & Server side Scripting
Shadows Effects in CSS
Bs Typography
Bootstrap grids
Html formatting
Css box-sizing
Css position
Css margins
Css box-model
Css Display Property
Html media
Css floats
Html5 semantics
Css pseudo-classes

Recently uploaded (20)

PPTX
master seminar digital applications in india
PPTX
GDM (1) (1).pptx small presentation for students
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Cardiovascular Pharmacology for pharmacy students.pptx
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Open Quiz Monsoon Mind Game Final Set.pptx
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Basic Mud Logging Guide for educational purpose
PDF
TR - Agricultural Crops Production NC III.pdf
master seminar digital applications in india
GDM (1) (1).pptx small presentation for students
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
01-Introduction-to-Information-Management.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
Cardiovascular Pharmacology for pharmacy students.pptx
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
Microbial diseases, their pathogenesis and prophylaxis
Anesthesia in Laparoscopic Surgery in India
Open Quiz Monsoon Mind Game Final Set.pptx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
O7-L3 Supply Chain Operations - ICLT Program
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Basic Mud Logging Guide for educational purpose
TR - Agricultural Crops Production NC III.pdf

Software testing & Quality Assurance

  • 2.  Several definitions: “Testing is the process of establishing confidence that a program or system does what it is supposed to.”by Hetzel 1973 “Testing is the process of executing a program or system with the intent of finding errors.” by Myers 1979 “Testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results.” by Hetzel 1983
  • 3.  One of very important software development phases A software process based on well-defined software quality control and testing standards, testing methods, strategy, test criteria, and tools. Engineers perform all types of software testing activities to perform a software test process. The last quality checking point for software on its production line  Software testing is about testing a feature by applying test data to get a result and then comparing the actual result with expected result. Expected Result = Its from client side Actual Result = Its obtain after a test execution. It is not only finding the defect in the s/w; it is the completely dedicated discipline of evaluating the quality of s/w
  • 4. It depends on the process and the associated stakeholders of the project(s). In the IT industry, large companies have a team with responsibilities to evaluate the developed software in context of the given requirements. Moreover, developers also conduct testing which is called Unit Testing. In most cases, the following professionals are involved in testing a system within their respective capacities: ◦ Software Tester ◦ Software Developer ◦ Project Lead/Manager ◦ End User Different companies have different designations for people who test the software on the basis of their experience and knowledge such as Software Tester, Software Quality Assurance Engineer, QA Analyst, etc. It is not possible to test the software at any time during its cycle. The next two sections state when testing should be started and when to end it during the SDLC.
  • 5.  Software testing is really required to point out the defects and errors that were made during the development phases.  It’s essential since it makes sure of the Customer’s reliability and their satisfaction in the application.  It is very important to ensure the Quality of the product. Quality product delivered to the customers helps in gaining their confidence.  Testing is necessary in order to provide the facilities to the customers like the delivery of high quality product or software application which requires lower maintenance cost and hence results into more accurate, consistent and reliable results.  Testing is required for an effective performance of software application or product.  It’s important to ensure that the application should not result into any failures because it can be very expensive in the future or in the later stages of the development.  It’s required to stay in the business.
  • 6. 1) Testing shows presence of defects: Testing can show the defects are present, but cannot prove that there are no defects. Even after testing the application or product thoroughly we cannot say that the product is 100% defect free. 2) Exhaustive testing is impossible: Testing everything including all combinations of inputs and preconditions is not possible. So, instead of doing the exhaustive testing we can use risks and priorities to focus testing efforts 3) Early testing: In the software development life cycle testing activities should start as early as possible and should be focused on defined objectives. 4) Defect clustering: A small number of modules contains most of the defects discovered during pre-release testing or shows the most operational failures. 5) Pesticide paradox: If the same kinds of tests are repeated again and again, eventually the same set of test cases will no longer be able to find any new bugs. To overcome this “Pesticide Paradox”. 6) Testing is context depending: Testing is basically context dependent. Different kinds of sites are tested differently. For example, safety – critical software is tested differently from an e-commerce site. 7) Absence – of – errors fallacy: If the system built is unusable and does not fulfil the user’s needs and expectations then finding and fixing defects does not help.
  • 7.  The five stages of the fundamental • Test Planning and Control • Test Analysis and Design • Test Implementation and Execution • Evaluating Exit Criteria and Reporting • Test Closure Activities
  • 8.  5 Phases of the Fundamental Test Process Fix test design and repeat Fix component or test cases/scripts and repeat Test Planning and Control Test Analysis and Design Test Implementation and Execution Evaluating Exit Criteria and Reporting Test Closure Activities Fix component test plan and repeat Fix test design and repeat
  • 9.  Testing, Quality Assurance and Quality Control  Most people get confused when it comes to pin down the differences among Quality Assurance, Quality Control, and Testing. Although they are interrelated and to some extent, they can be considered as same activities, but there exist distinguishing points that set them apart.  The following table lists the points that differentiate QA, QC, and Testing.
  • 10. Quality Assurance Quality Control Testing QA includes activities that ensure the implementation of processes, procedures and standards in context to verification of developed software and intended requirements. It includes activities that ensure the verification of a developed software with respect to documented (or not in some cases) requirements. It includes activities that ensure the identification of bugs/error/defects in a software. Focuses on processes and procedures rather than conducting actual testing on the system. Focuses on actual testing by executing the software with an aim to identify bug/defect through implementation of procedures and process. Focuses on actual testing. Process-oriented activities. Product-oriented activities. Product-oriented activities. Preventive activities. It is a corrective process. It is a preventive process. It is a subset of Software Test Life Cycle (STLC). QC can be considered as the subset of Quality Assurance. Testing is the subset of Quality Control.
  • 11.  Some of the other standards related to QA and Testing processes are mentioned below:  IEEE 829 Test Documentation.  IEEE 830 A guide for developing system requirements specifications  IEEE 730 A standard for software quality assurance plans.  IEEE 1008 Unit Testing.  IEEE 12207 A standard for software life cycle processes and life cycle data  BS 7925-1 Vocabulary of Terms in Software Testing.  BS 7925-2 Software Component Testing Standard.
  • 12.  This section describes the different types of testing that may be used to test a software during SDLC.  Manual Testing:-Manual testing includes testing a software manually, i.e., without using any automated tool or any script. In this type, the tester takes over the role of an end-user and tests the software to identify any unexpected behaviour or bug. There are different stages for manual testing such as unit testing, integration testing, system testing, and user acceptance testing. Testers use test plans, test cases, or test scenarios to test a software to ensure the completeness of testing. Manual testing also includes exploratory testing, as testers explore the software to identify errors in it.  Automation Testing:- Automation testing, which is also known as Test Automation, is when the tester writes scripts and uses another software to test the product. This process involves automation of a manual process. Automation Testing is used to re-run the test scenarios that were performed manually, quickly, and repeatedly.
  • 13. The following tools can be used for automation testing:  HP Quick Test Professional  Selenium  IBM Rational Functional Tester  Silk Test  Test Complete  Testing Anywhere  Win Runner  Load Runner  Visual Studio Test Professional  WATIR
  • 14.  There are three type of testing:- 1) White Box Testing:- ◦ Unit Testing ◦ Structural Testing  2) Black Box Testing:- ◦ Functional Testing ◦ Integration testing ◦ System Testing ◦ Usability Testing ◦ Compatibility Testing ◦ Configuration Testing ◦ Concurrency Testing  3) Non Functional Testing:- ◦ Security Testing ◦ Automation Testing ◦ Performance Testing ◦ Load Testing ◦ Stress Testing ◦ Volume Testing ◦ Recovery Testing
  • 15.  Testing documentation involves the documentation of artifacts that should be developed before or during the testing of Software.  Documentation for software testing helps in estimating the testing effort required, test coverage, requirement tracking/tracing, etc. This section describes some of the commonly used documented artifacts related to software testing such as: Test Plan Test Scenario Test Case Traceability Matrix
  • 16.  Following skills are indispensable to become a good software tester. Compare your skill set against the following checklist to determine whether Software Testing is a really for you-
  • 17.  A good software tester should have sharp analytical skills. Analytical skills will help break up a complex software system into smaller units to gain a better understanding and created corresponding test cases.  A good software tester must have strong technical skills . This would include high level of proficiency in tools like MS Office , Open Office etc , Testing tools like QTP , Load runner, etc.. and of course deep understand of the application under test.  A good software tester must have a good verbal and written communication skill.  Testing at times could be a demanding job especially during the release of code. A software tester must efficiently manage workload, have high productivity ,exhibit optimal time management and organization skills  To be a good software tester you must have a GREAT attitude. An attitude to ‘test to break' , detail orientation , willingness to learn and suggest process improvements.  To excel in any profession or job, one must have a great degree of the passion for it. A software tester must have passion for his / her field. BUT how do you determine whether you have a passion for software testing if you have never tested before?
  • 18.  Academic background of a software tester should be in Computer Science. A BTech/ B.E. , MCA , BCA , BSc- Computers will land you a job easily.  If you do not hold any of these degrees than you must complete a software testing certification like ISTQB and CSTE which help you learn Software Development/ Test Life Cycle and other testing methodologies.
  • 20.  As mentioned above, from being test engineer one can move to senior test engineer, test lead to test manager; else can become QA lead, QA Manager. The options available in the testing tools side are enormous. There are numbers of functional, performance, security testing tools besides test management tools like Quality Centre from HP, CQTM from IBM etc.,  The demand for niche skills like SOA testers, Security testers are on the increase. There is dearth of skills in test automation areas – scripting skills in the tools languages like VB, Java and other scripting languages like Perl, Shell, Python etc., Technical resources with capabilities to evaluate automation tools, create automation framework and reusable components are on demand. Always there is demand for good performance testers who can analyze the performance test results, identify the bottlenecks and suggest tuning techniques.
  • 21.  Software Tester Salary (India)  The average pay for a Software Tester is Rs 310,575 per year. People in this job generally don't have more than 10 years' experience. Experience strongly influences salary for this job. The skills that increase pay for this job the most are Test Automation, Test Planning, and SQL.
  • 22.  Software Tester Salary (United States)  A Software Tester earns an average salary of $55,334 per year. Most people with this job move on to other positions after 20 years in this career. The highest paying skills associated with this job are ASP. NET and .NET.
  • 24.  Software testing professionals are in huge demand both in India and abroad. Indian Testing Board has more than 30, 000 certified testers in International Software Testing Qualifications Board (ISTQB) foundation level exam. It is globally accepted certification for software testers. Software testing is more challenging domain. At the same time, it offer lucrative salary package for talented professionals. Every day, hundreds of new software applications are launched in the market. As a result, there is huge demand for software testers who can validate software product at various levels.  According to recent survey, India is going to be the popular software outsourcing destination in world because of its operational efficiency and talented workforce. As a software tester, you career advancement will follow the following hierarchy.  Junior Test Engineer –> Test Engineer –> Senior Test Engineer –> Team Lead –> Project Manager

Editor's Notes

  • #2: Software Testing & Quality Assurance
  • #9: START - This diagram shows the sequence of the 5 activities and the relationship between them. There are loops in the process as defects are found. During the Test Implementation stage we often have to re-execute tests following defect fixes as well as run regression tests (hence the internal loop) and may need to repair faulty tests and re-execute them (hence the loop back to the previous stage). It is during the ‘Evaluating Exit Criteria and Reporting’ stage that we may need to consider designing more tests (hence the loop back to the previous 2 stages).