| || |
Test Execution Report based on Requirements
I would like to give an example before I jump into my question:
I have 50 Requirements
I have 50 test cases associated with these requirements
I have created 2 test sets
Test Set A (Dry Runs) with 50 test cases
Test Set B (Actual verification) with 50 test cases
I need a report that contains list of all the requirements and their corresponding status based on the test cases executed in Test Set A.
Excel report may contain following columns:
Req ID, Req Description, Req Status, Test Set Name, Test Case Name, Executed By, Executed On, Test Case Status
Here Test Set Name will remain same for all the records as Test Set A.
I tried to use dashboard feature but could not find a link between test lab and requirements. There is a link between requirements and test cases and between test cases and test lab.
I also tried to create a SQL query but found it very complex.
Can anyone assist me with the same?
That sounds like you need release managemetn in there.
create 2 cycles, test set A and test set B
Assign your 50 reqs to both Test set A and B
Have 2 different folders in the lab, test set A and Test set B, each one assigned to their own cycle (A to A, B to B).
run your tests to your heart's content.
Now, back to requirements: view - coverage analysis.
Under settings (top right hand side corner), select Execution radio button, select either one of the Test Set A or Test Set B from the cycle drop down.
This shoudl give you visually what you need.
If you try and report on reqs after multiple executions (without assigning them to cycles), your reports are not going to be accurate, since DCS (direct cover status) only stores the last execution status....
let me know if that works for you.
Here is the SQL way to get the requirement statuses based on the test set execution results. Just replace the 'YOUR TEST SET NAME' string with your test set name.
select *, case when PassedTests=TotalTests then 'Passed'
when FailedTests > 0 then 'Failed'
when TotalTests=0 then '-' else 'Not Completed' end as TestBasedStatus
select rq_req_id, req.rq_req_name, rq_req_status
, SUM(case when tc_status='Passed' then 1 end) as PassedTests
, SUM(case when tc_status='Failed' then 1 end) as FailedTests
, SUM(case when tc_status='No Run' then 1 end) as NoRunTests
, Count(tc_test_id) as TotalTests
left join req_cover on RQ_REQ_ID=rc_req_id and rc_entity_type='TEST'
left join testcycl on tc_test_id=rc_entity_id
left join cycle on cy_cycle_id=tc_cycle_id
where cy_cycle is null or cy_cycle='YOUR TEST SET NAME'
group by rq_req_id, req.rq_req_name, rq_req_status, rq_req_path
order by rq_req_path
This works with MS SQL database, but not with Oracle.