Unit testing: Focuses on the module, program or object level to determine whether specific functions work properly.
Black box testing: Tests the program against specific requirements or functionalities.
White box testing: Examines paths of logic or the structure inside a program
Gray box testing: Gray-box testing (International English spelling: grey-box testing) is a combination of white-box testing and black-box testing. The aim of this testing is to search for the defects if any due to improper structure or improper usage of applications
http://www.careerride.com/Testing-white-box-black-box-gray-box.aspx
https://en.wikipedia.org/wiki/Gray_box_testing
http://www.careerride.com/Testing-white-box-black-box-gray-box.aspx
https://en.wikipedia.org/wiki/Gray_box_testing
Integration testing:
Tests whether a set of logically related units (functions, modules, programs etc.) WORK TOGETHER PROPERLY after unit testing is done.
System testing:
Tests the system as a whole in an OPERATING ENVIRONMENT verifying FUNCTIONALITY and FITNESS for use.
May include tests to verify:
Usability
Stress
Documentation
Performance
Compatibility
Acceptance testing:
Certifies that the system satisfies the end user or customer’s scope and detailed requirements after System testing is done.
It is the user or client’s responsibility to assure that all features and functionality are included so that so that PROJECT’S MOV will be achieved.
Load Test:
Testing the software with increasing set of data (NEAR to the software limitation), the main goal is to see that the software can handle such loads without having any side effects (unexpected crushes, memory leaks, bottlenecks etc.).
Stress Test:
Testing the software under load that exceed the system limitation, the main goal is to CAUSE system failure, analyze the crush, and determine the WAY that the software RECOVER in case of such failure.
Separation of GUI objects:
The GUI is build from a set of objects, when designing your tests you should consider every object as "Stand Alone" and ask yourself few questions:
Follow the industry standards:
Every GUI must be tested based on a few basic standards that we use in the software industry, examples:
Checklist and guideline for UI testers:
Checklist and guideline for specific objects:
http://www.slideshare.net/DavidTzemach/user-interface-testing-best-practices
Load Test:
Testing the software with increasing set of data (NEAR to the software limitation), the main goal is to see that the software can handle such loads without having any side effects (unexpected crushes, memory leaks, bottlenecks etc.).
Stress Test:
Testing the software under load that exceed the system limitation, the main goal is to CAUSE system failure, analyze the crush, and determine the WAY that the software RECOVER in case of such failure.
Separation of GUI objects:
The GUI is build from a set of objects, when designing your tests you should consider every object as "Stand Alone" and ask yourself few questions:
- What are the outputs we need to get when using this object?
- Is there any integration with other object?
- What are the attributes of this object?
- Available inputs (if supported)?
- Why we need it?
Follow the industry standards:
Every GUI must be tested based on a few basic standards that we use in the software industry, examples:
- Every field that used to find values should be called "Search" and not "Find".
- Keyboard button "F1" should point to user help guide on windows platform.
- In windows OS, the "Ok" button will be on the left of the "Cancel" button (the opposite behavior) from Mac OS.
Checklist and guideline for UI testers:
- Is there a default object that highlighted when the user starts the application?
- The application name should be displayed on the application main form.
- The "Help" menu should be available in the main screen navigation bar.
- In most cases, GUI forms should have the MINMIZE/MAXIMIZE options.
- Web applications should be tested with different RESOLUTIONS.
- Closing the application shouldn't occur without an approval notification that allows the user to "Approve" or "Decline" the operation.
- Radio buttons:
- Every button should execute a specific functionality.
- By default, at least one button should be selected.
- Every button should be available for selection both by using the mouse and keyboard.
- Validation fields:
- Do the SRC doc, specified that the authentication supports special character?
- Do the SRC doc, specified that the authentication supports negative values?
- Check if the validation fields should support a specific format of values?
- Do the validation fields are "CASE SENSITIVE"?
- In any case of invalid authentication, the user should be notified that the process failed with an appropriate notification.
- Drop down list/ List boxes/ Combo box:
- Drop down values must be presented with orders, in 90%, the order determined alphabetically.
- Not like the first two objects, in Combo boxes, user should have the option to insert text.
- Other basic test.
- Text boxes:
- The text must support COPY/PASTE of syntax from different locations.
- Double click on the text should highlight the entire syntax.
- Enter syntax in the text box with SPACE at the beginning and end.
- Date and Time fields:
- Can you change the date/time (insert day in the year location, insert year in the month location...) order and approve the change?
- Change Time Zones in specific components to see how the application can handle different Date Format.
- Applications must be tested with OS "TIME ZONE" changes, different components that are integrated with different time zones may lead to failures in the data synchronization.
Software requirements specification
https://en.wikipedia.org/wiki/Software_requirements_specification
Comments
Post a Comment