SlideShare uma empresa Scribd logo
1 de 70
Application TestingApplication Testing
Reggie Niccolo SantosReggie Niccolo Santos
UP ITDCUP ITDC
OutlineOutline
The Testing PhaseThe Testing Phase
Testing your Web AppsTesting your Web Apps
Testing Strategies and Tactics for Mobile ApplicationsTesting Strategies and Tactics for Mobile Applications
ReferencesReferences
The Testing PhaseThe Testing Phase
In many software engineering methodologies, aIn many software engineering methodologies, a
separateseparate phase performed by aphase performed by a differentdifferent team afterteam after
the implementation is completedthe implementation is completed
The Testing PhaseThe Testing Phase
Regression TestRegression Test
Internal TestingInternal Testing
Unit TestingUnit Testing
Application TestingApplication Testing
Stress TestingStress Testing
Regression TestRegression Test
Form aForm a suitesuite of programs that test one or moreof programs that test one or more featuresfeatures ofof
the systemthe system
A valid regression test generatesA valid regression test generates verified resultsverified results
““gold standardgold standard””
Validity driven by the rValidity driven by the requirement documentequirement document
In practice, theIn practice, the implementation teamimplementation team is responsibleis responsible
for validity interpretationfor validity interpretation
Regression TestRegression Test
As development continues, more tests are added, while oldAs development continues, more tests are added, while old
tests may remain validtests may remain valid
Because of new development, an old test may no longerBecause of new development, an old test may no longer
be validbe valid
If this is the case, the old test results areIf this is the case, the old test results are alteredaltered in thein the
“gold standard” to“gold standard” to matchmatch the current expectationsthe current expectations
The test suite is run generating new resultsThe test suite is run generating new results
Internal TestingInternal Testing
Make sure allMake sure all internal, non-customer-visibleinternal, non-customer-visible
componentscomponents work wellwork well
Deals withDeals with low-levellow-level implementationimplementation
EachEach functionfunction oror componentcomponent is testedis tested
Accomplished by theAccomplished by the implementation teamsimplementation teams
Internal TestingInternal Testing
Clear-box/white-box testingClear-box/white-box testing
All details areAll details are visiblevisible to the testto the test
Internal limitsInternal limits are tested hereare tested here
Unit TestingUnit Testing
Make sure allMake sure all customer-visible componentscustomer-visible components workwork
wellwell
Deals with testing aDeals with testing a unit as a wholeunit as a whole
Test theTest the interaction of many functionsinteraction of many functions butbut confineconfine
the test withinthe test within one unitone unit
Supporting test code, sometimes calledSupporting test code, sometimes called scaffoldingscaffolding,,
may be necessary to support an individual testmay be necessary to support an individual test
Unit TestingUnit Testing
Driven by theDriven by the architecture and implementationarchitecture and implementation
teamsteams
Black-box testingBlack-box testing because only thebecause only the details of thedetails of the
interface are visibleinterface are visible to the testto the test
Limits that areLimits that are globalglobal to a unit are tested hereto a unit are tested here
Application TestingApplication Testing
Make sure the application can completeMake sure the application can complete allall
scenariosscenarios
Driven by scenarios from theDriven by scenarios from the analysis teamanalysis team
Application limits and featuresApplication limits and features are tested hereare tested here
Application TestingApplication Testing
MustMust successfully execute all scenariossuccessfully execute all scenarios before it isbefore it is
ready for general customer availabilityready for general customer availability
Represents theRepresents the bulkbulk of the testing done by the industryof the testing done by the industry
Unlike the internal and unit testing, which areUnlike the internal and unit testing, which are
programmed, these tests are usuallyprogrammed, these tests are usually driven by scriptsdriven by scripts
that run the system with a collection of parameters andthat run the system with a collection of parameters and
collect resultscollect results
Stress TestingStress Testing
Run the application in an environment that isRun the application in an environment that is moremore
stressfulstressful than the target environmentthan the target environment
Deals with theDeals with the qualityquality of the application in theof the application in the
environmentenvironment
Requires a joint effort fromRequires a joint effort from all teamsall teams
Stress TestingStress Testing
Test environment established withTest environment established with many testingmany testing
stationsstations
At each station, aAt each station, a script is executingscript is executing the systemthe system
These scripts are usually based on the regression suiteThese scripts are usually based on the regression suite
More and more stations are added, all simultaneouslyMore and more stations are added, all simultaneously
hammering on the system, until the systemhammering on the system, until the system breaksbreaks
Stress TestingStress Testing
The system is repaired and the stress test is repeatedThe system is repaired and the stress test is repeated
until a level of stress is reached that isuntil a level of stress is reached that is higher thanhigher than
expectedexpected to be present at a customer siteto be present at a customer site
Race conditionsRace conditions andand memory leaksmemory leaks are oftenare often
found under stress testingfound under stress testing
Race ConditionRace Condition
Conflict betweenConflict between at least twoat least two teststests
Each test works correctly when done inEach test works correctly when done in isolationisolation
When the two tests are run in parallel, one or both ofWhen the two tests are run in parallel, one or both of
the teststhe tests failfail
Usually due to anUsually due to an incorrectly managed lockincorrectly managed lock
Memory LeakMemory Leak
Happens when a testHappens when a test leaves allocated memoryleaves allocated memory
behindbehind and does not correctly return the memory toand does not correctly return the memory to
the memory allocation schemethe memory allocation scheme
The test seems to run correctly, but after beingThe test seems to run correctly, but after being
exercised several times,exercised several times, available memory isavailable memory is
reducedreduced until the system failsuntil the system fails
Testing your Web AppsTesting your Web Apps
1.1. ObjectivesObjectives
Establish your testing objectivesEstablish your testing objectives up frontup front and make sureand make sure
that they arethat they are measurablemeasurable
Make sure your objectives areMake sure your objectives are prioritizedprioritized
Ask yourself questions like:Ask yourself questions like:
1.1. ““What is most important:What is most important: minimal defectsminimal defects oror time-to-time-to-
marketmarket?”?”
Testing your Web AppsTesting your Web Apps
2.2. Process and ReportingProcess and Reporting
Make sure that everyone on your testing teamMake sure that everyone on your testing team
knows his or herknows his or her rolerole
WhoWho should reportshould report whatwhat toto whomwhom andand whenwhen??
Define yourDefine your testing processtesting process
Testing your Web AppsTesting your Web Apps
2.2. Process and ReportingProcess and Reporting
Guide questions:Guide questions:
HowHow will issues be reported?will issues be reported?
WhoWho will assign issues?will assign issues?
HowHow will issues be categorized?will issues be categorized?
Testing your Web AppsTesting your Web Apps
2.2. Process and ReportingProcess and Reporting
Guide questions:Guide questions:
WhoWho needsneeds whatwhat report andreport and whenwhen do they need it?do they need it?
2.2. Are team meetings scheduledAre team meetings scheduled in advancein advance or scheduledor scheduled asas
neededneeded??
Organize your team in a way thatOrganize your team in a way that supportssupports your testingyour testing
objectives and takes into account theobjectives and takes into account the individualindividual personalitiespersonalities
on your teamon your team
Testing your Web AppsTesting your Web Apps
3.3. Tracking ResultsTracking Results
You will want a way to easilyYou will want a way to easily store, organize andstore, organize and
distribute informationdistribute information about bugs, issues, andabout bugs, issues, and
defects to the appropriate technical team membersdefects to the appropriate technical team members
You will also need a way toYou will also need a way to keep managementkeep management
informedinformed of the status of your testing effortsof the status of your testing efforts
e.g.e.g. AdminiTrack.comAdminiTrack.com
Testing your Web AppsTesting your Web Apps
4.4. Test EnvironmentTest Environment
Separate from yourSeparate from your developmentdevelopment andand productionproduction
environmentenvironment
Includes aIncludes a separate web server, databaseseparate web server, database
server, and application serverserver, and application server if applicableif applicable
Testing your Web AppsTesting your Web Apps
4.4. Test EnvironmentTest Environment
Create an explicitly defined procedure forCreate an explicitly defined procedure for movingmoving
codecode to and from your test environment and maketo and from your test environment and make
sure the procedure is followedsure the procedure is followed
Work with your development team to make sureWork with your development team to make sure
each new version of source code to be tested iseach new version of source code to be tested is
uniquely identifieduniquely identified
Testing your Web AppsTesting your Web Apps
5.5. Usability TestingUsability Testing
Looking at aspects of your web application that affect theLooking at aspects of your web application that affect the
user’s experienceuser’s experience
Guide questions:Guide questions:
HowHow easyeasy is it to navigate through your web application?is it to navigate through your web application?
Is itIs it obviousobvious to the user which actions are available to himto the user which actions are available to him
or her?or her?
Testing your Web AppsTesting your Web Apps
5.5. Usability TestingUsability Testing
Guide questions:Guide questions:
Is the look-and-feel of your web applicationIs the look-and-feel of your web application consistentconsistent
from page to page, including font sizes and colorsfrom page to page, including font sizes and colors
Design forDesign for accessibilityaccessibility especially if it is a legalespecially if it is a legal
requirementrequirement
http://www.w3.org/TR/AERThttp://www.w3.org/TR/AERT
Testing your Web AppsTesting your Web Apps
6.6. Unit TestingUnit Testing
Focused on verifyingFocused on verifying smallsmall portions of functionalityportions of functionality
e.g. range checkinge.g. range checking
Testing your Web AppsTesting your Web Apps
7.7. Verifying the HTMLVerifying the HTML
World Wide Web ConsortiumWorld Wide Web Consortium's free HTML's free HTML
Validation ServiceValidation Service
http://validator.w3.orghttp://validator.w3.org
Net MechanicNet Mechanic
http://www.netmechanic.comhttp://www.netmechanic.com
Testing your Web AppsTesting your Web Apps
7.7. Verifying the HTMLVerifying the HTML
Make sure that your syntax is correctMake sure that your syntax is correct
Opening and closing tags matchOpening and closing tags match
Testing your Web AppsTesting your Web Apps
7.7. Verifying the HTMLVerifying the HTML
Verify how your pagesVerify how your pages looklook inin different browsers, atdifferent browsers, at
different screen resolutionsdifferent screen resolutions, and on, and on differentdifferent
operating systemsoperating systems
Create aCreate a profileprofile of your target audience and makeof your target audience and make
some decision on what browsers you will support, onsome decision on what browsers you will support, on
which operating systems, and at what screen resolutionswhich operating systems, and at what screen resolutions
Testing your Web AppsTesting your Web Apps
8.8. Load TestingLoad Testing
You want to simulate how users will use your webYou want to simulate how users will use your web
application in theapplication in the real worldreal world
TheThe earlierearlier you perform the load testing the betteryou perform the load testing the better
Performance tuningPerformance tuning should be tightly integratedshould be tightly integrated
with the design of your applicationwith the design of your application
Testing your Web AppsTesting your Web Apps
8.8. Load TestingLoad Testing
Try to make sure that all of your pages load inTry to make sure that all of your pages load in 1515
seconds or lessseconds or less
Depends on yourDepends on your particular applicationparticular application and theand the
expectations of the people using itexpectations of the people using it
Testing your Web AppsTesting your Web Apps
9.9. User Acceptance Testing (UAT)User Acceptance Testing (UAT)
You are making sure your web applicationYou are making sure your web application fitsfits thethe
use which it was intendeduse which it was intended
One way is to set up aOne way is to set up a beta testbeta test
Testing your Web AppsTesting your Web Apps
10.10. Testing SecurityTesting Security
You need to test howYou need to test how securesecure your web applicationyour web application
is from bothis from both externalexternal andand internalinternal threatsthreats
Should be planned for and verified byShould be planned for and verified by qualityquality
security specialistssecurity specialists
Testing your Web AppsTesting your Web Apps
10.10. Testing SecurityTesting Security
Additional resources:Additional resources:
CERT Coordination CenterCERT Coordination Center
http://www.cert.org/http://www.cert.org/
Computer Security Resource CenterComputer Security Resource Center
http://csrc.nist.gov/http://csrc.nist.gov/
Testing your Web AppsTesting your Web Apps
10.10. Testing SecurityTesting Security
Make sure to also performMake sure to also perform ongoing securityongoing security
auditsaudits to ensure your web application remainsto ensure your web application remains
secure over time as people and technology changesecure over time as people and technology change
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
1.1. Goal is not to find errors but to understand theGoal is not to find errors but to understand the
qualityquality of your offeringof your offering
Does itDoes it workwork??
Does it functionDoes it function as expectedas expected??
Will it meet theWill it meet the needsneeds of your users, so that theyof your users, so that they
come back again and again?come back again and again?
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
2.2. Mobile Testing for Native ApplicationsMobile Testing for Native Applications
The app download is often controlled by theThe app download is often controlled by the gate-gate-
keeping app storekeeping app store, with mechanisms in place to, with mechanisms in place to
charge potential consumerscharge potential consumers
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
2.2. Mobile Testing for Native ApplicationsMobile Testing for Native Applications
Needs to ascertain that the app can beNeeds to ascertain that the app can be successfullysuccessfully
downloadeddownloaded to the device,to the device, executedexecuted on the device andon the device and
interactinteract with the supporting back content infrastructurewith the supporting back content infrastructure
When updates are made, you need to be sure that theWhen updates are made, you need to be sure that the
application can beapplication can be pushed out topushed out to andand acceptedaccepted by theby the
end userend user
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
2.2. Mobile Testing for Native ApplicationsMobile Testing for Native Applications
Tied to the hip with theTied to the hip with the hardwarehardware andand operatingoperating
systemssystems for which they are writtenfor which they are written
Test on theTest on the physical devicesphysical devices supported by yoursupported by your
applicationapplication
EnsureEnsure backward compatibilitybackward compatibility with each olderwith each older
generation of the device you are expected to supportgeneration of the device you are expected to support
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
2.2. Mobile Testing for Native ApplicationsMobile Testing for Native Applications
Ensure that when issues are found with your nativeEnsure that when issues are found with your native
apps, they can beapps, they can be quickly capturedquickly captured andand sharedshared
with otherswith others
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
3.3. Mobile Testing Challenges for Web ApplicationsMobile Testing Challenges for Web Applications
Understand theUnderstand the globalglobal dynamicdynamic
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
There areThere are potentially tens of thousands ofpotentially tens of thousands of
different client devicesdifferent client devices that could be used tothat could be used to
access your mobile app or website, and they mustaccess your mobile app or website, and they must
therefore all be considered when testing your mobiletherefore all be considered when testing your mobile
applicationsapplications
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
Can beCan be reducedreduced to an extent, but each time youto an extent, but each time you
reduce the number of device types that you testreduce the number of device types that you test
against, you are taking a chance that your applicationagainst, you are taking a chance that your application
might not workmight not work on a device, locking out a number ofon a device, locking out a number of
potential consumerspotential consumers
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
3 options:3 options:
Test exclusively usingTest exclusively using realreal devicesdevices
Test exclusively withTest exclusively with emulatedemulated devicesdevices
Use aUse a combinationcombination of eachof each
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
Test exclusively usingTest exclusively using realreal devicesdevices
Have the advantage of having all theHave the advantage of having all the limitationslimitations
andand quirksquirks present in the actual client hardware andpresent in the actual client hardware and
firmware combination in the hands of your targetfirmware combination in the hands of your target
consumersconsumers
Can beCan be expensiveexpensive
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
Test exclusively usingTest exclusively using realreal devicesdevices
Can beCan be disorganizeddisorganized andand labor-intensivelabor-intensive if theif the
testing environment is not conducive to creating,testing environment is not conducive to creating,
collecting and reproducing results in a consistentcollecting and reproducing results in a consistent
mannermanner
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
Test exclusively usingTest exclusively using emulatedemulated devicesdevices
RelativelyRelatively easiereasier to manageto manage
You can switch device types by simplyYou can switch device types by simply loading aloading a
new device profilenew device profile
4.4. Run on moreRun on more powerful PCspowerful PCs andand serversservers
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
Test exclusively usingTest exclusively using emulatedemulated devicesdevices
Were designed forWere designed for testingtesting in mindin mind
TypicallyTypically fully instrumentedfully instrumented to capture detailedto capture detailed
diagnostics about the protocols that go back and forthdiagnostics about the protocols that go back and forth
between client and server at the various levels of thebetween client and server at the various levels of the
application stackapplication stack
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
Test exclusively usingTest exclusively using emulatedemulated devicesdevices
Cost effectiveCost effective because a single platform with frequentbecause a single platform with frequent
updates of device profiles can be used to test every deviceupdates of device profiles can be used to test every device
on the market both today and tomorrowon the market both today and tomorrow
Big disadvantage is that they lack theBig disadvantage is that they lack the quirks, faultsquirks, faults andand
characteristicscharacteristics that only the real device can providethat only the real device can provide
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
Test exclusively usingTest exclusively using emulatedemulated devicesdevices
May not give theMay not give the pixel-perfect accurate renderingpixel-perfect accurate rendering that youthat you
are assured to have with a real device solutionare assured to have with a real device solution
Processing power of a local PC canProcessing power of a local PC can hidehide any issues that youany issues that you
may have with themay have with the responsivenessresponsiveness of your web applicationof your web application
Not sensitiveNot sensitive to theto the ambient conditionsambient conditions that can impact thethat can impact the
behaviour of the devicebehaviour of the device
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge
Use aUse a combinationcombination of eachof each
Start testing in an emulated environment to take advantage of theStart testing in an emulated environment to take advantage of the
speedspeed andand device diversitydevice diversity that an emulator can providethat an emulator can provide
Add real devicesAdd real devices into your test plan later in the developmentinto your test plan later in the development
cycle so you can validate the applications are functioning ascycle so you can validate the applications are functioning as
expected and certify that all development requirements andexpected and certify that all development requirements and
objectives have been metobjectives have been met
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
5.5. Network: A Regional ChallengeNetwork: A Regional Challenge
Each mobile operator mayEach mobile operator may support multiple networksupport multiple network
technologiestechnologies including LTE, CDMA, GSM, and some use lessincluding LTE, CDMA, GSM, and some use less
common or local networking standards such as iDEN, FOMA,common or local networking standards such as iDEN, FOMA,
and TD-SCDMAand TD-SCDMA
Each network has a unique combination of networkEach network has a unique combination of network
infrastructure thatinfrastructure that tunnels the packet-based protocolstunnels the packet-based protocols usedused
by mobile networks into TCP-IP protocols used by the mobileby mobile networks into TCP-IP protocols used by the mobile
WebWeb
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
5.5. Network: A Regional ChallengeNetwork: A Regional Challenge
When implemented, canWhen implemented, can restrictrestrict the flow ofthe flow of
information that travels between your server and theinformation that travels between your server and the
test clienttest client
Some limit the sites that can be accessed via a phoneSome limit the sites that can be accessed via a phone
to only those approved by the operator (“to only those approved by the operator (“walledwalled
gardengarden”)”)
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
5.5. Network: A Regional ChallengeNetwork: A Regional Challenge
Others might use “Others might use “transcodingtranscoding” in an attempt to scale” in an attempt to scale
down fixed Web content to better fit onto mobile phones,down fixed Web content to better fit onto mobile phones,
thus expanding the number of mobile sites that can bethus expanding the number of mobile sites that can be
seenseen
SomeSome strip vital informationstrip vital information from the HTTP headersfrom the HTTP headers
that your application might depend on to providethat your application might depend on to provide
functionality or to provide device adaptationfunctionality or to provide device adaptation
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
5.5. Network: A Regional ChallengeNetwork: A Regional Challenge
To fully test the full network stack on a particularTo fully test the full network stack on a particular
operator’s network infrastructure, you must beoperator’s network infrastructure, you must be
connected to the target networkconnected to the target network
Traveling to every network operator that you need toTraveling to every network operator that you need to
support can besupport can be very expensivevery expensive
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
5.5. Network: A Regional ChallengeNetwork: A Regional Challenge
We canWe can bypassbypass the lower layers of the network andthe lower layers of the network and
simply test over the Internet or LANsimply test over the Internet or LAN
You useYou use TCP/IPTCP/IP to connect directly to the serverto connect directly to the server
and youand you ignoreignore the GPRS tunnelling systems used bythe GPRS tunnelling systems used by
network operatorsnetwork operators
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
5.5. Network: A Regional ChallengeNetwork: A Regional Challenge
You will need to use aYou will need to use a device simulatordevice simulator to perform theto perform the
bypassbypass
Advantage is that you willAdvantage is that you will not need to usenot need to use andand thus pay forthus pay for
airtimeairtime
Disadvantages are that is that we oftenDisadvantages are that is that we often cannot emulatecannot emulate thethe
effects and timing of the network and the various networkeffects and timing of the network and the various network
elements such as proxieselements such as proxies
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
5.5. Network: A Regional ChallengeNetwork: A Regional Challenge
We can use theWe can use the real networkreal network by using either phones orby using either phones or
modemsmodems
Many device emulatorsMany device emulators support modemssupport modems that allow youthat allow you
to use your emulated devices on the local networkto use your emulated devices on the local network
But again, there is the cost ofBut again, there is the cost of travelingtraveling into range of theinto range of the
networknetwork
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
5.5. Network: A Regional ChallengeNetwork: A Regional Challenge
One piece of useful test equipment is aOne piece of useful test equipment is a real device in thereal device in the
cloudcloud
Consists of aConsists of a physical handsetphysical handset mounted in a remote box withmounted in a remote box with
aa remote control unitremote control unit and aand a remote antennaremote antenna
The remote control unit is physically connected to theThe remote control unit is physically connected to the device’sdevice’s
screen and keypad control circuitsscreen and keypad control circuits and is capable ofand is capable of
pressing keys and collecting screen imagespressing keys and collecting screen images
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
5.5. Network: A Regional ChallengeNetwork: A Regional Challenge
Often have the ability toOften have the ability to record a testrecord a test for subsequentfor subsequent
replayreplay
Reduce theReduce the cost of travelcost of travel to foreign networksto foreign networks
Most of the companies that make this type of equipmentMost of the companies that make this type of equipment
offer the ability to “offer the ability to “rentrent” testing time on a resource that is” testing time on a resource that is
shared with others and is managed for youshared with others and is managed for you
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
6.6. Scripting: The Repeatability ChallengeScripting: The Repeatability Challenge
The method that is actually used toThe method that is actually used to execute the test scriptexecute the test script
Script execution can either beScript execution can either be manualmanual oror automatedautomated
You either write down the scripts in a document or aYou either write down the scripts in a document or a
spreadsheet, which is then used by a test engineer whospreadsheet, which is then used by a test engineer who
manually enters keystrokesmanually enters keystrokes, or you, or you run automatedrun automated
scriptsscripts that in turn evoke the keystrokes and record thethat in turn evoke the keystrokes and record the
resultsresults
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
6.6. Scripting: The Repeatability ChallengeScripting: The Repeatability Challenge
Most emulators are capable of automating testMost emulators are capable of automating test
execution using aexecution using a higher-level, abstract scriptinghigher-level, abstract scripting
languagelanguage that is not device dependentthat is not device dependent
Many automated scripting tools have a special abilityMany automated scripting tools have a special ability
to “to “spiderspider” or “” or “crawlcrawl” a mobile Web site” a mobile Web site
Testing Strategy and TacticsTesting Strategy and Tactics
for Mobile Applicationsfor Mobile Applications
7.7. SummarySummary
Invest in aInvest in a device emulatordevice emulator
Take advantage ofTake advantage of remote real devices in theremote real devices in the
cloudcloud
AutomateAutomate wherever possiblewherever possible
SummarySummary
7.7. SummarySummary
Invest in aInvest in a device emulatordevice emulator
Take advantage ofTake advantage of remote real devices in theremote real devices in the
cloudcloud
AutomateAutomate wherever possiblewherever possible
SummarySummary
The Testing PhaseThe Testing Phase
Regression TestRegression Test
Internal TestingInternal Testing
Unit TestingUnit Testing
Application TestingApplication Testing
Stress TestingStress Testing
SummarySummary
Testing your Web AppsTesting your Web Apps
ObjectivesObjectives
Process and ReportingProcess and Reporting
Tracking ResultsTracking Results
Test EnvironmentTest Environment
Usability TestingUsability Testing
SummarySummary
Testing your Web AppsTesting your Web Apps
Unit TestingUnit Testing
Verifying the HTMLVerifying the HTML
Load TestingLoad Testing
User Acceptance Test (UAT)User Acceptance Test (UAT)
Testing SecurityTesting Security
SummarySummary
Testing Strategies and Tactics for Mobile ApplicationsTesting Strategies and Tactics for Mobile Applications
ReferencesReferences
ReferencesReferences
The Testing PhaseThe Testing Phase
http://infolab.stanford.edu/~burback/watersluice/node19.htmlhttp://infolab.stanford.edu/~burback/watersluice/node19.html
10 Tips for Testing Apps for the Real World10 Tips for Testing Apps for the Real World
http://www.techrepublic.com/blog/10-things/10-tips-for-testing-apps-for-the-real-world/#http://www.techrepublic.com/blog/10-things/10-tips-for-testing-apps-for-the-real-world/#
Testing your Web AppsTesting your Web Apps
http://www.adminitrack.com/articles/TestingYourWebApps.aspxhttp://www.adminitrack.com/articles/TestingYourWebApps.aspx
Web UsabilityWeb Usability
"Don't Make Me Think! A Common Sense Approach to Web Usability" by Steve Krug and Roger Black"Don't Make Me Think! A Common Sense Approach to Web Usability" by Steve Krug and Roger Black
Testing Strategies and Tactics for Mobile ApplicationsTesting Strategies and Tactics for Mobile Applications
http://www.keynote.com/mobile-app-testing.htmlhttp://www.keynote.com/mobile-app-testing.html

Mais conteúdo relacionado

Mais procurados

Configuration testing
Configuration testingConfiguration testing
Configuration testing
Robin0590
 
Learn software testing with tech partnerz 1
Learn software testing with tech partnerz 1Learn software testing with tech partnerz 1
Learn software testing with tech partnerz 1
Techpartnerz
 
Test Case Management with MTM 2013
Test Case Management with MTM 2013Test Case Management with MTM 2013
Test Case Management with MTM 2013
Raluca Suditu
 
Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2
Techpartnerz
 
QTP Tutorial
QTP TutorialQTP Tutorial
QTP Tutorial
pingkapil
 
Assessing System Validation Requirements for Oracle Health Sciences iPatches ...
Assessing System Validation Requirements for Oracle Health Sciences iPatches ...Assessing System Validation Requirements for Oracle Health Sciences iPatches ...
Assessing System Validation Requirements for Oracle Health Sciences iPatches ...
Perficient
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
Srikanth Krishnamoorthy
 
St & internationalization
St & internationalizationSt & internationalization
St & internationalization
Sachin MK
 

Mais procurados (20)

Testing in TFS
Testing in TFSTesting in TFS
Testing in TFS
 
Configuration testing
Configuration testingConfiguration testing
Configuration testing
 
Configuration testing
Configuration testingConfiguration testing
Configuration testing
 
Learn software testing with tech partnerz 1
Learn software testing with tech partnerz 1Learn software testing with tech partnerz 1
Learn software testing with tech partnerz 1
 
Automated testing-whitepaper
Automated testing-whitepaperAutomated testing-whitepaper
Automated testing-whitepaper
 
Testing
Testing Testing
Testing
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Test Case Management with MTM 2013
Test Case Management with MTM 2013Test Case Management with MTM 2013
Test Case Management with MTM 2013
 
Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2
 
Software reliability
Software reliabilitySoftware reliability
Software reliability
 
QTP Tutorial
QTP TutorialQTP Tutorial
QTP Tutorial
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and Planning
 
Assessing System Validation Requirements for Oracle Health Sciences iPatches ...
Assessing System Validation Requirements for Oracle Health Sciences iPatches ...Assessing System Validation Requirements for Oracle Health Sciences iPatches ...
Assessing System Validation Requirements for Oracle Health Sciences iPatches ...
 
software engineering
software engineeringsoftware engineering
software engineering
 
Обеспечение качества проектов средствами VSTS 2010
Обеспечение качества проектов средствами VSTS 2010Обеспечение качества проектов средствами VSTS 2010
Обеспечение качества проектов средствами VSTS 2010
 
Efficient And Effective Test Design
Efficient And Effective Test DesignEfficient And Effective Test Design
Efficient And Effective Test Design
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
 
St & internationalization
St & internationalizationSt & internationalization
St & internationalization
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6
 
Unit Testing vs Integration Testing
Unit Testing vs Integration TestingUnit Testing vs Integration Testing
Unit Testing vs Integration Testing
 

Semelhante a Application Testing

TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
suhasreddy1
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
nazeer pasha
 
Unit testing php-unit - phing - selenium_v2
Unit testing   php-unit - phing - selenium_v2Unit testing   php-unit - phing - selenium_v2
Unit testing php-unit - phing - selenium_v2
Tricode (part of Dept)
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
FAIZALSAIYED
 

Semelhante a Application Testing (20)

Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating
 
Unit testing php-unit - phing - selenium_v2
Unit testing   php-unit - phing - selenium_v2Unit testing   php-unit - phing - selenium_v2
Unit testing php-unit - phing - selenium_v2
 
Testing methodology
Testing methodologyTesting methodology
Testing methodology
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Introduction to testing.
Introduction to testing.Introduction to testing.
Introduction to testing.
 
Software testing
Software testingSoftware testing
Software testing
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
Testing frameworks
Testing frameworksTesting frameworks
Testing frameworks
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Testing concept definition
Testing concept definitionTesting concept definition
Testing concept definition
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
 
Software test proposal
Software test proposalSoftware test proposal
Software test proposal
 
Software testing2
Software testing2Software testing2
Software testing2
 
Software testing
Software testingSoftware testing
Software testing
 

Mais de Reggie Niccolo Santos

Mais de Reggie Niccolo Santos (15)

Securing PHP Applications
Securing PHP ApplicationsSecuring PHP Applications
Securing PHP Applications
 
Introduction to Web 2.0
Introduction to Web 2.0Introduction to Web 2.0
Introduction to Web 2.0
 
UI / UX Engineering for Web Applications
UI / UX Engineering for Web ApplicationsUI / UX Engineering for Web Applications
UI / UX Engineering for Web Applications
 
Computability - Tractable, Intractable and Non-computable Function
Computability - Tractable, Intractable and Non-computable FunctionComputability - Tractable, Intractable and Non-computable Function
Computability - Tractable, Intractable and Non-computable Function
 
Algorithms - Aaron Bloomfield
Algorithms - Aaron BloomfieldAlgorithms - Aaron Bloomfield
Algorithms - Aaron Bloomfield
 
Program Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State UniversityProgram Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State University
 
Abstract Data Types
Abstract Data TypesAbstract Data Types
Abstract Data Types
 
Computational Thinking and Data Representations
Computational Thinking and Data RepresentationsComputational Thinking and Data Representations
Computational Thinking and Data Representations
 
Number Systems
Number SystemsNumber Systems
Number Systems
 
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
 
Application Security
Application SecurityApplication Security
Application Security
 
PHP MVC
PHP MVCPHP MVC
PHP MVC
 
MySQL Transactions
MySQL TransactionsMySQL Transactions
MySQL Transactions
 
MySQL Cursors
MySQL CursorsMySQL Cursors
MySQL Cursors
 
MySQL Views
MySQL ViewsMySQL Views
MySQL Views
 

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Último (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

Application Testing

  • 1. Application TestingApplication Testing Reggie Niccolo SantosReggie Niccolo Santos UP ITDCUP ITDC
  • 2. OutlineOutline The Testing PhaseThe Testing Phase Testing your Web AppsTesting your Web Apps Testing Strategies and Tactics for Mobile ApplicationsTesting Strategies and Tactics for Mobile Applications ReferencesReferences
  • 3. The Testing PhaseThe Testing Phase In many software engineering methodologies, aIn many software engineering methodologies, a separateseparate phase performed by aphase performed by a differentdifferent team afterteam after the implementation is completedthe implementation is completed
  • 4. The Testing PhaseThe Testing Phase Regression TestRegression Test Internal TestingInternal Testing Unit TestingUnit Testing Application TestingApplication Testing Stress TestingStress Testing
  • 5. Regression TestRegression Test Form aForm a suitesuite of programs that test one or moreof programs that test one or more featuresfeatures ofof the systemthe system A valid regression test generatesA valid regression test generates verified resultsverified results ““gold standardgold standard”” Validity driven by the rValidity driven by the requirement documentequirement document In practice, theIn practice, the implementation teamimplementation team is responsibleis responsible for validity interpretationfor validity interpretation
  • 6. Regression TestRegression Test As development continues, more tests are added, while oldAs development continues, more tests are added, while old tests may remain validtests may remain valid Because of new development, an old test may no longerBecause of new development, an old test may no longer be validbe valid If this is the case, the old test results areIf this is the case, the old test results are alteredaltered in thein the “gold standard” to“gold standard” to matchmatch the current expectationsthe current expectations The test suite is run generating new resultsThe test suite is run generating new results
  • 7. Internal TestingInternal Testing Make sure allMake sure all internal, non-customer-visibleinternal, non-customer-visible componentscomponents work wellwork well Deals withDeals with low-levellow-level implementationimplementation EachEach functionfunction oror componentcomponent is testedis tested Accomplished by theAccomplished by the implementation teamsimplementation teams
  • 8. Internal TestingInternal Testing Clear-box/white-box testingClear-box/white-box testing All details areAll details are visiblevisible to the testto the test Internal limitsInternal limits are tested hereare tested here
  • 9. Unit TestingUnit Testing Make sure allMake sure all customer-visible componentscustomer-visible components workwork wellwell Deals with testing aDeals with testing a unit as a wholeunit as a whole Test theTest the interaction of many functionsinteraction of many functions butbut confineconfine the test withinthe test within one unitone unit Supporting test code, sometimes calledSupporting test code, sometimes called scaffoldingscaffolding,, may be necessary to support an individual testmay be necessary to support an individual test
  • 10. Unit TestingUnit Testing Driven by theDriven by the architecture and implementationarchitecture and implementation teamsteams Black-box testingBlack-box testing because only thebecause only the details of thedetails of the interface are visibleinterface are visible to the testto the test Limits that areLimits that are globalglobal to a unit are tested hereto a unit are tested here
  • 11. Application TestingApplication Testing Make sure the application can completeMake sure the application can complete allall scenariosscenarios Driven by scenarios from theDriven by scenarios from the analysis teamanalysis team Application limits and featuresApplication limits and features are tested hereare tested here
  • 12. Application TestingApplication Testing MustMust successfully execute all scenariossuccessfully execute all scenarios before it isbefore it is ready for general customer availabilityready for general customer availability Represents theRepresents the bulkbulk of the testing done by the industryof the testing done by the industry Unlike the internal and unit testing, which areUnlike the internal and unit testing, which are programmed, these tests are usuallyprogrammed, these tests are usually driven by scriptsdriven by scripts that run the system with a collection of parameters andthat run the system with a collection of parameters and collect resultscollect results
  • 13. Stress TestingStress Testing Run the application in an environment that isRun the application in an environment that is moremore stressfulstressful than the target environmentthan the target environment Deals with theDeals with the qualityquality of the application in theof the application in the environmentenvironment Requires a joint effort fromRequires a joint effort from all teamsall teams
  • 14. Stress TestingStress Testing Test environment established withTest environment established with many testingmany testing stationsstations At each station, aAt each station, a script is executingscript is executing the systemthe system These scripts are usually based on the regression suiteThese scripts are usually based on the regression suite More and more stations are added, all simultaneouslyMore and more stations are added, all simultaneously hammering on the system, until the systemhammering on the system, until the system breaksbreaks
  • 15. Stress TestingStress Testing The system is repaired and the stress test is repeatedThe system is repaired and the stress test is repeated until a level of stress is reached that isuntil a level of stress is reached that is higher thanhigher than expectedexpected to be present at a customer siteto be present at a customer site Race conditionsRace conditions andand memory leaksmemory leaks are oftenare often found under stress testingfound under stress testing
  • 16. Race ConditionRace Condition Conflict betweenConflict between at least twoat least two teststests Each test works correctly when done inEach test works correctly when done in isolationisolation When the two tests are run in parallel, one or both ofWhen the two tests are run in parallel, one or both of the teststhe tests failfail Usually due to anUsually due to an incorrectly managed lockincorrectly managed lock
  • 17. Memory LeakMemory Leak Happens when a testHappens when a test leaves allocated memoryleaves allocated memory behindbehind and does not correctly return the memory toand does not correctly return the memory to the memory allocation schemethe memory allocation scheme The test seems to run correctly, but after beingThe test seems to run correctly, but after being exercised several times,exercised several times, available memory isavailable memory is reducedreduced until the system failsuntil the system fails
  • 18. Testing your Web AppsTesting your Web Apps 1.1. ObjectivesObjectives Establish your testing objectivesEstablish your testing objectives up frontup front and make sureand make sure that they arethat they are measurablemeasurable Make sure your objectives areMake sure your objectives are prioritizedprioritized Ask yourself questions like:Ask yourself questions like: 1.1. ““What is most important:What is most important: minimal defectsminimal defects oror time-to-time-to- marketmarket?”?”
  • 19. Testing your Web AppsTesting your Web Apps 2.2. Process and ReportingProcess and Reporting Make sure that everyone on your testing teamMake sure that everyone on your testing team knows his or herknows his or her rolerole WhoWho should reportshould report whatwhat toto whomwhom andand whenwhen?? Define yourDefine your testing processtesting process
  • 20. Testing your Web AppsTesting your Web Apps 2.2. Process and ReportingProcess and Reporting Guide questions:Guide questions: HowHow will issues be reported?will issues be reported? WhoWho will assign issues?will assign issues? HowHow will issues be categorized?will issues be categorized?
  • 21. Testing your Web AppsTesting your Web Apps 2.2. Process and ReportingProcess and Reporting Guide questions:Guide questions: WhoWho needsneeds whatwhat report andreport and whenwhen do they need it?do they need it? 2.2. Are team meetings scheduledAre team meetings scheduled in advancein advance or scheduledor scheduled asas neededneeded?? Organize your team in a way thatOrganize your team in a way that supportssupports your testingyour testing objectives and takes into account theobjectives and takes into account the individualindividual personalitiespersonalities on your teamon your team
  • 22. Testing your Web AppsTesting your Web Apps 3.3. Tracking ResultsTracking Results You will want a way to easilyYou will want a way to easily store, organize andstore, organize and distribute informationdistribute information about bugs, issues, andabout bugs, issues, and defects to the appropriate technical team membersdefects to the appropriate technical team members You will also need a way toYou will also need a way to keep managementkeep management informedinformed of the status of your testing effortsof the status of your testing efforts e.g.e.g. AdminiTrack.comAdminiTrack.com
  • 23. Testing your Web AppsTesting your Web Apps 4.4. Test EnvironmentTest Environment Separate from yourSeparate from your developmentdevelopment andand productionproduction environmentenvironment Includes aIncludes a separate web server, databaseseparate web server, database server, and application serverserver, and application server if applicableif applicable
  • 24. Testing your Web AppsTesting your Web Apps 4.4. Test EnvironmentTest Environment Create an explicitly defined procedure forCreate an explicitly defined procedure for movingmoving codecode to and from your test environment and maketo and from your test environment and make sure the procedure is followedsure the procedure is followed Work with your development team to make sureWork with your development team to make sure each new version of source code to be tested iseach new version of source code to be tested is uniquely identifieduniquely identified
  • 25. Testing your Web AppsTesting your Web Apps 5.5. Usability TestingUsability Testing Looking at aspects of your web application that affect theLooking at aspects of your web application that affect the user’s experienceuser’s experience Guide questions:Guide questions: HowHow easyeasy is it to navigate through your web application?is it to navigate through your web application? Is itIs it obviousobvious to the user which actions are available to himto the user which actions are available to him or her?or her?
  • 26. Testing your Web AppsTesting your Web Apps 5.5. Usability TestingUsability Testing Guide questions:Guide questions: Is the look-and-feel of your web applicationIs the look-and-feel of your web application consistentconsistent from page to page, including font sizes and colorsfrom page to page, including font sizes and colors Design forDesign for accessibilityaccessibility especially if it is a legalespecially if it is a legal requirementrequirement http://www.w3.org/TR/AERThttp://www.w3.org/TR/AERT
  • 27. Testing your Web AppsTesting your Web Apps 6.6. Unit TestingUnit Testing Focused on verifyingFocused on verifying smallsmall portions of functionalityportions of functionality e.g. range checkinge.g. range checking
  • 28. Testing your Web AppsTesting your Web Apps 7.7. Verifying the HTMLVerifying the HTML World Wide Web ConsortiumWorld Wide Web Consortium's free HTML's free HTML Validation ServiceValidation Service http://validator.w3.orghttp://validator.w3.org Net MechanicNet Mechanic http://www.netmechanic.comhttp://www.netmechanic.com
  • 29. Testing your Web AppsTesting your Web Apps 7.7. Verifying the HTMLVerifying the HTML Make sure that your syntax is correctMake sure that your syntax is correct Opening and closing tags matchOpening and closing tags match
  • 30. Testing your Web AppsTesting your Web Apps 7.7. Verifying the HTMLVerifying the HTML Verify how your pagesVerify how your pages looklook inin different browsers, atdifferent browsers, at different screen resolutionsdifferent screen resolutions, and on, and on differentdifferent operating systemsoperating systems Create aCreate a profileprofile of your target audience and makeof your target audience and make some decision on what browsers you will support, onsome decision on what browsers you will support, on which operating systems, and at what screen resolutionswhich operating systems, and at what screen resolutions
  • 31. Testing your Web AppsTesting your Web Apps 8.8. Load TestingLoad Testing You want to simulate how users will use your webYou want to simulate how users will use your web application in theapplication in the real worldreal world TheThe earlierearlier you perform the load testing the betteryou perform the load testing the better Performance tuningPerformance tuning should be tightly integratedshould be tightly integrated with the design of your applicationwith the design of your application
  • 32. Testing your Web AppsTesting your Web Apps 8.8. Load TestingLoad Testing Try to make sure that all of your pages load inTry to make sure that all of your pages load in 1515 seconds or lessseconds or less Depends on yourDepends on your particular applicationparticular application and theand the expectations of the people using itexpectations of the people using it
  • 33. Testing your Web AppsTesting your Web Apps 9.9. User Acceptance Testing (UAT)User Acceptance Testing (UAT) You are making sure your web applicationYou are making sure your web application fitsfits thethe use which it was intendeduse which it was intended One way is to set up aOne way is to set up a beta testbeta test
  • 34. Testing your Web AppsTesting your Web Apps 10.10. Testing SecurityTesting Security You need to test howYou need to test how securesecure your web applicationyour web application is from bothis from both externalexternal andand internalinternal threatsthreats Should be planned for and verified byShould be planned for and verified by qualityquality security specialistssecurity specialists
  • 35. Testing your Web AppsTesting your Web Apps 10.10. Testing SecurityTesting Security Additional resources:Additional resources: CERT Coordination CenterCERT Coordination Center http://www.cert.org/http://www.cert.org/ Computer Security Resource CenterComputer Security Resource Center http://csrc.nist.gov/http://csrc.nist.gov/
  • 36. Testing your Web AppsTesting your Web Apps 10.10. Testing SecurityTesting Security Make sure to also performMake sure to also perform ongoing securityongoing security auditsaudits to ensure your web application remainsto ensure your web application remains secure over time as people and technology changesecure over time as people and technology change
  • 37. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 1.1. Goal is not to find errors but to understand theGoal is not to find errors but to understand the qualityquality of your offeringof your offering Does itDoes it workwork?? Does it functionDoes it function as expectedas expected?? Will it meet theWill it meet the needsneeds of your users, so that theyof your users, so that they come back again and again?come back again and again?
  • 38. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 2.2. Mobile Testing for Native ApplicationsMobile Testing for Native Applications The app download is often controlled by theThe app download is often controlled by the gate-gate- keeping app storekeeping app store, with mechanisms in place to, with mechanisms in place to charge potential consumerscharge potential consumers
  • 39. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 2.2. Mobile Testing for Native ApplicationsMobile Testing for Native Applications Needs to ascertain that the app can beNeeds to ascertain that the app can be successfullysuccessfully downloadeddownloaded to the device,to the device, executedexecuted on the device andon the device and interactinteract with the supporting back content infrastructurewith the supporting back content infrastructure When updates are made, you need to be sure that theWhen updates are made, you need to be sure that the application can beapplication can be pushed out topushed out to andand acceptedaccepted by theby the end userend user
  • 40. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 2.2. Mobile Testing for Native ApplicationsMobile Testing for Native Applications Tied to the hip with theTied to the hip with the hardwarehardware andand operatingoperating systemssystems for which they are writtenfor which they are written Test on theTest on the physical devicesphysical devices supported by yoursupported by your applicationapplication EnsureEnsure backward compatibilitybackward compatibility with each olderwith each older generation of the device you are expected to supportgeneration of the device you are expected to support
  • 41. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 2.2. Mobile Testing for Native ApplicationsMobile Testing for Native Applications Ensure that when issues are found with your nativeEnsure that when issues are found with your native apps, they can beapps, they can be quickly capturedquickly captured andand sharedshared with otherswith others
  • 42. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 3.3. Mobile Testing Challenges for Web ApplicationsMobile Testing Challenges for Web Applications Understand theUnderstand the globalglobal dynamicdynamic
  • 43. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge There areThere are potentially tens of thousands ofpotentially tens of thousands of different client devicesdifferent client devices that could be used tothat could be used to access your mobile app or website, and they mustaccess your mobile app or website, and they must therefore all be considered when testing your mobiletherefore all be considered when testing your mobile applicationsapplications
  • 44. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge Can beCan be reducedreduced to an extent, but each time youto an extent, but each time you reduce the number of device types that you testreduce the number of device types that you test against, you are taking a chance that your applicationagainst, you are taking a chance that your application might not workmight not work on a device, locking out a number ofon a device, locking out a number of potential consumerspotential consumers
  • 45. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge 3 options:3 options: Test exclusively usingTest exclusively using realreal devicesdevices Test exclusively withTest exclusively with emulatedemulated devicesdevices Use aUse a combinationcombination of eachof each
  • 46. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge Test exclusively usingTest exclusively using realreal devicesdevices Have the advantage of having all theHave the advantage of having all the limitationslimitations andand quirksquirks present in the actual client hardware andpresent in the actual client hardware and firmware combination in the hands of your targetfirmware combination in the hands of your target consumersconsumers Can beCan be expensiveexpensive
  • 47. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge Test exclusively usingTest exclusively using realreal devicesdevices Can beCan be disorganizeddisorganized andand labor-intensivelabor-intensive if theif the testing environment is not conducive to creating,testing environment is not conducive to creating, collecting and reproducing results in a consistentcollecting and reproducing results in a consistent mannermanner
  • 48. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge Test exclusively usingTest exclusively using emulatedemulated devicesdevices RelativelyRelatively easiereasier to manageto manage You can switch device types by simplyYou can switch device types by simply loading aloading a new device profilenew device profile 4.4. Run on moreRun on more powerful PCspowerful PCs andand serversservers
  • 49. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge Test exclusively usingTest exclusively using emulatedemulated devicesdevices Were designed forWere designed for testingtesting in mindin mind TypicallyTypically fully instrumentedfully instrumented to capture detailedto capture detailed diagnostics about the protocols that go back and forthdiagnostics about the protocols that go back and forth between client and server at the various levels of thebetween client and server at the various levels of the application stackapplication stack
  • 50. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge Test exclusively usingTest exclusively using emulatedemulated devicesdevices Cost effectiveCost effective because a single platform with frequentbecause a single platform with frequent updates of device profiles can be used to test every deviceupdates of device profiles can be used to test every device on the market both today and tomorrowon the market both today and tomorrow Big disadvantage is that they lack theBig disadvantage is that they lack the quirks, faultsquirks, faults andand characteristicscharacteristics that only the real device can providethat only the real device can provide
  • 51. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge Test exclusively usingTest exclusively using emulatedemulated devicesdevices May not give theMay not give the pixel-perfect accurate renderingpixel-perfect accurate rendering that youthat you are assured to have with a real device solutionare assured to have with a real device solution Processing power of a local PC canProcessing power of a local PC can hidehide any issues that youany issues that you may have with themay have with the responsivenessresponsiveness of your web applicationof your web application Not sensitiveNot sensitive to theto the ambient conditionsambient conditions that can impact thethat can impact the behaviour of the devicebehaviour of the device
  • 52. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 4.4. Devices: The Biggest Mobile Testing ChallengeDevices: The Biggest Mobile Testing Challenge Use aUse a combinationcombination of eachof each Start testing in an emulated environment to take advantage of theStart testing in an emulated environment to take advantage of the speedspeed andand device diversitydevice diversity that an emulator can providethat an emulator can provide Add real devicesAdd real devices into your test plan later in the developmentinto your test plan later in the development cycle so you can validate the applications are functioning ascycle so you can validate the applications are functioning as expected and certify that all development requirements andexpected and certify that all development requirements and objectives have been metobjectives have been met
  • 53. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 5.5. Network: A Regional ChallengeNetwork: A Regional Challenge Each mobile operator mayEach mobile operator may support multiple networksupport multiple network technologiestechnologies including LTE, CDMA, GSM, and some use lessincluding LTE, CDMA, GSM, and some use less common or local networking standards such as iDEN, FOMA,common or local networking standards such as iDEN, FOMA, and TD-SCDMAand TD-SCDMA Each network has a unique combination of networkEach network has a unique combination of network infrastructure thatinfrastructure that tunnels the packet-based protocolstunnels the packet-based protocols usedused by mobile networks into TCP-IP protocols used by the mobileby mobile networks into TCP-IP protocols used by the mobile WebWeb
  • 54. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 5.5. Network: A Regional ChallengeNetwork: A Regional Challenge When implemented, canWhen implemented, can restrictrestrict the flow ofthe flow of information that travels between your server and theinformation that travels between your server and the test clienttest client Some limit the sites that can be accessed via a phoneSome limit the sites that can be accessed via a phone to only those approved by the operator (“to only those approved by the operator (“walledwalled gardengarden”)”)
  • 55. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 5.5. Network: A Regional ChallengeNetwork: A Regional Challenge Others might use “Others might use “transcodingtranscoding” in an attempt to scale” in an attempt to scale down fixed Web content to better fit onto mobile phones,down fixed Web content to better fit onto mobile phones, thus expanding the number of mobile sites that can bethus expanding the number of mobile sites that can be seenseen SomeSome strip vital informationstrip vital information from the HTTP headersfrom the HTTP headers that your application might depend on to providethat your application might depend on to provide functionality or to provide device adaptationfunctionality or to provide device adaptation
  • 56. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 5.5. Network: A Regional ChallengeNetwork: A Regional Challenge To fully test the full network stack on a particularTo fully test the full network stack on a particular operator’s network infrastructure, you must beoperator’s network infrastructure, you must be connected to the target networkconnected to the target network Traveling to every network operator that you need toTraveling to every network operator that you need to support can besupport can be very expensivevery expensive
  • 57. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 5.5. Network: A Regional ChallengeNetwork: A Regional Challenge We canWe can bypassbypass the lower layers of the network andthe lower layers of the network and simply test over the Internet or LANsimply test over the Internet or LAN You useYou use TCP/IPTCP/IP to connect directly to the serverto connect directly to the server and youand you ignoreignore the GPRS tunnelling systems used bythe GPRS tunnelling systems used by network operatorsnetwork operators
  • 58. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 5.5. Network: A Regional ChallengeNetwork: A Regional Challenge You will need to use aYou will need to use a device simulatordevice simulator to perform theto perform the bypassbypass Advantage is that you willAdvantage is that you will not need to usenot need to use andand thus pay forthus pay for airtimeairtime Disadvantages are that is that we oftenDisadvantages are that is that we often cannot emulatecannot emulate thethe effects and timing of the network and the various networkeffects and timing of the network and the various network elements such as proxieselements such as proxies
  • 59. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 5.5. Network: A Regional ChallengeNetwork: A Regional Challenge We can use theWe can use the real networkreal network by using either phones orby using either phones or modemsmodems Many device emulatorsMany device emulators support modemssupport modems that allow youthat allow you to use your emulated devices on the local networkto use your emulated devices on the local network But again, there is the cost ofBut again, there is the cost of travelingtraveling into range of theinto range of the networknetwork
  • 60. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 5.5. Network: A Regional ChallengeNetwork: A Regional Challenge One piece of useful test equipment is aOne piece of useful test equipment is a real device in thereal device in the cloudcloud Consists of aConsists of a physical handsetphysical handset mounted in a remote box withmounted in a remote box with aa remote control unitremote control unit and aand a remote antennaremote antenna The remote control unit is physically connected to theThe remote control unit is physically connected to the device’sdevice’s screen and keypad control circuitsscreen and keypad control circuits and is capable ofand is capable of pressing keys and collecting screen imagespressing keys and collecting screen images
  • 61. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 5.5. Network: A Regional ChallengeNetwork: A Regional Challenge Often have the ability toOften have the ability to record a testrecord a test for subsequentfor subsequent replayreplay Reduce theReduce the cost of travelcost of travel to foreign networksto foreign networks Most of the companies that make this type of equipmentMost of the companies that make this type of equipment offer the ability to “offer the ability to “rentrent” testing time on a resource that is” testing time on a resource that is shared with others and is managed for youshared with others and is managed for you
  • 62. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 6.6. Scripting: The Repeatability ChallengeScripting: The Repeatability Challenge The method that is actually used toThe method that is actually used to execute the test scriptexecute the test script Script execution can either beScript execution can either be manualmanual oror automatedautomated You either write down the scripts in a document or aYou either write down the scripts in a document or a spreadsheet, which is then used by a test engineer whospreadsheet, which is then used by a test engineer who manually enters keystrokesmanually enters keystrokes, or you, or you run automatedrun automated scriptsscripts that in turn evoke the keystrokes and record thethat in turn evoke the keystrokes and record the resultsresults
  • 63. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 6.6. Scripting: The Repeatability ChallengeScripting: The Repeatability Challenge Most emulators are capable of automating testMost emulators are capable of automating test execution using aexecution using a higher-level, abstract scriptinghigher-level, abstract scripting languagelanguage that is not device dependentthat is not device dependent Many automated scripting tools have a special abilityMany automated scripting tools have a special ability to “to “spiderspider” or “” or “crawlcrawl” a mobile Web site” a mobile Web site
  • 64. Testing Strategy and TacticsTesting Strategy and Tactics for Mobile Applicationsfor Mobile Applications 7.7. SummarySummary Invest in aInvest in a device emulatordevice emulator Take advantage ofTake advantage of remote real devices in theremote real devices in the cloudcloud AutomateAutomate wherever possiblewherever possible
  • 65. SummarySummary 7.7. SummarySummary Invest in aInvest in a device emulatordevice emulator Take advantage ofTake advantage of remote real devices in theremote real devices in the cloudcloud AutomateAutomate wherever possiblewherever possible
  • 66. SummarySummary The Testing PhaseThe Testing Phase Regression TestRegression Test Internal TestingInternal Testing Unit TestingUnit Testing Application TestingApplication Testing Stress TestingStress Testing
  • 67. SummarySummary Testing your Web AppsTesting your Web Apps ObjectivesObjectives Process and ReportingProcess and Reporting Tracking ResultsTracking Results Test EnvironmentTest Environment Usability TestingUsability Testing
  • 68. SummarySummary Testing your Web AppsTesting your Web Apps Unit TestingUnit Testing Verifying the HTMLVerifying the HTML Load TestingLoad Testing User Acceptance Test (UAT)User Acceptance Test (UAT) Testing SecurityTesting Security
  • 69. SummarySummary Testing Strategies and Tactics for Mobile ApplicationsTesting Strategies and Tactics for Mobile Applications ReferencesReferences
  • 70. ReferencesReferences The Testing PhaseThe Testing Phase http://infolab.stanford.edu/~burback/watersluice/node19.htmlhttp://infolab.stanford.edu/~burback/watersluice/node19.html 10 Tips for Testing Apps for the Real World10 Tips for Testing Apps for the Real World http://www.techrepublic.com/blog/10-things/10-tips-for-testing-apps-for-the-real-world/#http://www.techrepublic.com/blog/10-things/10-tips-for-testing-apps-for-the-real-world/# Testing your Web AppsTesting your Web Apps http://www.adminitrack.com/articles/TestingYourWebApps.aspxhttp://www.adminitrack.com/articles/TestingYourWebApps.aspx Web UsabilityWeb Usability "Don't Make Me Think! A Common Sense Approach to Web Usability" by Steve Krug and Roger Black"Don't Make Me Think! A Common Sense Approach to Web Usability" by Steve Krug and Roger Black Testing Strategies and Tactics for Mobile ApplicationsTesting Strategies and Tactics for Mobile Applications http://www.keynote.com/mobile-app-testing.htmlhttp://www.keynote.com/mobile-app-testing.html