Testing-World


Register the mailing list in order to get updates everytime site will be update with more info. The mailing list is secured and will not be used for any spam delivery and will not be given to any third party.
 
To join the mailing list enter your e-mail address:
 Send


Counter:

Home >> Black box methods >> Test matrices
 
What is a Test Matrix?
 
Matrices provide an easy structure for testing common issues. A common issue is an issue that repeats itself from project to project. Testing a common issue should be relevant to the project itself.
Examples for common issues are:
  • Fields (integer, dates, time, etc)
  • File names
  • Printing
  • Saving a file
  • Deleting a file
  • Sending a file
  • Login process
  • UI issues
  • Other
Why is it important to learn "Test Matrix"?
 
There are several reasons why to learn and to do test matrices.
  • It can reduce working time - once you have a matrix for a specific issue, it will take you less time to test it or to think how to test it.
  • It is logical and testing challenging - It is a challenge to make your own matrix and to find common issues that are repeatable from project to project.
  •  In future projects it will save you time and it can give your more time to handle more complex issues.
  • It’s fun (for those who have a testing mania like the writer).
How to Do a Test Matrix?
 
The algorithm for creating a test matrix is:
  • Find an issue that repeats itself from project to project
  • Think of tests that you routinely perform on this issue
  • Sort all the tests and put them in a matrix
 
Example
 
Let’s build a matrix for integer field. First, we will think and write all the tests that we can perform on an integer field:
  • 0
  • Valid value
  • Lower boundary – 1
  • Lower boundary
  • Lower boundary + 1
  • Upper boundary – 1
  • Upper boundary
  • Upper boundary + 1
  • Nothing
  • Negative value
  • Special chars: < > ? , . / ; : ‘ “ [ ] { } \ | + = _ - ( ) * & ^ % $ # @ ! ~ `
  • Uppercase chars
  • Lowercase chars
  • Spaces
  • Leading spaces before the value
  • Value follows with spaces
  • Length lower boundary – 1
  • Length lower boundary
  • Length lower boundary + 1
  • Length upper boundary – 1
  • Length upper boundary
  • Length upper boundary + 1
  • Mix of digits, chars and spaces
 
Now we will insert them into a generic matrix:

Integer field matrix
Field Name
 
 
Cases
 
 
0
 
 
Valid value
 
 
Lower boundary – 1
 
 
Lower boundary
 
 
Lower boundary + 1
 
 
Upper boundary – 1
 
 
Upper boundary
 
 
Upper boundary + 1
 
 
Nothing
 
 
Negative value
 
 
Special chars: < > ? , . / ; : ‘ “ [ ] { } \ | + = _ - ( ) * & ^ % $ # @ ! ~ `
 
 
Uppercase chars
 
 
Lowercase chars
 
 
Spaces
 
 
Leading spaces before the value
 
 
Value follows with spaces
 
 
Length lower boundary – 1
 
 
Length lower boundary
 
 
Length lower boundary + 1
 
 
Length upper boundary – 1
 
 
Length upper boundary
 
 
Length upper boundary + 1
 
 
Mixed of digits, chars and spaces
 
 
 
 

Now let use it for a project that contains 2 integer fields: “Age”, “Price”. For each field we will mark those cases we want to test.

Integer field matrix
Field Name
Age
Price
Cases
 
 
0
X
X
Valid value
X
 
Lower boundary – 1
X
 
Lower boundary
X
 
Lower boundary + 1
 
 
Upper boundary – 1
 
 
Upper boundary
X
 
Upper boundary + 1
X
 
Nothing
 
 
Negative value
X
 
Special chars: < > ? , . / ; : ‘ “ [ ] { } \ | + = _ - ( ) * & ^ % $ # @ ! ~ `
X
X
Uppercase chars
 
 
Lowercase chars
 
 
Spaces
X
 
Leading spaces before the value
 
 
Value follows with spaces
 
 
Length lower boundary – 1
X
 
Length lower boundary
X
 
Length lower boundary + 1
 
 
Length upper boundary – 1
X
X
Length upper boundary
X
 
Length upper boundary + 1
 
 
Mixed of digits, chars and spaces
X
 
 
 

 
This method gives you the power to change in each test cycle the cases that need to be tested for those fields, without investing many efforts on changing the STD document.
 
Practice 1
Create a matrix for saving a file. Try to solve it before continue reading.

Practice 1 - answer
 
  • Save a new file
  • Save a file with an existing file name
  • Save in another format
  • Save a file to a full disk
  • Save a file to a write protected disk
  • Save a file to a remote disk
  • Save a large file and during the saving process print the file
 
Practice 2
Create a matrix for a date field. Try to solve it before continue reading.

Practice 2 - answer
  • Insert chars
  • Insert numbers
  • Insert day/month 0
  • Insert day 32
  • Insert month 13
  • Insert year 90 (means 1990, 2090 ???)
  • Insert other format of dates:
    24/12/1978 and 12/24/1978
  • Insert 16/9/2006 and 16.9.2006

Practice 3
Create a matrix for login a system: username and password. Try to solve it before continue reading.

Practice 3 - answer
 
  • Correct username and wrong password
  • Wrong username and correct password
  • Wrong username and wrong password
  • Correct username and correct password
  • Correct username and password like ‘select 1’
  • Uppercase and lowercase
 
Practice 4
Create a matrix for a char field with length x. Try to solve it before continue reading.

Practice 4 - answer
  • Similar to the integer example
 
Practice 5
Create a matrix for deleting a file. Try to solve it before continue reading.

Practice 5 - answer
  •  Delete a file
  • Delete a very large file
  • Delete an empty file
  • Delete an empty folder
  • Delete a folder with many files
  • Delete an open file
  • Delete a file while sending other files to the printer
  •  

Practice 6
Create a matrix for testing an email field. Try to solve it before continue reading.

Practice 6 - answer
  • Insert a valid mail: a.a@a.com, a@123.co.il
  • Insert an invalid mail format
  • Insert chars
  • Insert numbers
  • Insert a very long email
Practice 7
Create a matrix for testing a new screen that will be insert into the application. Try to solve it before continue reading.

Practice 7 - answer
  • Test typo in screen title, buttons, fields and tables.
  • Test that keyboard shortcuts work well when buttons are enable and lock when buttons are disabled.
  • Check sorting at least 3 times on each column.
  • If you have a search criteria, combine a search with several fields using a method named "all pairs".
  • Create a test where the search is bring you one row, 2 rows, more then 2 rows and 0 rows.
  • Create a test for clear the search (brings all rows).
  • Create a search where in string/text field you are trying to insert a word contains the sign ' - if the programmer didn't handle it and you are working with XML files or with databases, you will get an error.
  • If you can search by "starting with" or "contains with" test spaces and '.
  • Test that each button is working as expected.
  • Test the paging feature if you screen support in regular view and in searching results - sometimes there is a bug that paging in search result will bring the entire rows.
  • Ttest the "yes", "no", "cancel" options in message box.
  • Try to active/inactive a radio button and a check box field.
  • Test that mandatory fields are really mandatory and that the message about it is correct.
  • Test the close window button.

Go Back  Print  Send Page
[Top]              [Add to Favorites]