Show Menu
Cheatography

QE Training Part 1 Cheat Sheet (DRAFT) by

Intro to Software Testing

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Introd­uction

Manual Testing
Automation
1. Takes more time
1. Takes less time
2. Cheaper if executing 1,2, or 3 times
2. Execution is faster
3.Execute Manually First
3. Don't automate anything not linked or completed
4. Non-stable build
4. Executing more than 3 times

SDLC Models

Waterfall (for small project)
-Requi­rements Gathering
-Designing
-Implementation
-Testing
-Deployment
-Maintenance
ADV: -simple
-easy to follow
DIS:
-slow;time consuming
-deliver a wrong product
-teams don't interact
-design/implement to meet requirement
-software delivered to next team
V-Model
-Test in all phases
ADV:
-continuous testing
-Usable
-Doable
DIS:
-if you do not test correc­tly­;wrong product
Iterative (small version of agile)
Repitition
Spiral
Planning, Risk Analysis, Evalua­tion, Engine­ering
-unit testing
-create a prototype of each design
-keeps iterating
-takes more time
-complicated to understand
Agile (Iteration Detail Sprints 1-2 weeks)
-Imple­men­tat­ion­/De­veloper Testing
-QA/Acceptance Testing
-(Deployment)
-Evaluation/Prioritzation
-Detailed Requirements
-Design/Analysis
-won't be outdated
-fast;adaptable
-4 iteration

Stages of SDLC (Ask for Access)

1. Requir­ement Gathering
-what does the client want
-analy­ze,­process
- feasibile? how much time?
2. Designing (Archi­tec­ture; How it will look)
-reliable
-estimate time,c­ost­,re­sources
analysis w/ team; challe­nges?
3. Implem­ent­ation
-write the code
-unit testing (does the code work)
-validate the unit testers have done their testing
4. Testing
-meet requirements
-meets design
-Functionality
-UI
-system testing
-Actual vs Expected Results
Compatibility
-Performance
5. Deployment
-deploy at client site
-different environment
-working or not?
-testers should have a 32 bit for 32 bit software
6. Mainte­nance
-enhan­cements
-bug fixes
-new feature additions
-Acceptance Testing (alpha/beta)
-Alpha:done by testers; go to the csutom­er'­s,i­nst­all­,test it
-Beta: Live testing

Software Develo­pment Life Cycle

A process to develop quality software
A process we follow to develop and deliver
SDLC is a process used to design, develop, and test high quality software
Continuous Process
Meets or Exceeds customer's expect­ations
Reaches completion within times and cost estimates
Assures that we are
     Meeting the requir­ements
     Deliver on time
     Should be quality
 

Software Testing

process of watching with the requir­ements
check for correc­tne­ss,­com­ple­ten­ess,and quality
if it is missing something it is a bug
1)Vali­dation 2)Veri­fic­ation
   ­ ­ requir­ement doc
   ­ ­ business doc
   ­ ­ software
meets requir­ements
works as expected
can be implem­ented with the same charac­ter­istics

STLC (Software Testing Life Cycle)

1.Requ­irement
-properly docume­nte­d/u­pdated
-verif­ication
2. Design Test Strategy
-how to test
-what to test?
tools?framework?
required resources
-how will you decide what is going to be done
3.Test Planning
-who will test
-resources/schedule/TC
-what you are going to test in each phase
4. Test Case Develo­pment
-write TC
5. Envior­nment Setup
-software
-hardware
-server to deploy testing enviro­nment
6. Automation
-automate TC
test the software
-automate 1st execute later
7. Test Execution
-execute tests
8. Report Defects
-report defects
-log defect against automation
-tell m-report defects
-log defect against automa­tio­nanager of defects
9. Regression Test
-defects fixed
-what's fixed or not
10. Test Reports
-create and submit

Principles of Software Testing

Principle 1
-prove there are defects (presence of defects)
Principle 2
-100% testing (exhau­stive is imposs­ible)
Principle 3
-Early Testing
Principle 4
-Defect cluste­ring; categorize based on severity, highest priori­ty,­needs
Principle 5
-Pesticide Paradox
-depen­dencies
Principle 6
-Testing is context dependent
-log defects
-what you're testing for
Principle 7
-Absence of errors­-fa­llacy
-chances of missing the errors
 

Bugs Can Be...

Defect
Incident
Incons­istency
Fault
Anomaly
Product Anomaly
Problem
Variance
Product Incidence
Error
Failure
Feature

Verifi­cation & Valida­tio­n/QA/QC

Verifi­cation
-is the requir­ement proper
-are we on the right track?
-static documents
-audits
Validation
-building the right thing
-dynamic
-whether we have built it right
-system testing
Quality Assurance
-process oriented
-assure quality
-STLC
-implement process
-preve­ntive activities
Quality Control
-Produ­ct-­ori­ented
-corre­ctive process
-test cases
-one product
-corrective process

Levels of Testing

Unit Testing
-check code
-lines of code
-# of TC
Integr­ation Testing
-all the pieces fit when integrated
System Testing
-Funct­ion­ality
-end-t­o-end testing
-perfo­rmance, access­ibi­lity, compat­ibility
User Acceptance Testing
-Alpha­:lab, what's in production
-Beta:­Pro­duc­tio­n(end user)

Testing Techniques (Black Box)

Don't have to unders­tan­d/touch code
No access to code
Check functional and non-fu­nct­ional
Advant­ages: efficient, unbiased, easy to execute, non intrusive
Disadv­ant­ages: Localized testing, blind coverage, ineffi­cient, test author­ity­(system testing)

Testing Techniques (White Box)

understand designs, progra­mming language, unit test cases (execute and develop)
Advatages: effective, early defect identi­fying, reveal hidden code flaws, full code pathway capable
Disadv­ant­age­s:D­iff­icult to scale, cultural stress, highly intrusive, difficult to maintain

Testing Techniques (Gray Box)

Mixture of black and white
Test black box, partial access, can analyze their code, half rights
Advant­ages: Combined benefits, unbiased testing, intell­igent test authority
Disadv­ant­age­s:P­artial code coverage, Defect Identi­fic­ation

Testing Method­ologies

Governance Testing
-services conform to standards, policies, and objectives
Process Testing
-services are operating collec­tively as specified
-process being followed or not?
Unit Testin­g/S­erv­ice­-Co­mponent Level
-test the code
-funct­ion­ality
System Testing
-business requir­ements defined and met acceptance criteria
-entire system works end-to-end
Integr­ation Testing
-if interface behavior and info sharing btw the services are working as specified
Security Testing
-to ensure protection from unauth­orized software
Service level Testing
-Funct­ional testting, Perfor­mance Testing, Security Testing
-compr­ehe­nsive statement of quality
-reusa­ble­(across window­s,f­unc­tio­nal­ity), reliable, compatible