QA: Functional Testing Thoughts

Introduction

Part 1

What is Functional Testing?

  • Testing software by its features

 

Black Box:

  • you do not see inside
  • Input -> process -> output
  • Look at symptoms

 

White Box Testing

  • Go through the code and test it
  • All developers are WB testers
  • Debugger: go through line by line
  • Step in, Step out, Breakpoint, watch variables
  • Coding and unit testing
  • Profilers – instrumenting agents( go through memory/compiler )

 

Part 2

What will you test in a left/escalator?

  • Speed
  • Loading capatcity
  • Buttons
  • Fan
  • Phone inside
  • Door opening
  • Door closing
  • Lights
  • Go to top from basement
  • Emergency stop

 

What will you test in a mobile phone?

  • Switch on and off
  • Make a call
  • Receive call
  • Send SMS
  • Receive SMS
  • Delete SMS
  • Speed dial
  • Add contact
  • Edit contact
  • Search contact
  • Browse web
  • Record sound
  • Record video
  • Battery life

 

5 Different Testing Angles

  1. Configuration (parts) – Is it there in the right place?
  2. Security – Entry points
  3. Functionality – input->output
  4. Performance –  (mileage, pickup speed, pulling power)
  5. Environment (compatibility) – Tires, brakes, oil, radiator fluid

 

  • Write 2-3 points for each category, then elaborate
  • Then parameterize

 

 

Part 3

Software Testing

  • The basic questions on testing
  • Ensure Quality

 

Why Test?

  • After writing exams, we expect 90% pass
  • Only getting 80%
  • Programmers – they also make mistakes
  • Lack of skills
  • Lack of understanding
  • Someone other than the developer to test
  • Post production errors are VERY COSTLY
  • Lost revenue
  • Recall cost
  • Lost customer confidence
  • Stock prices
  • Lawsuits
  • Lost market share
  • CLOSING BUSINESS
  • In software  - visual test may not help a lot
  • Functional test to sw
  • Bugs are buried in binaries!

 

Part 4

What is tested?

  • This field is known as IT “Information Technology”
  • Not computer technology
  • Information is the key
  • Information: meaningful data to customers
  • Programs = executables
  • Input -> process -> output
  • Input is given by user
  • Userid/password
  • System does authentication
  • Navigating to main page
  • Something that runs inside CPU/memory
  • .asp, .jsp, .php
  • Backend programs like java bean or MS VC++ dll files

1. We must test the programs – is it doing the right logic?

2. Data – check the integrity (not truncated, correct type)

 

Part 5

Who does testing?

  • Developer must test his/her own program
  • Development team as a whole
  • Tester - independent of the dev team
  • Customer - UAT

 

Where to Test?

  • Test Environment
  • Real-world system
  • Various platforms

 

When to test?

  • New features
  • Changes
  • Continuously
  • Also:
  • Compile
  • Build
  • Install Media

 

How To Test?

SDLC – Software Development Life Cycle

Life Cycle

  • SW goes thru a lot of stages
  • Not just the  program/code
  • Many people are involved
  • Process leads to perfections

Phases

  • Inception
  • Proposal/Quotation
  • Requirements
  • Design
  • Code/Develop
  • Testing
  • Deploy
  • Maintenance

Inception (Pregnancy Period)

  • Need arises
  • Customer requires functionality
  • Customer will draft top-level requirements
  • Request for Proposal (RFP)/There is a tender (RFP)
  • Customer publication of need, contractor WANTED request
  • Funds are acquired for project
  • Customer starts spending
  • PROJECT ALREADY STARTED FOR THE CUSTOMER
  • Many 3rd party vendors available to handle the project
  • Sales department keep watching/hunting for opportunities, then bid
  • Sales talk to internal depts. In company
  • They may need some clarification
  • Talk or meet customer to understand the need better

 

Proposal or quotation

  • Overview of company that gives the bid
  • Past history and experience
  • Technology to be used for this project
  • Human Resources you will deploy
  • Timeline/Milestones
  • Cost
  • Customer may get many proposals
  • Meet internally and with vendors
  • Negotiate price – more work, less money
  • Due Diligence
  • Background Check
  • Reality Check
  • 3rd Party Auditor to check company’s financial, records, references
  • LoI – Letter of Intent
  • Contract
  • Final negotiated cost and time
  • Standard terms
  • IP – intellectual property/copyright
  • Vendor/customer sign the contract

 

Functional Group

  • Sales
  • C*O (CEO, CFO, CIO )
  • Customer

Inputs/Outputs

  • Input: Tender
  • Out: RFP, LoI, Contract

 

Age - DoB

 

Requirements Analysis

  • BRD – business requirement document
  • Business Analyst to create (BA)

Planning

  • Time
  • Cost
  • Resource
  • List out all activities/tasks as root level
  • Breakdown all activities to atomic level
  • Assign time for each task
  • Resource – Human resource
  • Experience
  • Qualification
  • Cost
  • Training Required
  • Hardware and Software
  • OS, DB, webserves
  • Dev and testing tools
  • When project consumes resources over time, cost keeps growing
  • PM needs to plan this
  • Company pays?
  • Customer pays?
  • Risks in the project
  • Risk management
  • Technology
  • People
  • Environment
  • Process
  • Legal

Requirements Analysis

  • Business Analysts/SME
  • People know functionality of the customer
  • Must know industry/business/processes/workflows

 

Functional Group

  • Project Management

 

Inputs/Outputs

 

 

 

Design

  •  

Code/Develop

  •  

Testing

  •  

Deploy

  •  

Maintenance

  •  

 

 

 

 

 

 

 

 

 

XXX

Tags