Original in Russian: http://programmingmindstream.blogspot.ru/2014/01/blog-post_27.html
I have written a bit here - http://18delphi.blogspot.ru/2013/11/gui_9423.html
I will follow up on it.
Many say “oh, we have to test” (Many more say, of course, "there is no need in testing” :-) But this post is not for them).
Let’s ask ourselves - "what exactly is to be tested"?
I’ll try to pick out the "testing layers" and the "appropriate tools".
The choices are the following:
1. Testing of "base classes" and "data structure". The “bare” DUnit (http://dunit.sourceforge.net/) and "atomic tests" - http://18delphi.blogspot.ru/2013/04/blog-post_2326.html and http://programmingmindstream.blogspot.ru/2013/11/tdd_28.html are appropriate for using here. Don’t forget about the “pre-” and “postconditions”.
2. Testing of classes with "parameterized entry" (entry mock's). Here it is appropriate to use DUnit add-in - http://18delphi.blogspot.ru/2013/04/blog-post_7108.html and also - "the etalons" - http://18delphi.blogspot.ru/2013/04/blog-post_8791.html
3. Testing of “user stories” (of “base classes”). Here it is appropriate to use this - http://roman.yankovsky.me/?p=1355. May be, one can also test “use cases”, but Roman has not yet developed this theme.
4. Testing of “separate components". Here this one is appropriate - http://programmingmindstream.blogspot.ru/2014/01/openctf-component-test-framework.html
5. Testing of “use cases". Here this one can be used - http://18delphi.blogspot.com/2015/03/gui-testing-11-gui-testing-in-spoken.html and http://18delphi.blogspot.ru/2013/11/gui-back-to-basics_22.html and http://18delphi.blogspot.ru/2013/11/gui-dunit.html
6. Testing of GUI-application as a “black” (“gray”) box (“honest” pressing the “buttons”). Here it is appropriate to use - TestComplete (http://smartbear.com/products/qa-tools/automated-testing-tools/ ). Do not forget about - http://programmingmindstream.blogspot.ru/2014/01/blog-post_626.html (in particular, it is written about “gray box” there).
7. Testing of GUI-application as a “true user” (we do not trust "bots”). What here? Here – MANUAL TESTING is used. "No tools"... The only tool is a sort of RequisitePro (http://www-03.ibm.com/software/products/ru/reqpro/ ) and writing HLTC (www.qualitytesting.info/forum/topics/low-and-high-level-test-cases?commentId=2064344%3AComment%3A427950&xg_source=activity and http://pic.dhe.ibm.com/infocenter/rqmhelp/v2r0/index.jsp?topic=/com.ibm.rational.test.qm.doc/topics/c_testcases.html and http://www.sqaforums.com/showflat.php?Number=663587) for "live testers".
It is so somehow...
Should I develop the theme?
P.S. What else do I want to tell?
The PREFERENCE of tests increases when moving from item 7 to item 1.
Why?
Because the COMPLEXITY of tests increases in the REVERSE order - when moving from item 1 to item 7.
That is why (other things equal), one should first try to write a test of a “lower level” and then (if it “goes wrong”) – to increase the level.
ONE more (very important) EXEPTION – if “similar test” has ALREADY been WRITTEN. In this case, the testing level is – NOT IMPORTANT. You have to take the ALREADY EXISTING test and try to ADOPT it to the “new tested case”.
I have written a bit here - http://18delphi.blogspot.ru/2013/11/gui_9423.html
I will follow up on it.
Many say “oh, we have to test” (Many more say, of course, "there is no need in testing” :-) But this post is not for them).
Let’s ask ourselves - "what exactly is to be tested"?
I’ll try to pick out the "testing layers" and the "appropriate tools".
The choices are the following:
1. Testing of "base classes" and "data structure". The “bare” DUnit (http://dunit.sourceforge.net/) and "atomic tests" - http://18delphi.blogspot.ru/2013/04/blog-post_2326.html and http://programmingmindstream.blogspot.ru/2013/11/tdd_28.html are appropriate for using here. Don’t forget about the “pre-” and “postconditions”.
2. Testing of classes with "parameterized entry" (entry mock's). Here it is appropriate to use DUnit add-in - http://18delphi.blogspot.ru/2013/04/blog-post_7108.html and also - "the etalons" - http://18delphi.blogspot.ru/2013/04/blog-post_8791.html
3. Testing of “user stories” (of “base classes”). Here it is appropriate to use this - http://roman.yankovsky.me/?p=1355. May be, one can also test “use cases”, but Roman has not yet developed this theme.
4. Testing of “separate components". Here this one is appropriate - http://programmingmindstream.blogspot.ru/2014/01/openctf-component-test-framework.html
5. Testing of “use cases". Here this one can be used - http://18delphi.blogspot.com/2015/03/gui-testing-11-gui-testing-in-spoken.html and http://18delphi.blogspot.ru/2013/11/gui-back-to-basics_22.html and http://18delphi.blogspot.ru/2013/11/gui-dunit.html
6. Testing of GUI-application as a “black” (“gray”) box (“honest” pressing the “buttons”). Here it is appropriate to use - TestComplete (http://smartbear.com/products/qa-tools/automated-testing-tools/ ). Do not forget about - http://programmingmindstream.blogspot.ru/2014/01/blog-post_626.html (in particular, it is written about “gray box” there).
7. Testing of GUI-application as a “true user” (we do not trust "bots”). What here? Here – MANUAL TESTING is used. "No tools"... The only tool is a sort of RequisitePro (http://www-03.ibm.com/software/products/ru/reqpro/ ) and writing HLTC (www.qualitytesting.info/forum/topics/low-and-high-level-test-cases?commentId=2064344%3AComment%3A427950&xg_source=activity and http://pic.dhe.ibm.com/infocenter/rqmhelp/v2r0/index.jsp?topic=/com.ibm.rational.test.qm.doc/topics/c_testcases.html and http://www.sqaforums.com/showflat.php?Number=663587) for "live testers".
It is so somehow...
Should I develop the theme?
P.S. What else do I want to tell?
The PREFERENCE of tests increases when moving from item 7 to item 1.
Why?
Because the COMPLEXITY of tests increases in the REVERSE order - when moving from item 1 to item 7.
That is why (other things equal), one should first try to write a test of a “lower level” and then (if it “goes wrong”) – to increase the level.
ONE more (very important) EXEPTION – if “similar test” has ALREADY been WRITTEN. In this case, the testing level is – NOT IMPORTANT. You have to take the ALREADY EXISTING test and try to ADOPT it to the “new tested case”.
Комментариев нет:
Отправить комментарий