Skip to main content

Branches of Testing- to be continued.

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

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:

  •  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.

Checklist and guideline for specific objects:

  •  Radio buttons:
  1. Every button should execute a specific functionality.
  2. By default, at least one button should be selected.
  3. Every button should be available for selection both by using the mouse and keyboard.
  • Validation fields:
  1. Do the SRC doc, specified that the authentication supports special character?
  2. Do the SRC doc, specified that the authentication supports negative values?
  3. Check if the validation fields should support a specific format of values?
  4. Do the validation fields are "CASE SENSITIVE"?
  5. 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:
  1. Drop down values must be presented with orders, in 90%, the order determined alphabetically. 
  2. Not like the first two objects, in Combo boxes, user should have the option to insert text.
  3. Other basic test.
  • Text boxes:
  1. The text must support COPY/PASTE of syntax from different locations.
  2. Double click on the text should highlight the entire syntax.
  3. Enter syntax in the text box with SPACE at the beginning and end.
  • Date and Time fields:
  1. Can you change the date/time (insert day in the year location, insert year in the month location...) order and approve the change?
  2. Change Time Zones in specific components to see how the application can handle different Date Format.
  3. 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

http://www.slideshare.net/DavidTzemach/user-interface-testing-best-practices




Comments

Popular posts from this blog

Effective Scrum Meeting

Overview: The Daily Scrum Meeting is held every day through the sprint. At the meeting, the Scrum team gathers to review and synchronize about the project status. In theory, each team member should provide his/her status based on three (03) Q: What did you do yesterday? What do you intend to do today? Is there any issues that blocks your work? # The participants should come prepared: Stop participants that don't come prepared and waste the meeting time. The team members should come prepared to share their updates. You should describe how to answer these questions effectively to increase the synchronization among the team members. The team members should know what is your expectations from them while answering these questions. # Validate that each individual describe the full picture: Validate that each individual can answer the 3 questions (Do not continue until you get the answers or the reasons for why he can't provide them). Validate that each tea...

GitHub- how it works

GitHub: GitHub is a platform for hosting and collaborating on projects. We don’t have to worry about losing data on our hard drive or managing a project across multiple computers — sync from anywhere. GitHub Essentials:   Repositories ,   Branches , Commits ,   Issues   and   Pull Requests . A   repository   is the basic unit of GitHub, most commonly a single project.  Repositories can contain folders and files, including images – anything our project needs. Repository = single project = single folder which contains subfolders and files. Sometimes GitHub users shorten this to “repo.” Branching   is the way to work on different parts of a repository at one time. When we are working on a project, we are going to have a bunch of different features or ideas in progress at any given time – some of which are ready to go, and others which are not. Branching exists to help we manage this workflow. When we create ...

Verification and Validation (V&V)- a software testing approach

Verification: It focuses on PROCESS related activities to ensure that the Products and deliverables meet a specific requirement before the final testing. Can be done through: A. Technical review B. Business review C. Management review Simply: Are we building the product in the right way?  that is, does the software conform to its specification verification  is the process of checking that the software meets the specification. Verification is an example of QA Validation: It focuses on PRODUCT related activities, that attempt to determine if the system or project deliverables meet the customer or client's expectations. Will be done by: Testing. Simply: Did we build the right product?  that is, is the software doing what the user really requires. Validation  is the process of checking whether the specification captures the customer's needs. According to the Capability Maturity Model(CMMI-SW v1.1) we can also define validation as The process ...