Objectives Testing Concepts for WebApps Testing Process Content Testing User...
Embed Size (px)
Transcript of Objectives Testing Concepts for WebApps Testing Process Content Testing User...
ObjectivesTesting Concepts for WebAppsTesting ProcessContent TestingUser Interface TestingComponent-level testingNavigation TestingConfiguration TestingSecurity TestingPerformance Testing
Web-testing?To understand the testing objectives of web, Need to understand a set of quality and Need to understand the environment in which web-application is configured
Web Application Quality:
Testing Concepts:1WebApp testingA collection of related activities to uncover errorsContent (Data)Capability (functionality)Quality (non-functionality)
Testing Concepts:2Who does it?Web designer (or engineer)Why is important?Customers loss confidenceBusiness loss because customer may go to different sites
Web-Testing: ChallengesMain difficulty to localize errors due to OSNTWHW/SW
Dimensions of QualityWebApp design Evaluated byReview/inspectionTesting
Evaluation and QualityBoth Static/dynamic testing work with dimension of qualityContent: Syntactic and semanticsFunctions: Customer expectation is testedUsability: ease of useCompatibility: test under different HW/SWNavigability: ease of navigation (e.g., deadlinks)Interoperability: ease of interfacing with different applicationsSecurity: vulnerabilitiesmaintainability: ease of changePerformance: Speed under different OSs
Characteristics of errors in WebappLocalizing error in webapp is different from traditional applicationsCharacteristics of errors in WebAppInterfacing errors (PDA/Mobile phone, etc)Configuration errorsClient/Server errors
Testing Strategies?What kind of testing strategy can be adopted for WebApp?Is there any testing pattern that can be adopted for Webapp?Can we use the architecture of a system?
Web testingThe steps that can be used to detect errors in webapp Review Content model Review Interface model (all use-cases, usability)Review design for navigation Review design for maintenanceTest for securityTest for performanceTest for usability concerns
WebApp Test Planningplanning is a roadmap for all work that followsA WebApp test plan identifiesA task set to be applied as testing beginThe work products to be created as each task is implementedThe assessment by which the test results is evaluated, recorded, and reused
The testing processTest ContentSecurity testPerformance testingConf. testTest Components (pg)Test navigation (link, menu, etc) test InterfaceUsed for Integration testingGUI design, graphic design, Content design, navigation design,Architecture designComponent design
WebAPP Testing: Process or Task setProcessReview stakeholder needs and key requirementsSet the prioritiesDefine testing strategy using the content structure (linear, grid, hierarchy, NTW, etc)Define a test schedule Assign responsibilities for tasksPerform unit test (pages)Perform integration test using navigations and content Perform configuration (assess C-side and S-side for configurability)Perform load or other testing for performancePerform security testing (try to break your own system)Perform Usability testing
Web testing: Content TestingContent testing objectives includeUncover syntactic errorsTypographical SpellingetcUse proper tools (e.g. Spell checkers)
Content Testing: Test for Semantics errorsUncover semantics errors by testingAccuracy of info (executable testing (e.g. DB))Consistency of info ( Internal vs external).Testing for offensive material (e.g. copyright, offensive, etc)ReadabilityGraphic style
e.g. test for Accuracy of info in Database (DB)WebApp works with sophisticated DBMSe.g. airline reservation systemThe objective is to identify the following problemsMismatch between SQL query and user requestsCommunication errors due to remote DB and web-serverCompatibility of raw data from DB to the original requesters
Layer of interface and test designClient layer (user interface)Sever layer (webapp)Server layer (data Transformation) Server layer (data mgt) Database layer (data access)DBHTML scriptsUser DataUser Data to SQLRaw Data/SQLNeed test cases design methods for each layer of interaction
Web Testing: GUI TestingGUI TestingV&V of a web-app for GUI takes placeDuring requirements analysis ( conformance to the user requirements)During design ( ensure generic quality for all user have been met)During testing (execute both generic and application specific features of GUI)
Checklist for Interface testingTesting interface structure (or syntax) LinksFormsC-side scriptingDynamic HTMLPop-up windowsCGI scriptsStreaming contentCookies (both sides (C/S), content, expiration date)Application specific interface mechanism (check out request)
Examplethe list of interface features AnimationButtonsColorControlDialogedFieldsFormsFramesGraphsLabelsLinksMenusMessagesNavigationPagesSelectorsTextTool bars
Usability?What is usability?How quickly people can learn to use somethingHow efficient they are while using itHow memorable it isHow error-prone it isHow much users like using it
Testing interface for UsabilityTest how good user can interact with webApp?usability testingUsability testdesigned by web engineer evaluated by end-usersWhat is usability measure?can the site be used at allWeb-wide tasks has been widely used for usability testing
Steps to perform Usability TestingThe following process can be usedDefine a set of usability testing categories (accessibility, comfortably, etc)Identify goals for each categoriesidentify participants who will conduct the testsDevelop a mechanism for assessing the usability of the WebApp
Qualitative assessment of usabilityQualitative assessment of usabilityEase of useEasy to learnSimplicityEffectivenessEase of understandabilityClearInformativeEase of PredictabilityInconsistentGenerally uniformpredicable
Component level testing (function)Driven by form level inputCan be tested using Black box techniquesEquivalence partitionBoundary value analysisPath testingNeeded if the logical complexity of the function is high
Compatibility testingWebApp must work within different environmentsDifferent computersDisplay devicesDifferent OSDifferent Browsers
SummaryThe main objective for webApp testing includeExercise each of quality/functionality dimensions of WebApp to locate the errorsTests are driven by users and/or specification in the form of use-case scenarios
Open questionsHow to perform compatibility testing?Server sideClient sideHow to perform quality testing?How to specify usability? Security?What are the coverage criteria for Content? GUI?Navigation?