Tuesday, July 1, 2008

Technology Based Software Testing

1. GUI testing
Testing Considerations for GUI
1. Communication; aspects to be tested are:
• Tool tips and status bar

Missing information
• Enable/ Disable toolbar buttons
• Wrong/ misleading/ confusing information
• Help text and Error messages
• Training documents

Dialog Boxes; aspects to be tested are:
• Keyboard actions
• Mouse actions
• Canceling
• Okaying
• Default buttons
• Layout error
• Modal
• Window buttons
• Sizable
• Title/ Icon
• Tab order
• Display layout
• Boundary conditions
• Sorting
• Active window
• Memory leak

Command structure; aspects to be tested are:
• Menus
• Popup menus
• Command Line Parameters
• State transitions

Program rigidity; aspects to be tested are:
• User options
• Control
• Output
Preferences; aspects to be tested are:
• User tailor-ability
• Visual preferences
• Localization

Usability; aspects to be tested are:
• Accessibility
• Responsiveness
• Efficiency
• Comprehensibility
• User scenarios
• Ease of use

Localization; aspects to be tested are:
• Translation
• English-only dependencies
• Cultural dependencies
• Unicode
• Currency
• Date/ Time
• Constants
• Dialog contingency

2. Application Testing

Testing Considerations for Application Testing
Applications Testing
C, C++ Applications Memory leak detection
Code coverage
Static and dynamic testing
Test coverage analysis
Runtime error detection
Automated component testing
Measurement of maintainability, portability, complexity, standards compliance
Boundary conditions testing

Java Applications/ Applets
Automated component testing
Functional testing
Performance testing
Applet/ application testing
Code coverage
Boundary conditions testing
Win 32-based Applications
Memory leak detection of win32 programs
Performance testing
Stress testing of Windows applications and system clients

3. Application Programming Interface (API) testing

Testing Considerations/ Issues

The following tasks can be automated:

1. Test-code builds
2. Test-suites execution
3. Report generation
4. Report publishing
5. Report notification
6. Periodic execution of test-suites
7. A tool for test automation should be identified very early in the project.
8. A simulator (that services the API calls) should be developed by the testing team. In the absence of this simulator, there is a dependency on a Server (not developed by the API development team).

Validating the APIs for user-friendliness:

* Meaningful names
* Concise and short names
* Number of arguments
* Easy-to-read names

4. Middleware Testing

* Functional testing
* Interoperability testing
* Performance testing
5. Database/ Backend (and database applications) testing
Testing Considerations/ Issues

Apart from testing (verify/ validate this) the application the following needs to be considered for databases:

* Distributed Environment
* Performance
* Integration with other systems
* Security Aspects

Description/ Sub-tasks

Boundary conditions testing (Data); aspects to be tested:

* Dataset
* Numeric
* Alpha
* Numerosity
* Field size
* Data structures
* Timeouts

Accuracy/ Integrity testing (Data); aspects to be tested:

Boundary conditions testing (Data); aspects to be tested:

* Calculations - Reports
* Calculations - Backend
* Divide by zero
* Truncate
* Compatibility
* Test data
* Data consistency

Database connectivity; aspects to be tested:

Database connectivity; aspects to be tested:

* Save
* Retrieval

Database schema testing; aspects to be tested:

Database connectivity; aspects to be tested:

* Databases and devices
* Tables, Fields, Constraints, Defaults
* Keys and Indices
* Stored procedures
* Error messages
* Triggers, Update
* Triggers, Insert
* Triggers, Delete
* Schema comparisons

Security testing; aspects to be tested

Security testing; aspects to be tested

* Login and User security

6. Web Site/ Page Testing

Applications Testing
Link and HTML Testing
Detecting HTML compatibility problems
Checking Cascading Style Sheets
Checking link and content
Checking HTML syntax/ Validating HTML documents
Detecting broken/ dead links
Web site performance analysis
Functional Testing
Web site functional testing
Testing for completeness and consistency of web pages
Performance Testing
Load testing of web based systems
Reliability, performance and scalability testing of web applications
Load and performance testing of web server

No comments: