testing web applications

By attending Testing Web Applications workshop, Participants will learn to:

  • Understand where functional, stress, load and regression testing fits into the development cycle
  • Web Application Architecture
  • How web testing is unique
  • Test coverage models
  • UI, functional, database and help testing
  • Installation, configuration, security and load testing
  • Test reporting
  • Overview of web testing tools

The Testing Web Applications Training course covers testing good practices with a special focus on web application testing.

  • Some experience with testing software applications.

Testers, test engineers, development managers, test managers and project managers who will be designing, managing, and performing the testing of web applications.

COURSE AGENDA

  • Basic Tests
  • The common tests you should perform on a build
  • Basic differences between Web and Thick Client Applications
  • The next cycle of functional testing if the previous tests worked
  • Wait for responses from the development group
  • A program cannot be completely tested
  • The goal
  • The development team
  • Development Process
  • The Rational Unified Process
  • Inception Phase
  • Testing during this phase
  • Elaboration Phase
  • Example of a Use Case Diagram
  • Construction Phase
  • Software Development Life Cycle with the RUP
  • Testing during coding
  • Testing after integration
  • Performance Testing
  • Regression Test
  • A typical sequence
  • Typical FVT and SVT tests
  • What is a bug?
  • Common types of bugs
  • Sample bug report – Simple
  • Sample bug report – complex
  • Best practices in bug reporting
  • Characteristics of a good problem report
  • Typical states that a bug goes through
  • The goals
  • Best Practices
  • Sample bug state chart
  • Web-based software
  • Java Web Application Architecture (Thin Client)
  • Java Web Application Architecture (Rich Client)
  • Java EE 5 Architecture
  • Web Application Programming Model MVC
  • An Example – The IBM WebSphere Platform
  • Web Applications
  • Browser as a client
  • Bugs may originate from the SW stack
  • Introduction
  • Key Characteristics
  • Instructor Demo
  • RIA Platforms
  • What is AJAX?
  • Ajax Example Yahoo Maps
  • RIA Architecture
  • RIA Architecture Details
  • RIA Benefits
  • RIA Drawbacks
  • There are many layers involved
  • Many unique issues are encountered in this environment
  • Browsers are platform independent clients
  • Browser variations need to be accounted for
  • Cookies are commonly needed
  • Back button of the browser
  • Refresh button of the browser
  • Bookmarks
  • Client Side validation should be performed
  • Only JavaScript validation though is not enough!
  • More client side validations
  • If your application functionality depends on JavaScript
  • Clicking the submit button multiple times
  • Sudden client exit instead of explicit logoff won’t be detected
  • You may have to test a fat client
  • The requirements of a system
  • Document one – Use Case Document
  • UC01 Add a new appointment
  • Document 2 – Supplementary specifications
  • Knowing the testing priority
  • The Severity Scale
  • The priority scale
  • The likelihood scale
  • Priority of Coverage
  • An example
  • The test plan
  • The sections of the IEEE test plan template
  • Typical test team activities
  • The four types of tests
  • Beware of test escapes
  • Test Coverage Models
  • UI testing
  • Common problems with error messages
  • Common UI Errors
  • Functional Testing
  • Types of testing
  • Most web applications are database centric
  • Java Database Connectivity
  • JDBC Architecture
  • Prepared Statements
  • Stored Procedures
  • Transactions
  • Connection Pooling
  • Database Testing the steps
  • What we are testing?
  • Things to test
  • Configurations to test
  • What to test?
  • Configuration variations
  • Miscellaneous Topics
  • Types of test run on high priority configurations
  • Types of test run on lower priority configurations
  • Load
  • Throughput
  • Throughput Curve
  • Saturation
  • The Significance of Throughput
  • Response Time
  • Response Time Curve
  • Response time at system saturation
  • Response time past the buckle point
  • Think Time
  • Performance Acceptance Criteria
  • Test environment is a scaled down version of production
  • Common problems – Symptoms of underutilization
  • What causes underutilization?
  • Common problem – over utilization
  • Input Data Validation
  • Data Ownership Validation
  • SQL Injection Problem
  • SQL Injection Solution
  • Malicious File Execution Problem
  • Malicious File Execution Solution
  • Web Authentication Mechanism
  • Insecure Authentication Mechanism
  • Failure to Restrict URL Access Problem
  • Failure to Restrict URL Access Solution
  • Cross Site Scripting (XSS) Problem
  • Cross Site Scripting (XSS) Solution
  • Cross Site Request Forgery (CSRF) Problem
  • Cross Site Request Forgery (CSRF) Solution
  • Information Leakage and Improper Error Handling Problem
  • Information Leakage and Improper Error Handling Solution
  • Buffer Overflow
  • Buffer Overflow Example
  • More Buffer Overflows
  • Buffer Overflow Solution
  • Insecure Communications
  • Insecure Cryptographic Storage Problem
  • Insecure Cryptographic Storage Solution
  • Insecure Direct Object Reference
  • Message Replay Attack Problem
  • Message Replay Attack Solution
  • Weekly Reports
  • Testing cycle complete report
  • Test Tracking Spreadsheet
  • Tracking test coverage spreadsheet
  • Opened/closed chart
  • Purpose
  • What They Do
  • How They Work
  • Example: HP UFT
  • Record User Scripts
  • Tech and “Non-Tech” Views
  • Functionality Checks
  • Parameterized Input Data
  • Test Results
  • Purpose
  • What They Do
  • Example: Parasoft Jtest
  • Analyze Code
  • Generate and Execute Tests
  • Expose Potential Errors
  • Expose Memory Leaks
  • Suggest Fixes
  • Retest Modified Code
  • Design by Contract (DbC)
  • Suggest DbC Fixes
  • Enforce Coding Standards
  • Suggest Fixes
  • Purpose
  • What They Do
  • Basic Steps
  • Create User Scripts
  • Define Txns and Measurements
  • Define the Workload
  • Run the Test
  • Analyze the Results
  • Example: Mercury LoadRunner
  • Record User Scripts
  • What Recording Looks Like
  • Modify the Script
  • Advanced Scripting
  • Simulate Real Users
  • Create the Test Scenario
  • Define the Workload
  • Run the Test
  • Analyze the Results
  • What’s the Deal? [with all these Mercury tools]
  • Purpose
  • What They Do
  • Example: Mercury SiteScope
  • SiteScope’s Three Engines
  • Live Demo SiteScope Console
  • Purpose
  • Benefits of Test Management
  • Example: HP ALM
  • Components of ALM
  • Requirements Manager
  • Requirements Tree – Illustrated
  • Test Plan
  • Test Plan Tree – Illustrated
  • Test Lab
  • Test Lab – Illustrated
  • Defects Manager
  • Defects Manager – Illustrated