TEST CASE NAMING CONVENTION Srilu Balla Lake Oswego OR October 20 2010
What does a test case belong to?
The test cases come from requirements So, it may seem like the test case name should be mapped to the requirements or use cases. But what happens if the requirements change?
The requirements change, new requirements come up, some requirements do not see the light of the day. Is it practical to change the test case with the changing requirement? Even with versioning will it make sense on the long run?
New test cases arise from new projects intended to improve or modify a system
So, it might seem like the test case name should reflect the project which initiated it. But the projects end at some point. New teams and team mates take over the system maintenance, testing and other improvements. Is it useful to learn about the project ? Is there any value to learning about an ancient project?
What does a test case belong to?
A Test case always belongs to the product
That is correct. Projects come and go Requirements come , change and go But the core product is forever (I mean as long as it lasts)
The test case must aid in identifying the product it belongs to . A company may have only one product currently, but there is every chance the company could introduce new products. Always be prepared for change. The first part of the test case should always reflect about the product it belongs to
What is a test case named after? Example test case name Let us try naming for Microsoft Power Point application. Since Microsoft has several applications under Microsoft Office, we will have to indicate which MS Office application the test case belongs to MS_PPT_TestCaseor PPT_TestCase might be ideal.
Example test case name 02 Let us try naming for Google applications. Since Google has several applications, the naming should help identify the concerned product “G_GM_TestCase” or “GM_TestCase” for Google Mail “G_GC_TestCase” or “GC_TestCase” for Google Calendar “G_GD_TestCase” or “GD_TestCase” for Google Documents “G_GMap_TestCase” or “GMap_TestCase” for Google Maps “G_YT_TestCase” or “YT_TestCase” for You Tube
Example test case name Let us try naming for Microsoft Power Point application’s First elements (parts) Since the Menus are the first elements in a PPT, let us try naming a test case relating the first elements. “MS_PPT_mHome_TestCase or “PPT_Home_TestCase” MS = Microsoft PPT = Power Point mHome= menu Home, Home = first element Home. Test Cases for other elements in the test
Example test case name Let us try naming for Microsoft Power Point application’s Second elements (parts) The second elements in a PPT’s Home menu are the groups. The group “clipboard” consists of elements - Paste, Cut, Copy, Former Painter etc. “MS_PPT_mHome_gClipboard or “PPT_Home_Clipboard” mHome= menu Home Home = first element Home gClipboard= group Clipboard Clipboard = second element Clipboard Test Cases for other elements in the test
Naming for Microsoft Power Point application’s Third elements (parts) The third elements in a PPT’s Home menu’s Clipboard group are the - Paste, Cut, Copy, Former Painter etc. Test case for these elements would be names like – “MS_PPT_mHome_gCl_iCut or “PPT_Home_Clip_Cut” mHome= menu Home gClipboard= group Clipboard Clip = second element Clipboard iCut= icon Cut Cut = third element Cut Test Cases for other elements in the test
Naming for Microsoft Power Point application’s Fourth elements (parts) The fourth elements in a PPT’s Home menu’s Clipboard group’s Paste icon are - Paste, Paste Special, Paste as Hyperlink, Duplicate. Test cases names for these elements could be – “MS_PPT_mHome_gCl_iP_oPasteSpecial” or “PPT_Home_Cl_P_PasteSpecial” iP= icon Paste P = third element Paste oPasteSpecial= option Paste Special PasteSpecial= fourth element Paste Special Test Cases for other elements in the test
List of suitable test case names for MS-PPT MS_PPT_Invoke MS_PPT_mHome_iCut MS_PPT_mHome_iCopy MS_PPT_mHome_iFormat Painter MS_PPT_mHome_iPaste MS_PPT_mHome_iPaste_oPaste MS_PPT_mHome_iPaste_oPaste Special MS_PPT_mHome_iPaste_oPaste as a Hyperlink MS_PPT_mHome_iPaste_oPaste Duplicate Sample test case names
Do test cases need hierarchy? The test case could also be named as MS_PPT_Cut, a seasoned tester or a new tester would understand what the test case deals with. But if Microsoft one day decided the Cut did not belong in the menu Home but in the menu Review, how will any tester guess where the cut icon is located? Hierarchy helps in identifying the navigation and location of the element needed for testing. Hierarchy for Test cases!?!?
Functionality for / in Test cases Test cases can have an intended functionality in the name MS_PPT_mHome_iCut_Remove MS_PPT_mHome_iCut_Add MS_PPT_mHome_iCut_Modify MS_PPT_mHome_iCut_Edit MS_PPT_mHome_iCut_Delete MS_PPT_mHome_iCut_Insert MS_PPT_mHome_iCut_nameChangedto_Bite (by eye balling the test case name the intended test can be assumed or understood along with navigation & hierarchy)
Identify the Elements for TESTING Example with PPT menus
View of Test case Hierarchy Level 0 Test cases usually deal with one time test functions. These tests may need to be executed only one time. These tests are crucial and they may not be as straight forward as testing the UI. (I prefer to have them in Level 0, unless Level 0 tests are validated, I won’t touch the rest of the tests. Once bitten twice shy) (Cont..)
View of Test case Hierarchy Unless the Level 01 tests pass, the Level 02 tests may not be executed. Because they will obviously fail. Dividing into Levels saves time (You already know how valuable time is)
More Functionality The function CUT can be performed by another means too. With CTRL + X So where does the test case to test this functionality go? And how should it be named? And where does it stand in the hierarchy? The short cut keys are not specific to PPT . They work in almost every Windows application. Still it is necessary to include them in the tests. So how is this done?
The function CUT can be performed by another means too – CTRL + X MS_sk_Ctrl+Xor MS_sk_CUT sk= Short cut Key Ctrl + X = key Control + keyX CUT = function to CUT The test case is not tied to an application. But it may be tied to Microsoft (so, “MS_” is appropriate). By indicating that it is a test case for short cut key, the tester can assume where it might be applicable. More Functionality
Summary Test Cases belong to the product. Test Cases aim to test the specifications as per a requirement Test Cases are a result of a project initiated. But test cases belong to the product. Average life of software is 7 years. A test case we create today is the guide for users, testers, developers, project managers etc. to understand the functionality and purpose of a system. The need to study the high level requirements, business cases, use cases etc can be eliminated with one well written test case. This is a necessary art that is taken for granted.
Thank you for taking the time to read my views and strategy for test case naming convention. I have not yet come up with suitable name for this strategy. I am always open to suggestions as well as questions. Please feel free to leave your comments and any unusual situation you might be facing with test case naming convention – together we can come up with a solution. (The views in this document are solely mine. If any of you out there developed a similar strategy – Kudos to you. I would like to know you. Please know that my strategies are a product of my efforts to streamline QA maintenance procedures More documents to follow ………) Thank You