maanantai 5. toukokuuta 2014

Software developing - Testing - HP Quality Center (software development)

This post is a little recap of what I have learned so far while working at Accenture software engineering associate. I am part of software testing team and analysis team.

Software development process starts from business requirements. First business people define what they need and how the software should work. From those needs, IT people create requirements for the software which are then accepted by the business people. We can fill in these reuiqrements to HP QC.

What is QC?
HP Quality Center is quality management software offered from the HP Software Division of Hewlett-Packard (http://en.wikipedia.org/wiki/HP_Quality_Center)


In QC we have on the left side panel all the tools that we need in testing.


  • In the requirements section are filled business person defined requirements (how the software should work from business person view)
  • Test plan view is where test cases are designed, or how the software should be tested
  • In test lab test cases are run by someone, meaning every step are validated and if it fails anywhere during the case then tester will raise a defect
  • In defects section will be all the program errors, where application developers can check what is not working and what has been done already. 
Now a simple test case example. How to create a test case for buying Coca-Cola from the vending machine for example.

1. Go to test plan and create new test case. Then define all the necessary information on the details page. Description is important. Describe what should be tested and how. 


2. Design steps. In the design steps section are described all the steps that will be done on the specific case. For example if you want to buy a Coca-Cola from vending machine the steps would be: find a vending machine, insert money, select coca-cola by pressing the button and then grab the cold cola from the slot. But to not make this that easy we will use parameters in the test case. As you can see from my test steps I have created a parameter which starts and ends like <<<this>>> This means we can insert any value to that particular parameter. For example test step 2 is to insert money. Now I have parameterized the amount and it means we can insert different amounts to the machine to see how it reacts. Parameters are defined in the test configuration tab.


3. Parameters. Here we can see all the accepted parameters.


4. Test configuration. In this tab we can define all the variations for test. For example if we would like to test buying Coca-Cola, Pepsi and Fanta it would look like this. We could also insert the money amounts here.


5. Now our test case for soda vending machine is ready in test plan. We should now link the requirements to this test case. I will not cover it here. Next we would go the the test lab section and create new test set. To this test set we can then enter as many test cases we want. All the test case variations can be seen on Execution Grid tab.


6. Execution Grid. Here are our test variations which we should go through. I already went through the Coca-Cola test so it shows as passed. Next I will select Pepsi from the list and click run.


7. Running the test. I can insert some information before starting the test. Then click Begin run.



8. Now I just mark steps as Passed, Failed or not run for all the steps. I passed the first one and then failed second one. Now the test case would end here. Also you can see from the description what you should do and then the expected result on the bottom left. Actual test result is written to the bottom right box.


9. Defect. Now the soda vending machine failed to accept the money so we have an error in our system and we should raise a defect. Insert all the necessary information and link a test case to it.


Now app developer can check from the defect grid what has been resolved already and check what is not working at the moment. 

Main idea for testing is to think logically everything what can be tested. Then create cases step by step and run those. Testing involves different areas and is a wide thing. 

Few software testing cases:

Whitebox testing: is testing method where tester has access to the source code and maybe understands programming.

Blackbox testing: is case where the source code is not available. Program is like a black box for tester.

Greybox testing: is a bit of both blackbox and whitebox. For example tester have access to source code but doesn't understand it.

Integration testing: testing that everything is working together. For example front end works with back end etc.

Regression testing: is testing how old reacts to the new. For example tester could shutdown a particular part of the program and see what happens.

Destructive testing: testing method where tester tries to broke the program deliberately.



Ei kommentteja:

Lähetä kommentti