ManualtestingNotes (1)
ManualtestingNotes (1)
Manual testing
2
3
The goal of a software tester is to find bugs, find them as early as possible, and make
sure they get fixed.
that whatever they have developed is as per customer requirements and Will always work. But, it is
imperative to create real-life scenario and undertake actual execution of a product at each level of
software building (including system level) to assess whether it really works or not.
can be present when different units do not work together, even though they work
independently
One must bring individual units together and make the final product, as some defects may be
possible when the sources are developed by people sitting at different places.
software product, but to expose hidden defects so that they can be fixed. Testing is done to protect the
Testing is a process Of demonstrating that errors are not present in the product,
This approach is used in acceptance testing where if the application meets acceptance criteria, then it
must be accepted by the customer,
Testing gives number of detects present which indirectly gives a measurement of software quality.
More number of defects Vindicate bad software and bad processes Of development,
1. The software doesn’t do something that the product specification says it should do.
2. The software does something that the product specification says it shouldn’t do.
3. The software does something that the product specification doesn’t mention
4
The bugs are caused for many reasons but main one is Specification.
it’s constantly changing, or it’s not communicated well to the entire development team.
Planning software is vitally important. If it’s not done correctly, bugs will be created.
The next largest source of bugs is the design if not designed well then bugs are occurred
The costs are logarithmic—that is, they increase tenfold as time increases. A bug found and
fixed during the early stages when the specification is being written might cost next to nothing,
or 10 cents in our example. The same bug, if not found until the software is coded and tested,
might cost $1 to $10.
But If a customer finds it, the cost could easily top $100.
Example
root cause of the problem was that the software wouldn’t work on a very popular PC platform.
If, in the early specification stage, someone had researched what PCs were popular and specified
that the software needed to be designed and tested to work on those configurations, the
cost of that effort would have been almost nothing.
If that didn’t occur, a backup would have been for the software testers to collect samples of the popular PCs
and verify the software on them. They would have found the bug, but it would have been more expensive to
fix because the software would have to be debugged, fixed, and retested.
The goal of a software tester is to find bugs, find them as early as possible, and make
sure they get fixed.
6
Testing Types
1. Manual testing :- Manual testing includes testing a software manually, i.e., without using any automated
tool or any script
2. Automation Testing: Automation testing, which is also known as Test Automation, is when the tester writes
scripts and uses another software to test the product. 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.
Later documentation covers → the software training, installation, and operation (user guides)..
The primary goal of static testing is reduce defect by reducing defects in the
Review is a process or meeting during which a work product or set of work products, is
presented to managers, users, customers, or other interested parties for comment or
walkthroug Review :
Author guide the participants through the document according to his or her thought
process to achieve a common understanding and to gather feedback.
Useful for the people if they are not from the software discipline, who are not used to
or cannot easily understand software development process.
Insepction Review:
moderators
During inspection the documents are prepared and checked thoroughly by the reviewers before the meeting
Informal Review
Technical Review
Documented || Defined fault detection process || Includes peers and technical experts
No management participant
8
Static Testing
Review Insepction | formal|
Before execuation finding fault
The process of evaluating a system or component based upon its behaviour during execution.
High Level ( Main Testing by Tester) = System + UAT (Tester) UAT Testing
Dynamic
Testing
Integration Teting
Levels Of Testing
1. Unit Testing :- in unit testing individual component of software tested. The purpose of
this testing is that each module is working properly
It focuses on the smallest unit of software design
(done by developer by using sample input and observing its sample output)
Eg. In a program we are checking if loop, method or
function is working fine
9
2. Integration Testing: in integration Testing individual units are combined and tested as group (developer)
(i) Top-down
(ii) Bottom-up
(iii) Sandwich
(iv) Big-Bang
Main Purpose of Integration Testing :
To check moudules are communicating each other as DFD Data Flow Diagram which is specified in
TDD ( Technical Document Diagram )
3. System Testing : in this testing we can test whole application (complete / integrated software is tested)
done by tester
4. Acceptance Testing : a level of software Testing in which software is tested for user acceptance
UAT done at client location where software is actually used
→ Alpha Testing : done by tester in company in presence of customer
→ Beta Testing : done by customer to check software is ok , satisfy requirement
Unit Testing
White box testing >> |internal logic | developer
Integration Testing
System
Testing
Black box testing → | no need code |only functional |tester
( Actual Testing | Tester)
Testing Types
Functional testing
is the process through which QAs determine if a piece of software is acting in accordance with pre-
determined requirements. It uses black-box testing techniques, in which the tester has no knowledge of the
internal system logic. Functional testing is only concerned with validating if a system works as intende
10
Load testing
Reliability
The readiness of a system
Usability testing
Eg. A practical example would be: checking how many people can simultaneously check out of a shopping
basket
Black box testing is that kind of software testing you can do when you do not have the source code,
Eg
QC → Build s/w → QA → Testing
optional Compulsary
name
password
Remember Me
Sign In
Name
password
Regression Testing
(Re- running if code changes) :
It is overall testing when ever new change is occurred .
This type of testing makes sure that the whole component works properly even after adding
Static Testing :
Review
Inspection
Walkthrough
This test done for avoid bugs in early stage (review testing) look and feel
Walkthorough :
Inspection :
The main purpose of dynamic testing is to test software behaviour with dynamic
variables
Beta Testing : it is 1st testing in client side . it is also called user user acceptance testing UAT
Monkey Testing : used for game testing, used for random input
Exploratary Testing : When test enginer does not have idea of functinal testing then he is learnig through
exploring application
End to End Testing : We can check all internal componant for successful response
Internal componant like Client , Network, Server Database etc are working fine
Relablity Testing : The Developed application Should Support Longer Duration i.e. Stablity
* Waterfall Model
* V-Shaped Model
* Incremental Life Cycle Model
* Spiral Model
1. Requirement analysis
2. Design (blue print)
3. Coding or development
4. Testing
5. Maintenance
Each phase must complete to start new phase ( i.e called one after another)
15
→ In waterfall module quality of product is good because every phase has clear
Documentation
→ no changes in middle
Spiral Model
17
Incremental Model : requirement are divided into multiple module each module
, maintenance
Disadvantages :
QA | QC |
QE
QA = Highest Possible quality
System Testing
(Actual Testing)
System Testing : GUI Testing | Usability Testing | Functional Testing | non functional
1. GUI Testing :
:- Testing GUI application , user interface testing
:- such as menus , check boxes , icon, images
:- not functional , just look and feel
:- check size and position of element
:- image quality, spelling check , alignment
:- Fonts are understanding or not
2. Usability Testing :
:- check the easiness of application
:- helping messages are display if user confuse
:- check user friendly application or not ?
19
3. Functional Testing :
:- check behaviour of application
:- check database testing (work with database ok ?)
:- error handling . display error message ok ?
:- calculation and manipulation
Eg. 5+5 = 15( user requirement ) => we
follow this 5+5 = 10 ( math calculation)
:- check text box disable or enable as user requirement
:- Check database operation DML table, column , records etc
User form
UI Testing Database
Black box White box
:- once functional testing done i.e. s/w work user requirement then
:- performance testing
Load testing – gradually increase the load
:- security of software
:- recovery of application
→ logout
5. Error guessing
21
:- value check
Normal test data to check txt Divide data in ECP Final test data after ECP done
box value to test case
this technique is used if we have more conditions and based on condition we have to
Condition :
Action :
1. Transfer money
2. Show message insufficient money (if any)
3. Block if any suspicious activity
23
Error Guessing
Technique :
:- no any specific rule
Test case
document
:- Test case Id
:- Description
: Precondition
:- Priority
:- Request id
:- Steps/ Action
:- Excepted result
:- Actual result
:- Test Data
26
report
each activity)
27
:- Defect id
:- Defect Version
:- date
: - detected by
:- status
: severity – impact
| Minor
Seriousness of application
Major : some undesirable behaviour eg. Email sent but msg not display
importance of defect
:- Project introduction
:- Test Plan
:- Test execution
E commerce project
- Login
- Search for product and item
- Add them to cart
- Do payment
- Product will be delivered
- Return the product
- Etc.
SRS document
E commerce project
:- Project information
:- Test Execution
Version page
Opencart.com project
An FRS, or functional requirement specification is the document that describes all the functions that software or
product has to perform
While writing test case refer the test Test Scenario and FRS Document
After executing test case maintain or update sheet RTM eg. No test executing or blocked etc
Big bang' approach involve testing software system after development work is completed. This is
also termed *system testing' or final testing done before releasing software to the customer for
acceptance testing.
Big Bang == System Testing== Final Testing == Before Release
This is last part Of Software development as per waterfall methodlogy
• Acceptance testing: This is the final testing done by Customer based on the agreements Load / stress
/ performance testing : Testing an application load capacity
• Usability testing: Testing to determine the user friendly ness of the application
• Install / Uninstall testing: Testing of full, partial, or upgrade install / uninstall processes.
• Recovery / failover testing: Testing to determine how well a system recovers from crashes, failures,
or other major problems.
• System testing: part of black box testing and validating the system requirements
• Regression testing: validating the existing functionality of the application once new fixes added
A test case is a detailed explanation of a scenario. Test case is a document which describes pre-
condition, post-condition, test data, actors and navigation of the particular functionality.Each and every
test case should have unique test name and test ID.
Test Plan is a document that explains what to test, when to test, where to test and when to complete
3- Retesting is only done for failed Test cases while Regression is done for passed test
cases
36
37
A white boi test de;ign ta:'.hniquein whidh test rases aredesigna:l to exerute
B1!'al'ldl testing
branches.
B li.lSToos.sprore-ss-
1
An pproach to testing in vhic:h testtasesa-ed.signedhased on dem'lptlons
!based testl1119 a1d/ or know la:lge of business pro,ce.sse;;
Capture/ ,pllaybadc A twe of test exerut.iontool Yiher:e ln,put:sare r:eco,rdedduring manual testing
in order to gmeriie autom.ta:l test scripts th.1ran he executa:l later (i.e.
tool
repla'\'M j. These tools are oftenused to support automated re;i1ressiontesting.
Cf:l'tiflcaitlon
The process of confim1ing that a oomponent. system or person complies with its I
sp-a:ified re:iuirement:s, e.g. by ,passingan exam,
Co.m,one:nt Ter;tlng performed to aipose def,ectsIn the interfa:es and inte tion between
1hrte:grat[o.ntestlng integrated components,
Comlitl:on testlng A hit,ebox tstdesign t1:rhniQue1n which test cases aredeslgna:l to execute
condition outromes.
(ol'lllerstontesting T,e;ting of softw.re usa:l to convert da:a from existing systems for 1Jse in
r:eplooement s:i,stems,
Data'bas-e itl'ltegrity
tools suc:h as raprure/ plily'ba::k tooIs.
Testing the methods .l'ld ,pmcesm used to .r:cess and m.l'l.a.gethe data(basej,to
I
msure occess mahods, processes and data rules funct:ion as e<pected .l'ld
that
test! durlng access to thedataba5e, data is not corrupted or u,nexpi:!:tedly delEta:l, I
updated or c.reated.
1 I vww .ajoyslngh.a.info
38
---
s1Jt1cture of thecomponent or 5'l'Stem.
le
- Proc,eciureto deriveand/or :select test casesbasedon ananalysis{)f !!he
-
Bilac•box ms!: desllgn :sp-erifitatio.n,either func.1:lonal or non-functiona, of a component.o,r system
teelnlque: without riffermc.eto its intemal:stmcrure.
2 Iwww .ajoyslngh.a.info
39
Elements of Software Testing Bt Bug Trad.e< Keeps i,...,k o,fc!tware bugs. usually
Monitors the softw r-eengln erlng
P"''"""" co ensure amgh-<Jaal[ty product made up of an autornati( flew of bu.gs,.a
St Soirware set at custornt:able rep1J.rts, and different
Testing $o ware testing Is any a<tlvlty aimed at
e.,.ah..aating an att.ribute. or capability Dt a Software testing is an .essential service !y!tem role! and perrns!ioos.
progn,m or system and deiermlnlng that 11 Tm T.. t Stc;rre:i t s.tlng Infor; r.1tlo11from lffi';l te-.L
m!::'.t.>-1:s. its r {iuirt.'Ll resu
---------------
for any business implementing a new MaJiag \'!n1 planning ttage,tllroog ,ecuti<Jn of
S,"_st,em i:a:se:s, up :to the rapcrtln_g stage
SOFTWARE TESTING TYPES system or updating an old one. Helps a oornp.an manage its software
Am Ap.plkatJon
Ut Unit TE!sts. unlt:5 of c de usjng autarna1i,an co Software development technologies are LHOC:,"clCI d-e,elopm-en, 11!,e cycle In• dedicated,
consta.ntly
trng Management centrali:zl:!d :place.
T.. ensure that ea<h unit works
ind[vldual(y-;ils inkgration i:nto the S)'Skrn
changing, but the essentia.l elements s.......
asa whole is tested facer. for successful software testing remain At Autom.atloo Control tho e-.<uUon 0! tests and tho
Tools. almp,arison of actual CJuli:C.Omrs 'With predl<!
Sm smoke
Tes ing
,, qu,<kn,J ,;n,ple test to em re that the
ma[ar furxtiarn a s.oftwa work a
the same. ed out,;omes.
1n1er.1<>e1, ons1"'11 •rdere<;,I,,, • fl.• pt Perfurmanc;:e Meas.tJre an app:Jication's response Y'a(hik!
""1en new hardware d;dn't cal ch fire Tesiin;g Tools 5K"nulnUng the tr,ilffi, of ter,i; Qr evl;!n
hun.dreds of thousands of l.l!iers
■
Fu Fun<ti,mol Assesses tundional co1nipc::m1en.ts ottbe perfonmlng a wide r.nge of task, enU,
tlng
T .. S:('-tem.ilncl enwr,ec; itMt It rform;;. the ar,pa(.)tlO .
1
bask funnlons Uiat It was desfg!led to fulfill
11
■11111
In Jntogmion Peterrri,ne< ff' u1ilple compo nc< >'·c>rli TESTINC. STRATEGIES
■■■
Toning together prope-!ly within I.he system
.AnaJyz.es the behavior of the ,..tJole Rb RlskB.a!:il!!d Prioritizes lest prucr.:: !:cs bas d on the ri:s.k.
Testing t!hefr fi.a\'1'5 pose to an applicationr and che
S'!,'s.tem and whether or rrot :lr fit$ effect tho:;e!laws co, d ha,e on1h
lts.define(! requ1r,m1e11ts company or el')d Lr.!Er
Ua u...- Verlfieo tl,al ll can handle re.ak-loi1d EK bplia.·.-m;;iry Test cteslgn. and tes.t e;-.:ecutlon a,;: die
A«• ""><e sc ,,1ound15 oltffl a co
rait" I Te!:il:ln:g saone tlmi:· S-Ophls!lc•ted,100..gnlf.il
Testing 11.!qiJlrement for a«eptancc-ofthe wfu'Vare:; apprbi!lc.h ta ad hoc testing
perfonned b)i·actual encl use-s of the
Re Au A.utomated Uses cooeo scrlpt< tc control me
s.ystem Tenin:g e>:e<YHon of te ts \vlthoul rnanuL'!I
Li Ll\'e TIE!stlng Tust!i hmctiions i!ln.d frmtu tha (i!ln- Dnly intt::r¥C11tii:m
be accurately tested Dn the live srstem
II 111111
Cl Co·ntlnuous Members of a team ln!egrateelf work
lnstei!ld of a test en\'lf"Clrtmerit lnu.-gratit;m fITqucntly, u ually t:!i!lch pcnan fntcgrat s
Re greuion EMuri!$th:!I d,,mge!i tu h c:od hav4::."TI't at le.ast dajl:,,-leading to multiple
Testing broken i:111ious!y-h.mc.1iorlal parts ct ttie lnl"Sfatlon• per clay.
system
Rm Requir,emenu Map.5 te5t ca5i!!5 co requirE!ments.to
An umbrella term th::it f:ncludi!:!i aJ:I pracess.e!i ensuf1:!
\"dili:;;h a ,;;e,;,s the,i5er',;experlern;e with the Tl'a<eoblllty t,,estlng ,co.,.er;:ige cf r,eq1Jl ments
syst<,nn
TE.STING DOCUM,ENTATION
Se Soc.urity DetermiDe.5 the! safe ot private dilta
Testing w:1,lhout c:ompromisfng J S)'Stfm' Tp To<tPb,, Describes t scop!:!, appmach, rC5-Cl rce:s1
fun<cionalitr 5.rh.e.dule, test it.e fe..ature.s co be teste<:1
Emure,;:f .Jn<tlon:;irity ot the s.ynem a,i:roi:: •11<1not tested, tasl\s, and contlngencie•
Co c;o.1.-,atlblillV
,il
nm.,g
""riet)·of browsers ar,d op..-atlng systems fur the entire t-estlag prnc.css
A iO( or ;nputi, p•ll<:ondltlon<, pr l(Ul
Mo Mobil• En-s.Ltre-.thr.1t the .;.ip,prlc.atf,on flmcri-Qns Tc Ti0HCii1Slil
...,,ults and e,;e<uUon condl!I ns for
acro'ii Te,:1:ing a varlety of mobile de,;c
pa-ri.icufar ob ctiv or te!lt condition
Ac A<co,>lblllty Ven"ties that )•our procluct is accessible ta
rng
1 ... (1.' lomerswho t'<l•e dlsatnltles As LtE'f!C: of a.ttlonj. rcirtJle e,.:,e,,c,JUc,r,{If
To Tii:!51
a test
Pto-:w=
Lo LOC: li::Qti(lr'I En-suresthat soft\\lare performs as re,quif"IE!d Spe,clflc.atlon
Testing In d[fferenl countne5. atld lht1t tr.3ns;[atlon5
pe,lfi-ei:; t i:;a procedures., l'p'Pl lly fo,
re<orrect Tie:iitSi;:ripl
Ts outomated I.sting
Bb Blad\6-0, Examines th-e tL111cticiaalit)' o aL1application
Reports the tlaw!ii}b.JB5 in comi;,o:nE!JU:5 or
T.. tlni; wthc,ut knowledge cf I • mal <lructures
Dr Dl!f I u, ,y,tem lt,olf that""""' I( le fal to
Wb IY ,, s.,, Tests.int'2!T1.3 process.es of an-.app□caticn, as. RepOH.I
p-r!rform i13 functiDn. properly
To.,lni; cp s•d to I functfcnal
Slll"Tirnari.2e:stesting activities .and rE!S-ults.
St St3itl,c Ex;;imirutiCln of th sy!itcm1s.codl! and Tll:!SI Sl..1mm:.1'7
Testrn.g
Tu
documentation. '""ithDLll rurrn1n it RCl'O"J
Vc:,rsion I
40
41
1) Static Testing
2) Dynamic Testing
This testing prevents the defects. This testing finds and fixes the defects.
It consists of Walkthrough, Inspection, It consists of specification based, structure based, Experience based, unit
reviews etc. testing, integration testing etc.
42
Verification : Its static process of analysing the document , not actural product
Validation : it involes Dynamic Testing (unit, integration ,system testing )
47
48
49
50
It is a way of software testing in which the internal It is a way of testing the software in which the tester has
structure or the program or the code is hidden and knowledge about the internal structure or the code or the
This testing can be initiated on the basis of This type of testing of software is started after detail
It is the behavior testing of the software. It is the logic testing of the software.
It is applicable to the higher levels of testing of It is generally applicable to the lower levels of software
software. testing.
It is not suitable or preferred for algorithm testing. It is suitable for algorithm testing.
A. Functional Testing
A. Path Testing
B. Non-functional testing
B. Loop Testing
C. Regression Testing C. Condition testing
52
Coverage Testing
53
BVA = Boundary value analysis based on verification of only extreme boundary values, e.g., maximum,
minimum, and typical (Eg lower boundery 18 higher 56)
ECP = Equivalence class testing based on checking one value from each partition
1 2 3 4 4 partition
54
ERROR Guessing = based on the previous experience of a QA engineer also called experience based
testing
Graph-based testing where a test case is written for each graph that represents the object
55
Partially Full
Known Known
Black Box
1.-;e Internal Wo kingsof SorM hat knowledge ESrer has flllll
i0• anapplicatim, are oo. iji,e rntennal workings kno ledgeof the
are l!lired to be known n€Mn lnt@m I o ngs of
e· .l'rntian
2. lso nown as dl05ed Ario.ther·:ermfor grey·box Also nownas clear
box t-esting is tran&1i.tmr1t bm: le-sting,smiomral
ens g, da:DIdmn t-esting as,the tester has. testingor rode based
test ng and limi!B. kno edge 0 the testing
1
There are many ways you can analyze software with white box testing. Most testers will use a process called
code coverage analysis to eliminate gaps in the testing of the code. There are a variety of techniques you can
use to accomplish this, including:
Statement coverage:
This technique ensures that each line in the code is tested at least once to find faulty code more easily.
Branch coverage:
Using this technique, each possible path or decision point of a software application is checked for
accuracy.
Condition coverage:
All imaginable combinations of all the conceivable condition outcomes are tested at least once.
Control graphs are created from either flowcharts or code. Cyclomatic complexity is then calculated to
define the number of independent paths so that the minimum number of test cases can be designed for
each path.
This technique uses a directed graph made up of nodes and edges, where each node represents a decision
point or sequence of statements.
Cyclomatic complexity:
This is the measure of a software's logical and cyclomatic complexity. It is used to define how many
independent paths are present.
Loop testing:
Loops are commonly used in white box testing and are fundamental to many algorithms. Problems
are often found at the beginning or the end of a loop. Loop testing can be divided into simple loops,
nested loops and concatenated loops.