0% found this document useful (0 votes)
10 views

Intro To Software Testing

Uploaded by

hayashishiera
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Intro To Software Testing

Uploaded by

hayashishiera
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

INTRO TO SOFTWARE TESTING

• What is software testing?


• Why is it important?
• What are the goals of testing?
• When does testing happen?
WHAT IS SOFTWARE TESTING?

Set of activities intended to find bugs within software, as well as validate


and verify the software meets the business requirements and needs as
designed.

Bug / Defect - an error that causes an incorrect or unintended result


VERIFICATION VS VALIDATION

Verification
You verify the software is built as the design specification outlined. Ultimately,
you are verifying the developer completed the development as it was
envisioned.
“Are you building it right?”

Validation
You validate the software that was built solves for the original business
problem or fulfills the business need.
“Are you building the right thing?”
WHY IS IT IMPORTANT?

Defects in production systems…


• Cost money
• Frustrate users
• Extend the project

…and in some cases, can cause loss of lives!


MARS CLIMATE ORBITER

• Launched in 1998 to study Mars climate changes


• Developer used English units instead of metric
• Bug caused it to get too close to Mars atmosphere
• Orbiter disintegrated

Net Loss: $327 million dollars


AT&T LONG DISTANCE

• In 1990, 60,000 customers couldn’t make long distance calls


• Phones use switches and AT&T has lots to allow for all the traffic
• When one switch is full, it passes the traffic to the next switch
• Software update was put into production to make the failovers faster
• Bug had switches get overloaded, reset, and pass the traffic to the next
• AT&T long distance was down for nine hours

Net Loss: $60 million dollars


PRISONERS RELEASED EARLY

• Software calculates the sentence based on good/bad behavior


• Bug in calculation was introduced in 2002 and not caught until 2015
• More than 3,200 prisoners had been released early

Net Loss: Unknown


VALIDATION
GOALS OF TESTING

1. Verify the software is built as designed


a) Show presence of defects
b) Reduce probability of bugs remaining in software at time of launch
c) Not to make it bug free (not feasible without large investment)

2. Validate the software is usable and meets business needs


a) Confirm intended users can accurately use the software
b) Ensure the end result solves the original business problem
WHEN DOES IT HAPPEN?
Waterfall: Iterative:
SOFTWARE TESTING PHASES
V-Model
• Unit Testing Business
User
Acceptance
Requirements
• Integration Testing Testing

• System Testing Functional Systems


Requirements Testing
• User Acceptance Testing
Integration
• Regression Testing Technical
Requirements Testing

Development
& Unit Testing
UNIT TESTING
• First step of testing
• Completed by developers Business Analyst’s Role:

• Test as each component is completed Rarely engaged.


If engaged, it is to write test cases
and review test results
INTEGRATION TESTING
• Pull components together and test as larger unit
• Find problems in how components work together
• Common place for project failure
Business Analyst’s Role:
Usually engaged if no QA team.
Writes test cases and reviews test
results.
SYSTEM TESTING
• Last chance for the project team to verify the software
• Validate software meets business requirements
• Includes many different types of tests
Business Analyst’s Role:
Always engaged.
Write, execute, and analyze test
case results.
USER ACCEPTANCE TESTING
• Final phase of testing
• Users utilize real-life scenarios to verify software meets their needs
• Users should be the main testers, not the BA Business Analyst’s Role:
Almost always engaged.
Create scenarios, analyze results,
manage defects, and ensure
defect resolution.
REGRESSION TESTING
• Performed after initial testing is completed
• Retest functions of the software that have not been changed
• Ensure changes didn’t “break” previously working functionality
• Can be extremely tedious and boring

You might also like