Software Testing
5
 “Testing is the process of executing a program or system with the intent of finding
errors.” by Myers 1979
 Software testing is the process of analyzing a software item to detect the differences
between existing and required conditions (that is, bugs) and to evaluate the features
of the software item (IEEE, 1986; IEEE, 1990).
Testing Principles
6
 Glenford Myers in his book “The Art of Software Testing” suggested the following
testing principles
 A necessary part of a test case is a definition of the expected output or result.
 A programmer should avoid attempting to test his or her own program.
 Test cases must be written for input conditions that are invalid and unexpected, as well as for
those that are valid and expected.
 Examining a program to see if it does not do what it is supposed to do is only half the battle;
the other half is seeing whether the program does what it is not supposed to do.
 Avoid throwaway test cases unless the program is truly a throwaway program.
 Do not plan a testing effort under the assumption that no errors will be found.
 The probability of the existence of more errors in a section of a program is proportional to the
number of errors already found in that section.
 Testing is an extremely creative and intellectually challenging task.
 Exhaustive testing is not possible but we can assure that all conditions have been exercised
Testing Activities
8
Test Planning
Define a software test plan by specifying a test schedule for a test process and its
activities, as well as assignments test requirements and items test strategy
Test Design and Specification
Design Test scripts and Test cases cases to achieve a targeted testcoverage.
Test Set up
Testing tools (Environment Set-up)
Test Execution
Run test cases manually or automatically
Test Result Analysis andReporting
Report software testing results and conduct test result analysis
Testing Activities
9
Test Management and Measurement
Manage software testing activities, control testing schedule, measure testing
complexity in terms of cost
Test Configuration Management
Manage and maintain different versions of software test suites, test environment and
tools, and documents for various product versions.
Software Testing Goals
 Requirements quality.
– SQA must ensure that the software team has properly reviewed the requirements model to
achieve a high level of quality.
 Design quality.
– Every element of the design model should be assessed by the software team to ensure that it
exhibits high quality and that the design itself conforms to requirements.
 Code quality.
– Source code and related work products (e.g., other descriptive information) must conform to
local coding standards and exhibit characteristics that will facilitate maintainability.
 Resource Management
– A software team should apply available resources in a way that has the highest likelihood of
achieving a high-quality result. SQA analyzes the allocation of resources for reviews and testing to
assess whether they are being allocated in the most effective manner.
Test Team
Testing Perspective
10
Developer
“delivery”
Understands the system but will test “gently” and is driven by
Independent Tester must learn about the system but will attempt to break it and is
driven byquality
Software Testing Limits
11
 Due to the testing time limit, it is impossible to achieve total confidence.
 Wecan never be sure the specifications are 100% correct.
 Test engineers never be sure that they completely understand a software product.
 Wenever have enough resources to perform software testing.
 Wecan never be certain that we achieve 100% adequate software testing.
Testing Methods
 Manual Testing
 Automated Testing
Manual testing
21
 This type includes the testing of the Software manually i.e. without using any automated tool .
 In this type the tester takes over the role of an end user and test the Software to identify any un-
expected behavior or bug.
 Testers use test plan, test cases or test scenarios to test the Software to ensure the completeness of
testing.
 Condition: Manual tests can be used in situations where the steps cannot be automated, for
example to determine a Usability Testing : This is an area in which you need to measure how
user-friendly, efficient, or convenient the software or product is for the end users. Here, human
observation is the most important factor, so a manual approach is preferable.
 In manual testing Tester will create test cases, Tester will execute test cases, tester will write bug
report manually.
 Limitations: Load Testing , performance testing
Manual testing
22
 Manual testing allows for human
observation, which may be more
useful if the goal is user friendliness
or improved customer experience.
 More Time Consuming activity
 Boring and repetitive
 Efficiency depends on tester
Automated testing
23
 Automation testing, also known as Test Automation, is when the tester writes scripts and uses
another software to test the software.
 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.
 Automation is a not a Replacement of Manual Testing
 Done properly, automated software testing can help
 Improve accuracy
 speed up the testingprocess,
 increase test coverage,and
 ultimately provide greater confidence in the quality of the software being tested.
Automated testing
24
 Efficient (No variation is results) Automated testing does not entail human
observation and cannot guarantee user-
friendliness or positive customer
experience.
Manual vs Automated Testing
25
MANUAL AUTOMATED
Time consuming and tedious Fast
Huge investment in human resources Less investment in human resources
Less reliable More reliable
Non Programmable Programmable
Not Reusable Reusable
High Risk of missing out something Less Risk of missing out something
Testing Stages
26
 Unit testing/Component Testing/Moduletesting
 Integration Testing
 System testing
 Acceptance testing
Test case
27
 A test case in software engineering is a set of conditions or variables under which a tester will
determine whether an application or software system meets specifications.
 A test case has components that describes an input, action or event and an expected response,
to determine if a feature of an application is working correctly.
 Result : Pass / Fail
 Test Suite: A collection of test cases.
Test Case
28
 Test Case ID: It is unique number given to test case in order to be identified.
 Test description: The description of test case you are going to test.
 Revision history: Each test case has to have its revision history in order to know when and by
whom it is created or modified.
 Function to be tested: The name of function to be tested.
 Test Setup: Anything you need to set up outside of your application for example printers,
network and so on.
 Test Execution: It is detailed description of every step of execution.
 Expected Results: The description of what you expect the function to do.
 Actual Results: pass / failed
If pass - What actually happen when you run thetest.
If failed - put in description of what you'veobserved.
Testing Types
 Static Testing
 Dynamic Testing
Static Testing
5
 In software development, static testing, also called dry run testing, is a form of
software testing where the authors manually read their own documents/code to find
any errors.
 Primarily syntax checking of the code/document and/or manually reviewing the
code or document to find logic errors also.
 The term ―”static” in this context means ―not while running or ―not while
executing
Objectives of Static Testing
6
Static testing is the least expensive form of testing and has the largest
potential for reducing defects in software under development.
The primary objective of static testing is defect reduction in the software by
reducing defects in the documentation from which the software is developed.
Static Testing Approach
7
Consider using a two-step approach to static testing.
 For the first step, clean up the cosmetic appearance of the document: check spelling, check
grammar, check punctuation, and check formatting.
The benefit of doing the first step is that when the document is cosmetically clean, the readers can
concentrate on the content.
The liability of skipping the first step is that if the document is not cosmetically clean, the readers
will surely stop reading the document for meaning and start proofreading to the detriment of
content review.
For the second step, use whatever techniques seem appropriate to focus expert review on document
contents.
 Some popular and effective techniques used for content review are discussed in the next section
Static Testing Techniques
 Inspections
 Desk checking
 Walk-throughs
 Peer Ratings
Inspection
 Fagan Inspection
 Gilb Inspection
Generic Inspection Process
10
Generic process/steps:
1. Planning and preparation (individual)
2. Collection (group/meeting)
3. Repair (follow up)
Fagan Inspection
11
Fagan inspection refers to a structured process of trying to find defects in documents
such as programming code, specifications, designs and others during various phases
of the software development process.
It is named after Michael Fagan who is credited with being the inventor of formal
software inspections.
 Fagan Inspection is a group review method used to evaluate output of a given
process.
In the process of software inspection the defects which are found are categorized in
two categories:
 Major Defects
 Minor defects
Fagan Inspection
12
The defects which are incorrect or even missing functionality or
specifications can be classified as major defects: the software will not function
correctly when these defects are not being solved.
In contrast to major defects, minor defects do not threaten the correct
functioning of the software, but are mostly small errors like spelling mistakes
in documents or optical issues like incorrect positioning of controls in a
program interface.
Fagan Inspection
13
inspection the inspection process consists of the
Typical operations
In a typical Fagan
following operations:
 Planning
 Preparation of materials
 Arrangement of participants
 Arrangement of meeting place
 Overview
 Author-inspectors meeting
 Assignment of roles
 Preparation or Individual Inspection
 Independent analysis/examination
 Code as well as other document
Fagan Inspection
14
 Individual results:
 questions
 potential defects
 The participants prepare their roles
 Inspection meeting
 Meeting to collect individual inspection results
 Defect identification, but not solutions, to ensure inspection effectiveness
 Fagan inspection typically involves about 4 to 6 people in the inspection team
 No more than 2 hours
 Inspection report
 Rework (performed by the author)
 Rework is the step in software inspection in which the defects found during the inspection meeting
are resolved by the author, designer or programmer.
Fagan Inspection
15
 Follow-up
 In the follow-up phase of a Fagan Inspection, defects fixed in the rework phase should be verified.
 The moderator is usually responsible for verifying rework. Sometimes fixed work can be accepted
without being verified, such as when the defect was trivial. In non-trivial cases, a full re-inspection is
performed by the inspection team (not only the moderator).
 If verification fails, go back to the rework process.
Gilb Inspection
16
1. Planning (same to Fagan inspection)
2. Kickoff (Overview)
3. Individual Checking (Preparation)
4. Logging Meeting (Inspection)
5. a) Edit (Rework) b) Process brainstorming
6. Edit Audit (Follow-up)
 Process brainstorming is added right after the inspection meeting. The focus of this step is root
cause analysis aimed at preventive actions and process improvement in the form of reduced
defect injections for future development activities
 The team size is typically about four to six people
 Checklists are extensively used, particularly for step 3
Inspection Session
17
 During the session, two activities occur:
1. The author narrates, statement by statement, the logic of the program/ document. During the
discourse, other participants should raise questions, and they should be pursued to determine
whether errors exist. It is likely that the author rather than the other team members will find
many of the errors found during this narration.
2. The program is analyzed with respect to a checklist
 The moderator is responsible for ensuring that the discussions proceed along productive lines and
that the participants focus their attention on finding errors, not correcting them. (The programmer
corrects errors after the inspection session.)
Inspection Session
18
 The optimal amount of time for the inspection session appears to be from 90 to 120 minutes.
Since the session is a mentally taxing experience, longer sessions tend to be less productive.
 Most inspections proceed at a rate of approximately 150 program statements per hour.
 For that reason, large programs/documents should be examined in multiple inspections, each
inspection dealing with one or several parts.
 Note that for the inspection process to be effective, the appropriate attitude must be
established. If the author views the inspection as an attack on his or her character and adopts
a defensive posture, the process will be ineffective. Rather, the programmer must approach the
process with an egoless attitude and must place the process in a positive and constructive light:
 The objective of the inspection is to find errors in the program, thus improving the quality of the
work.
 For this reason, most people recommend that the results of an inspection be a confidential
matter, shared only among the participants.
Desk Checking
Desk Checking is one of the older practice of human error-detection process. A desk
check can be viewed as a one-person inspection or walkthrough: A person reads a
program, checks it with respect to an error list, and/or walks test data through it.
 In other words you can say Manually testing the logic of a program.
Desk Checking Drawbacks
Desk checking is the least formal and least time-consuming static testing technique.
Of all the techniques, desk checking is the only one whereby the author is encouraged
to test his or her own document. The remaining techniques rely on independent eyes to
provide a more thorough and objective review.
 For most people, desk checking is relatively unproductive.
Reason is that it runs counter to a testing principle ( that people are generally ineffective in
testing their own programs). For this reason, you could deduce that desk checking is best
performed by a person other than the author of the program.
Code Walkthroughs
 Introduction
 Procedure
Code Walkthrough
 procedures and error-
The code walkthrough, like the inspection, is a set of detection
techniques for group code reading.
 It shares much in common with the inspection process, but the procedures are
slightly different, and a different error-detection technique is employed.

Like the inspection, the walkthrough is an uninterrupted meeting of one to two
hours in duration.
 The walkthrough team consists of three to five people.
 One of these people plays a role similar to that of the moderator in the inspection
process, another person plays the role of a secretary (a person who records all
errors found), and a third person plays the role of a tester.
Code Walkthrough
 Suggestions as to who the three to five people should be vary.
 Of course, the programmer is one of those people. Suggestions for the
other participants include ,a highly experienced programmer, a programming-
language expert, a new programmer (to give a fresh, unbiased outlook), the
person who will eventually maintain the program
Code Walkthrough
The initial procedure is identical to that of the inspection process:
 The participants are given the materials several days in advance to allow them to bone up on
the program.
However, the procedure in the meeting is different. Rather than simply reading the program or
using error checklists, the participants ―"play computer“ (role)
The person designated as the tester comes to the meeting armed with a small set of paper test
cases—representative sets of inputs (and expected outputs) for the program or module.
Code Walkthrough
During the meeting, each test case is
mentally executed. That is, the test data are
walked through the logic of the program.
The state of the program (i.e., the values of
the variables) is monitored on paper or
whiteboard.
Of course, the test cases must be simple in
nature and few in number, because people
execute programs at a rate that is many
orders of magnitude slower than a machine.
The walkthrough should have a follow-up
process similar to that described for the
inspection process.
Peer Ratings
Peer Ratings
Peer rating is a technique of evaluating anonymous programs in terms of their overall
quality, maintainability, extensibility, usability, and clarity. The purpose of the technique
is to provide programmer self-evaluation.
One person acts as an administrator. The administrator selects approximately 6 to 20
participants(6 is the minimum to preserve anonymity). The participants are expected to
have similar backgrounds (you shouldn’t group Java application programmers with
assembly language system programmers, for example).
Each participant is asked to select two of his or her own programs to be reviewed.
One program should be representative of what the participant considers to be his or
her finest work; the other should be a program that the programmer considers to be
poorer in quality.
 Once the programs have been collected, they are randomly distributed to the
participants.
Peer Ratings
Each participant is given four programs to review. Two of the programs are the finest programs
and two are" poorer programs, but the reviewer is not told which is which.
Each participant spends 30 minutes with each program and then completes an evaluation form
after reviewing the program. After reviewing all four programs, each participant rates the relative
quality of the four programs. The evaluation form asks the reviewer to answer, on a scale from 1 to 7
(1 meaning definitely ―
y
e
s
,7 meaning definitely ―
n
o
,)
 The reviewer also is asked for general comments and suggested improvements.
Peer Ratings
After the review, the participants are given the anonymous evaluation forms for their
two contributed programs. The participants also are given a statistical summary showing
the overall and detailed ranking of their original programs across the entire set of
programs, as well as an analysis of how their ratings of other programs compared with
those ratings of other reviewers of the same program.
The purpose of the process is to allow programmers to self-assess their programming
skills.
For any query Feel Free to ask

More Related Content

PPTX
Exploratory Testing
PDF
What is Test Plan? Edureka
PPTX
Fundamentals of testing
PPT
Software test management overview for managers
PPTX
Istqb foundation level day 1
PPTX
Software Testing Life Cycle – A Beginner’s Guide
PPTX
ISTQB - Software development life cycle
PDF
Black Box Test Design Techniques
Exploratory Testing
What is Test Plan? Edureka
Fundamentals of testing
Software test management overview for managers
Istqb foundation level day 1
Software Testing Life Cycle – A Beginner’s Guide
ISTQB - Software development life cycle
Black Box Test Design Techniques

What's hot (20)

PPTX
ISTQB foundation level - day 2
PPT
Role Of Qa And Testing In Agile 1225221397167302 8
PDF
API Testing
PPTX
ISTQB - What's testing
PPT
Test Automation Best Practices (with SOA test approach)
PDF
Agile testing principles and practices - Anil Karade
PPTX
Test Case Management Tools
PPTX
ISTQB Foundation Level Basic
PPSX
Test Execution
PDF
Meetup #4 Testing Manifesto
PDF
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
PDF
Performance Testing Using JMeter | Edureka
PPTX
Performance Testing
PPTX
Software testing and quality assurance
PDF
Fundamentals of Software Testing
PDF
Introduction to Selenium Automation
PPT
Test Life Cycle
PPS
Test Process
PDF
Chapter 1 - Fundamentals of Testing V4.0
PDF
Qtest tutorial
ISTQB foundation level - day 2
Role Of Qa And Testing In Agile 1225221397167302 8
API Testing
ISTQB - What's testing
Test Automation Best Practices (with SOA test approach)
Agile testing principles and practices - Anil Karade
Test Case Management Tools
ISTQB Foundation Level Basic
Test Execution
Meetup #4 Testing Manifesto
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Performance Testing Using JMeter | Edureka
Performance Testing
Software testing and quality assurance
Fundamentals of Software Testing
Introduction to Selenium Automation
Test Life Cycle
Test Process
Chapter 1 - Fundamentals of Testing V4.0
Qtest tutorial
Ad

Similar to Testing Slides 1 (Testing Intro+Static Testing).pdf (20)

PPTX
Software testing & Quality Assurance
PPSX
Introduction to software testing
PPTX
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
PPTX
Software testing
PPTX
Software testing
PPTX
unit 4.pptx very needful and important p
PPTX
Software testing sengu
PPTX
Software Testing
PPTX
Software testing and types.pptx
PDF
Software testing for project report .pdf
PPTX
Learn sqa from expert class 2reviewed
PPTX
softwaretestingppt-FINAL-PPT-1
PDF
Validation & verification software engineering
PPTX
Software Testing - A sneak preview By Srikanth
PDF
Software testing for project report system.
PPTX
SDET UNIT 2.pptx
PPTX
PPTX
Introduction to Software Testing Techniques
PPTX
Software testing
Software testing & Quality Assurance
Introduction to software testing
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Software testing
Software testing
unit 4.pptx very needful and important p
Software testing sengu
Software Testing
Software testing and types.pptx
Software testing for project report .pdf
Learn sqa from expert class 2reviewed
softwaretestingppt-FINAL-PPT-1
Validation & verification software engineering
Software Testing - A sneak preview By Srikanth
Software testing for project report system.
SDET UNIT 2.pptx
Introduction to Software Testing Techniques
Software testing
Ad

More from MuhammadShoaibHussai2 (11)

PPTX
pp presentation[1].pptx
PPTX
Patents and trademarks.pptx
PDF
3-Block Ciphers and DES.pdf
PPTX
DOC-20221003-WA0005..pptx
PDF
Testing Slides 2(Dynamic Testing Intro + Black Box Testing).pdf
PDF
linux installation.pdf
PDF
vpn activity.pdf
PDF
firewall assignment.pdf
PDF
Computer Network
PDF
pp presentation[1].pptx
Patents and trademarks.pptx
3-Block Ciphers and DES.pdf
DOC-20221003-WA0005..pptx
Testing Slides 2(Dynamic Testing Intro + Black Box Testing).pdf
linux installation.pdf
vpn activity.pdf
firewall assignment.pdf
Computer Network

Recently uploaded (20)

PPTX
Unit 4 Computer Architecture Multicore Processor.pptx
PDF
semiconductor packaging in vlsi design fab
PDF
Climate and Adaptation MCQs class 7 from chatgpt
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PDF
Empowerment Technology for Senior High School Guide
PPTX
Module on health assessment of CHN. pptx
PDF
HVAC Specification 2024 according to central public works department
PDF
Journal of Dental Science - UDMY (2022).pdf
PPTX
Education and Perspectives of Education.pptx
PPTX
DRUGS USED FOR HORMONAL DISORDER, SUPPLIMENTATION, CONTRACEPTION, & MEDICAL T...
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
Literature_Review_methods_ BRACU_MKT426 course material
PPTX
What’s under the hood: Parsing standardized learning content for AI
PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PDF
International_Financial_Reporting_Standa.pdf
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
PDF
English Textual Question & Ans (12th Class).pdf
PPTX
Core Concepts of Personalized Learning and Virtual Learning Environments
PDF
CRP102_SAGALASSOS_Final_Projects_2025.pdf
PPTX
Share_Module_2_Power_conflict_and_negotiation.pptx
Unit 4 Computer Architecture Multicore Processor.pptx
semiconductor packaging in vlsi design fab
Climate and Adaptation MCQs class 7 from chatgpt
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
Empowerment Technology for Senior High School Guide
Module on health assessment of CHN. pptx
HVAC Specification 2024 according to central public works department
Journal of Dental Science - UDMY (2022).pdf
Education and Perspectives of Education.pptx
DRUGS USED FOR HORMONAL DISORDER, SUPPLIMENTATION, CONTRACEPTION, & MEDICAL T...
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
Literature_Review_methods_ BRACU_MKT426 course material
What’s under the hood: Parsing standardized learning content for AI
B.Sc. DS Unit 2 Software Engineering.pptx
International_Financial_Reporting_Standa.pdf
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
English Textual Question & Ans (12th Class).pdf
Core Concepts of Personalized Learning and Virtual Learning Environments
CRP102_SAGALASSOS_Final_Projects_2025.pdf
Share_Module_2_Power_conflict_and_negotiation.pptx

Testing Slides 1 (Testing Intro+Static Testing).pdf

  • 1. Software Testing 5  “Testing is the process of executing a program or system with the intent of finding errors.” by Myers 1979  Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features of the software item (IEEE, 1986; IEEE, 1990).
  • 2. Testing Principles 6  Glenford Myers in his book “The Art of Software Testing” suggested the following testing principles  A necessary part of a test case is a definition of the expected output or result.  A programmer should avoid attempting to test his or her own program.  Test cases must be written for input conditions that are invalid and unexpected, as well as for those that are valid and expected.  Examining a program to see if it does not do what it is supposed to do is only half the battle; the other half is seeing whether the program does what it is not supposed to do.  Avoid throwaway test cases unless the program is truly a throwaway program.  Do not plan a testing effort under the assumption that no errors will be found.  The probability of the existence of more errors in a section of a program is proportional to the number of errors already found in that section.  Testing is an extremely creative and intellectually challenging task.  Exhaustive testing is not possible but we can assure that all conditions have been exercised
  • 3. Testing Activities 8 Test Planning Define a software test plan by specifying a test schedule for a test process and its activities, as well as assignments test requirements and items test strategy Test Design and Specification Design Test scripts and Test cases cases to achieve a targeted testcoverage. Test Set up Testing tools (Environment Set-up) Test Execution Run test cases manually or automatically Test Result Analysis andReporting Report software testing results and conduct test result analysis
  • 4. Testing Activities 9 Test Management and Measurement Manage software testing activities, control testing schedule, measure testing complexity in terms of cost Test Configuration Management Manage and maintain different versions of software test suites, test environment and tools, and documents for various product versions.
  • 5. Software Testing Goals  Requirements quality. – SQA must ensure that the software team has properly reviewed the requirements model to achieve a high level of quality.  Design quality. – Every element of the design model should be assessed by the software team to ensure that it exhibits high quality and that the design itself conforms to requirements.  Code quality. – Source code and related work products (e.g., other descriptive information) must conform to local coding standards and exhibit characteristics that will facilitate maintainability.  Resource Management – A software team should apply available resources in a way that has the highest likelihood of achieving a high-quality result. SQA analyzes the allocation of resources for reviews and testing to assess whether they are being allocated in the most effective manner.
  • 7. Testing Perspective 10 Developer “delivery” Understands the system but will test “gently” and is driven by Independent Tester must learn about the system but will attempt to break it and is driven byquality
  • 8. Software Testing Limits 11  Due to the testing time limit, it is impossible to achieve total confidence.  Wecan never be sure the specifications are 100% correct.  Test engineers never be sure that they completely understand a software product.  Wenever have enough resources to perform software testing.  Wecan never be certain that we achieve 100% adequate software testing.
  • 9. Testing Methods  Manual Testing  Automated Testing
  • 10. Manual testing 21  This type includes the testing of the Software manually i.e. without using any automated tool .  In this type the tester takes over the role of an end user and test the Software to identify any un- expected behavior or bug.  Testers use test plan, test cases or test scenarios to test the Software to ensure the completeness of testing.  Condition: Manual tests can be used in situations where the steps cannot be automated, for example to determine a Usability Testing : This is an area in which you need to measure how user-friendly, efficient, or convenient the software or product is for the end users. Here, human observation is the most important factor, so a manual approach is preferable.  In manual testing Tester will create test cases, Tester will execute test cases, tester will write bug report manually.  Limitations: Load Testing , performance testing
  • 11. Manual testing 22  Manual testing allows for human observation, which may be more useful if the goal is user friendliness or improved customer experience.  More Time Consuming activity  Boring and repetitive  Efficiency depends on tester
  • 12. Automated testing 23  Automation testing, also known as Test Automation, is when the tester writes scripts and uses another software to test the software.  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.  Automation is a not a Replacement of Manual Testing  Done properly, automated software testing can help  Improve accuracy  speed up the testingprocess,  increase test coverage,and  ultimately provide greater confidence in the quality of the software being tested.
  • 13. Automated testing 24  Efficient (No variation is results) Automated testing does not entail human observation and cannot guarantee user- friendliness or positive customer experience.
  • 14. Manual vs Automated Testing 25 MANUAL AUTOMATED Time consuming and tedious Fast Huge investment in human resources Less investment in human resources Less reliable More reliable Non Programmable Programmable Not Reusable Reusable High Risk of missing out something Less Risk of missing out something
  • 15. Testing Stages 26  Unit testing/Component Testing/Moduletesting  Integration Testing  System testing  Acceptance testing
  • 16. Test case 27  A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system meets specifications.  A test case has components that describes an input, action or event and an expected response, to determine if a feature of an application is working correctly.  Result : Pass / Fail  Test Suite: A collection of test cases.
  • 17. Test Case 28  Test Case ID: It is unique number given to test case in order to be identified.  Test description: The description of test case you are going to test.  Revision history: Each test case has to have its revision history in order to know when and by whom it is created or modified.  Function to be tested: The name of function to be tested.  Test Setup: Anything you need to set up outside of your application for example printers, network and so on.  Test Execution: It is detailed description of every step of execution.  Expected Results: The description of what you expect the function to do.  Actual Results: pass / failed If pass - What actually happen when you run thetest. If failed - put in description of what you'veobserved.
  • 18. Testing Types  Static Testing  Dynamic Testing
  • 19. Static Testing 5  In software development, static testing, also called dry run testing, is a form of software testing where the authors manually read their own documents/code to find any errors.  Primarily syntax checking of the code/document and/or manually reviewing the code or document to find logic errors also.  The term ―”static” in this context means ―not while running or ―not while executing
  • 20. Objectives of Static Testing 6 Static testing is the least expensive form of testing and has the largest potential for reducing defects in software under development. The primary objective of static testing is defect reduction in the software by reducing defects in the documentation from which the software is developed.
  • 21. Static Testing Approach 7 Consider using a two-step approach to static testing.  For the first step, clean up the cosmetic appearance of the document: check spelling, check grammar, check punctuation, and check formatting. The benefit of doing the first step is that when the document is cosmetically clean, the readers can concentrate on the content. The liability of skipping the first step is that if the document is not cosmetically clean, the readers will surely stop reading the document for meaning and start proofreading to the detriment of content review. For the second step, use whatever techniques seem appropriate to focus expert review on document contents.  Some popular and effective techniques used for content review are discussed in the next section
  • 22. Static Testing Techniques  Inspections  Desk checking  Walk-throughs  Peer Ratings
  • 24. Generic Inspection Process 10 Generic process/steps: 1. Planning and preparation (individual) 2. Collection (group/meeting) 3. Repair (follow up)
  • 25. Fagan Inspection 11 Fagan inspection refers to a structured process of trying to find defects in documents such as programming code, specifications, designs and others during various phases of the software development process. It is named after Michael Fagan who is credited with being the inventor of formal software inspections.  Fagan Inspection is a group review method used to evaluate output of a given process. In the process of software inspection the defects which are found are categorized in two categories:  Major Defects  Minor defects
  • 26. Fagan Inspection 12 The defects which are incorrect or even missing functionality or specifications can be classified as major defects: the software will not function correctly when these defects are not being solved. In contrast to major defects, minor defects do not threaten the correct functioning of the software, but are mostly small errors like spelling mistakes in documents or optical issues like incorrect positioning of controls in a program interface.
  • 27. Fagan Inspection 13 inspection the inspection process consists of the Typical operations In a typical Fagan following operations:  Planning  Preparation of materials  Arrangement of participants  Arrangement of meeting place  Overview  Author-inspectors meeting  Assignment of roles  Preparation or Individual Inspection  Independent analysis/examination  Code as well as other document
  • 28. Fagan Inspection 14  Individual results:  questions  potential defects  The participants prepare their roles  Inspection meeting  Meeting to collect individual inspection results  Defect identification, but not solutions, to ensure inspection effectiveness  Fagan inspection typically involves about 4 to 6 people in the inspection team  No more than 2 hours  Inspection report  Rework (performed by the author)  Rework is the step in software inspection in which the defects found during the inspection meeting are resolved by the author, designer or programmer.
  • 29. Fagan Inspection 15  Follow-up  In the follow-up phase of a Fagan Inspection, defects fixed in the rework phase should be verified.  The moderator is usually responsible for verifying rework. Sometimes fixed work can be accepted without being verified, such as when the defect was trivial. In non-trivial cases, a full re-inspection is performed by the inspection team (not only the moderator).  If verification fails, go back to the rework process.
  • 30. Gilb Inspection 16 1. Planning (same to Fagan inspection) 2. Kickoff (Overview) 3. Individual Checking (Preparation) 4. Logging Meeting (Inspection) 5. a) Edit (Rework) b) Process brainstorming 6. Edit Audit (Follow-up)  Process brainstorming is added right after the inspection meeting. The focus of this step is root cause analysis aimed at preventive actions and process improvement in the form of reduced defect injections for future development activities  The team size is typically about four to six people  Checklists are extensively used, particularly for step 3
  • 31. Inspection Session 17  During the session, two activities occur: 1. The author narrates, statement by statement, the logic of the program/ document. During the discourse, other participants should raise questions, and they should be pursued to determine whether errors exist. It is likely that the author rather than the other team members will find many of the errors found during this narration. 2. The program is analyzed with respect to a checklist  The moderator is responsible for ensuring that the discussions proceed along productive lines and that the participants focus their attention on finding errors, not correcting them. (The programmer corrects errors after the inspection session.)
  • 32. Inspection Session 18  The optimal amount of time for the inspection session appears to be from 90 to 120 minutes. Since the session is a mentally taxing experience, longer sessions tend to be less productive.  Most inspections proceed at a rate of approximately 150 program statements per hour.  For that reason, large programs/documents should be examined in multiple inspections, each inspection dealing with one or several parts.  Note that for the inspection process to be effective, the appropriate attitude must be established. If the author views the inspection as an attack on his or her character and adopts a defensive posture, the process will be ineffective. Rather, the programmer must approach the process with an egoless attitude and must place the process in a positive and constructive light:  The objective of the inspection is to find errors in the program, thus improving the quality of the work.  For this reason, most people recommend that the results of an inspection be a confidential matter, shared only among the participants.
  • 33. Desk Checking Desk Checking is one of the older practice of human error-detection process. A desk check can be viewed as a one-person inspection or walkthrough: A person reads a program, checks it with respect to an error list, and/or walks test data through it.  In other words you can say Manually testing the logic of a program.
  • 34. Desk Checking Drawbacks Desk checking is the least formal and least time-consuming static testing technique. Of all the techniques, desk checking is the only one whereby the author is encouraged to test his or her own document. The remaining techniques rely on independent eyes to provide a more thorough and objective review.  For most people, desk checking is relatively unproductive. Reason is that it runs counter to a testing principle ( that people are generally ineffective in testing their own programs). For this reason, you could deduce that desk checking is best performed by a person other than the author of the program.
  • 36. Code Walkthrough  procedures and error- The code walkthrough, like the inspection, is a set of detection techniques for group code reading.  It shares much in common with the inspection process, but the procedures are slightly different, and a different error-detection technique is employed.  Like the inspection, the walkthrough is an uninterrupted meeting of one to two hours in duration.  The walkthrough team consists of three to five people.  One of these people plays a role similar to that of the moderator in the inspection process, another person plays the role of a secretary (a person who records all errors found), and a third person plays the role of a tester.
  • 37. Code Walkthrough  Suggestions as to who the three to five people should be vary.  Of course, the programmer is one of those people. Suggestions for the other participants include ,a highly experienced programmer, a programming- language expert, a new programmer (to give a fresh, unbiased outlook), the person who will eventually maintain the program
  • 38. Code Walkthrough The initial procedure is identical to that of the inspection process:  The participants are given the materials several days in advance to allow them to bone up on the program. However, the procedure in the meeting is different. Rather than simply reading the program or using error checklists, the participants ―"play computer“ (role) The person designated as the tester comes to the meeting armed with a small set of paper test cases—representative sets of inputs (and expected outputs) for the program or module.
  • 39. Code Walkthrough During the meeting, each test case is mentally executed. That is, the test data are walked through the logic of the program. The state of the program (i.e., the values of the variables) is monitored on paper or whiteboard. Of course, the test cases must be simple in nature and few in number, because people execute programs at a rate that is many orders of magnitude slower than a machine. The walkthrough should have a follow-up process similar to that described for the inspection process.
  • 41. Peer Ratings Peer rating is a technique of evaluating anonymous programs in terms of their overall quality, maintainability, extensibility, usability, and clarity. The purpose of the technique is to provide programmer self-evaluation. One person acts as an administrator. The administrator selects approximately 6 to 20 participants(6 is the minimum to preserve anonymity). The participants are expected to have similar backgrounds (you shouldn’t group Java application programmers with assembly language system programmers, for example). Each participant is asked to select two of his or her own programs to be reviewed. One program should be representative of what the participant considers to be his or her finest work; the other should be a program that the programmer considers to be poorer in quality.  Once the programs have been collected, they are randomly distributed to the participants.
  • 42. Peer Ratings Each participant is given four programs to review. Two of the programs are the finest programs and two are" poorer programs, but the reviewer is not told which is which. Each participant spends 30 minutes with each program and then completes an evaluation form after reviewing the program. After reviewing all four programs, each participant rates the relative quality of the four programs. The evaluation form asks the reviewer to answer, on a scale from 1 to 7 (1 meaning definitely ― y e s ,7 meaning definitely ― n o ,)  The reviewer also is asked for general comments and suggested improvements.
  • 43. Peer Ratings After the review, the participants are given the anonymous evaluation forms for their two contributed programs. The participants also are given a statistical summary showing the overall and detailed ranking of their original programs across the entire set of programs, as well as an analysis of how their ratings of other programs compared with those ratings of other reviewers of the same program. The purpose of the process is to allow programmers to self-assess their programming skills.
  • 44. For any query Feel Free to ask