MEETING 1
INTRODUCTION TO
SOFTWARE TESTING
SOFTWARE TESTING
By : Ajeng Savitri Puspaningrum, M.Kom
OBJECTIVE
• Describe the software
development process
• Understand the introduction
to software testing
Systems
Development
Life Cycle
(SDLC)
Systems Development Life Cycle (SDLC)
Planning
Analysis
Design
Implementation
Project Phases
1. Planning: Why build the system?
• System request, feasibility analysis, project size estimation
2. Analysis: Who, what, when, where will the system be?
• Requirement gathering, business process modeling
3. Design: How will the system work?
• Program design, user interface design, data design
4. Implementation: System construction and delivery
• System construction, testing, documentation and installation
5
Planning (System Proposal)
1. Identifying business value (System Request)
• Lower costs
• Increase profits
2. Analyze feasibility
• Technical Feasibility
• Economic Feasibility
• Organizational Feasibility
Analysis (System Specification)
1. Requirement gathering by
answering the questions:
• Who will use the system?
• What will the system do?
• When will it be used?
2. Investigate the current system
3. Identify possible improvements
4. Develop a concept for new
system
Design (System Specification)
1. Program Design (UML Diagrams)
• What programs need to be written
• Exactly what each program will do
2. User Interface Design
• How users interact with system
• Forms / reports used by the system
3. Data Design (ER Diagrams)
• What data is to be stored
• What format the data will be in
• Where the data will be stored
Implementation(New System)
1. Construction
• New system is built and tested
• Often testing is the longest part
2. Testing
• Unit Testing
• Integration Testing
• System Testing
• User Acceptance Test
3. Installation
• Old system is turned off
• New system is turned on
Processes and Deliverables
Process Product
Planning
Analysis
Design
Implementation
System Proposal
System Specification
New System with
Testing/Maintenance Plan
SDLC and Deliverables
11
Planning
(System Proposal)
Analysis
(System Specification)
Design
(System Specification)
Implementation
(New System)
Maintenance
• Here the new system will be used in the real
environment and maintenance is carried out
so that the system is always able to adapt to
changes or developments in environment.
• The activities carried out are:
1. Using the new system
2. Evaluation of the new system
Software Development Methodology
(Model Process)
• A formalized approach to implementing the Software Development Life
Cycle (SDLC) (Dennis, 2012)
• A simplified representation of a software process (Sommerville, 2015)
• A distinct set of activities, actions, tasks, milestones, and work products
required to engineer high quality software (Pressman, 2015)
Major Methodologies
1. Structured Design
• Waterfall method
• Parallel development
2. Rapid Application Development
• Phased Development
• Prototyping
• Throw-away Prototyping
3. Agile Development
• Extreme Programming (XP)
• Scrum
• Lean Development
(Dennis, 2012)
More
Prescriptive/
Documentation
More
Adaptive/
Communication
Methodology Timeline
Activities and Artifacts Comparison
Structured Design
• Projects move methodically from one
to the next step
• Generally, a step is finished before
the next one begins
• Type of Structured Desin:
1. Waterfall Method
2. Parallel Development
Rapid Application Development (RAD)
• Type of RAD:
1. Phased development: a series of
versions
2. Prototyping: System prototyping
3. Throw-away prototyping: design
prototyping
• Critical elements to speed up the SDLC:
• CASE tools
• Visual programming languages
• Code generators
Agile Development
• Just a few rules that are easy to learn and
follow
• Streamline the SDLC
• Eliminate much of the modeling and documentation
• Emphasize simple, iterative application development
• Type of Agile Development:
1. Extreme Programming (XP) (Kent Beck)
2. Scrum (Ken Schwaber and Jeff Sutherland)
3. Lean Development (Mary Poppendieck and Tom
Poppendieck)
4. Dynamic Systems Development Model (DSDM)
(Dane Faulkner)
Methodology Selection Strategy
Selection Factors :
1. Clarity of User Requirements
2. Familiarity with Technology
3. System Complexity
4. System Reliability
5. Short Time Schedules
6. Schedule Visibility
Selection Factors
Testing Intro
Definition
• Testing is intended to show that a program
does what it is intended to do and to discover
program defects before it is put into use.
• When you test software, you execute a
program using artificial data.
• You check the results of the test run for errors,
anomalies or information about the program’s
non-functional attributes.
• Can reveal the presence of errors NOT their
absence.
Testing
Is a set of activities that can be
planned in advance and
conducted systematically.
For this reason a template for software
testing—a set of steps into which you can
place specific test case design techniques and
testing methods—should be defined for the
software process.
Testing Goals
• To demonstrate to the developer
and the customer that the
software meets its requirements
(leads to validation testing)
• To discover situations in which
the behavior of the software is
incorrect, undesirable or does not
conform to its specification (leads
to defect testing)
A Model Of The Software Testing Process
Software
Under Test
Test Data
Output
Result ?
Expected ?
Not
Expected ?
Test Case
Inputs that has been
developed to test the
system Inputs to the system and the predicted outputs from
operating system in these inputs, if the system performs
to its specification
THANK YOU
Insert the Subtitle of Your Presentation

Software Testing - Introduction

  • 1.
    MEETING 1 INTRODUCTION TO SOFTWARETESTING SOFTWARE TESTING By : Ajeng Savitri Puspaningrum, M.Kom
  • 2.
    OBJECTIVE • Describe thesoftware development process • Understand the introduction to software testing
  • 3.
  • 4.
    Systems Development LifeCycle (SDLC) Planning Analysis Design Implementation
  • 5.
    Project Phases 1. Planning:Why build the system? • System request, feasibility analysis, project size estimation 2. Analysis: Who, what, when, where will the system be? • Requirement gathering, business process modeling 3. Design: How will the system work? • Program design, user interface design, data design 4. Implementation: System construction and delivery • System construction, testing, documentation and installation 5
  • 6.
    Planning (System Proposal) 1.Identifying business value (System Request) • Lower costs • Increase profits 2. Analyze feasibility • Technical Feasibility • Economic Feasibility • Organizational Feasibility
  • 7.
    Analysis (System Specification) 1.Requirement gathering by answering the questions: • Who will use the system? • What will the system do? • When will it be used? 2. Investigate the current system 3. Identify possible improvements 4. Develop a concept for new system
  • 8.
    Design (System Specification) 1.Program Design (UML Diagrams) • What programs need to be written • Exactly what each program will do 2. User Interface Design • How users interact with system • Forms / reports used by the system 3. Data Design (ER Diagrams) • What data is to be stored • What format the data will be in • Where the data will be stored
  • 9.
    Implementation(New System) 1. Construction •New system is built and tested • Often testing is the longest part 2. Testing • Unit Testing • Integration Testing • System Testing • User Acceptance Test 3. Installation • Old system is turned off • New system is turned on
  • 10.
    Processes and Deliverables ProcessProduct Planning Analysis Design Implementation System Proposal System Specification New System with Testing/Maintenance Plan
  • 11.
    SDLC and Deliverables 11 Planning (SystemProposal) Analysis (System Specification) Design (System Specification) Implementation (New System)
  • 12.
    Maintenance • Here thenew system will be used in the real environment and maintenance is carried out so that the system is always able to adapt to changes or developments in environment. • The activities carried out are: 1. Using the new system 2. Evaluation of the new system
  • 13.
    Software Development Methodology (ModelProcess) • A formalized approach to implementing the Software Development Life Cycle (SDLC) (Dennis, 2012) • A simplified representation of a software process (Sommerville, 2015) • A distinct set of activities, actions, tasks, milestones, and work products required to engineer high quality software (Pressman, 2015)
  • 14.
    Major Methodologies 1. StructuredDesign • Waterfall method • Parallel development 2. Rapid Application Development • Phased Development • Prototyping • Throw-away Prototyping 3. Agile Development • Extreme Programming (XP) • Scrum • Lean Development (Dennis, 2012) More Prescriptive/ Documentation More Adaptive/ Communication
  • 15.
  • 16.
  • 17.
    Structured Design • Projectsmove methodically from one to the next step • Generally, a step is finished before the next one begins • Type of Structured Desin: 1. Waterfall Method 2. Parallel Development
  • 18.
    Rapid Application Development(RAD) • Type of RAD: 1. Phased development: a series of versions 2. Prototyping: System prototyping 3. Throw-away prototyping: design prototyping • Critical elements to speed up the SDLC: • CASE tools • Visual programming languages • Code generators
  • 19.
    Agile Development • Justa few rules that are easy to learn and follow • Streamline the SDLC • Eliminate much of the modeling and documentation • Emphasize simple, iterative application development • Type of Agile Development: 1. Extreme Programming (XP) (Kent Beck) 2. Scrum (Ken Schwaber and Jeff Sutherland) 3. Lean Development (Mary Poppendieck and Tom Poppendieck) 4. Dynamic Systems Development Model (DSDM) (Dane Faulkner)
  • 20.
    Methodology Selection Strategy SelectionFactors : 1. Clarity of User Requirements 2. Familiarity with Technology 3. System Complexity 4. System Reliability 5. Short Time Schedules 6. Schedule Visibility
  • 21.
  • 22.
  • 23.
    Definition • Testing isintended to show that a program does what it is intended to do and to discover program defects before it is put into use. • When you test software, you execute a program using artificial data. • You check the results of the test run for errors, anomalies or information about the program’s non-functional attributes. • Can reveal the presence of errors NOT their absence.
  • 24.
    Testing Is a setof activities that can be planned in advance and conducted systematically. For this reason a template for software testing—a set of steps into which you can place specific test case design techniques and testing methods—should be defined for the software process.
  • 25.
    Testing Goals • Todemonstrate to the developer and the customer that the software meets its requirements (leads to validation testing) • To discover situations in which the behavior of the software is incorrect, undesirable or does not conform to its specification (leads to defect testing)
  • 26.
    A Model OfThe Software Testing Process
  • 27.
    Software Under Test Test Data Output Result? Expected ? Not Expected ? Test Case Inputs that has been developed to test the system Inputs to the system and the predicted outputs from operating system in these inputs, if the system performs to its specification
  • 28.
    THANK YOU Insert theSubtitle of Your Presentation

Editor's Notes

  • #16 RUP : Rational Unified Process