Académique Documents
Professionnel Documents
Culture Documents
Izzat Alsmadi
Kenneth Magel
Department of computer science
North Dakota state university
{izzat.alsmadi, Kenneth.magel}@ndsu.edu
NOTEPADMAINFILEPRINTPRINTTAB 28
NOTEPADMAINFILEPRINT 28
NOTEPADMAINPAGESETUPPAGESETUPGR
No. Of test cases generated OUPBOX2PAGESETUPLABEL7 34
NOTEPADMAINPAGESETUPPAGESETUPGR
OUPBOX2PAGESETUPLABEL6 34
Figure 1: Test suit effectiveness for the 4 NOTEPADMAINPAGESETUPPAGESETUPGR
algorithms explained earlier. OUPBOX2PAGESETUPTEXTBOX3 34
NOTEPADMAINPAGESETUPPAGESETUPGR
The above figure is showing that OUPBOX2PAGESETUPLABEL8 34
the last 2 algorithms may reach to about NOTEPADMAINPAGESETUPPAGESETUPGR
OUPBOX2PAGESETUPTEXTBOX1 34
100 % effectiveness at around 300 test NOTEPADMAINPAGESETUPPAGESETUPGR
cases generated. OUPBOX2PAGESETUPTEXTBOX4 34
NOTEPADMAINPAGESETUPPAGESETUPGR
Critical Path Selection: OUPBOX2PAGESETUPTEXTBOX2 34
Here are some of the critical path Figure 2: Test scenarios weights.
examples:
1. An external API or command line The algorithm will then select randomly
interface accessing an application. one of those scenarios that share the
2. Paths that occurs in many tests( in a same weight value. An experiment
regression testing database) should be done to test whether those
3. The most time consuming paths. scenarios that have same weight can be
We developed 2 algorithms to represented by one test case or not.
calculate critical paths automatically in 1. Other alternative is to set a minimum
the AUT. Part of future work is to weight required to select a test scenario
calculate the effectiveness of the and then generate all test scenarios that
suggested algorithms. have a higher weight that the selected
cut off. The 2 factors that affect the
critical path weight factor are the described above. Figure 4 is a sample
number of nodes that the path is output for measuring test case reduction
consisted of and the weight of each edge. using the above algorithm. The 5 result
This technique can help us define the scenarios are listed along with their total
longest or deepest paths in an reduction.
application. For example, all the 40
weight values in Notepad application Test Scenarios Total
belong to the node that has Page Setup. percent of
test
In this case it is so because it is the reduction
deepest one. Figure 3 is a table that %
shows the reduction percentage of NOTEPADMAIN, PRINTER,
selected scenarios using the above PRINTERBUTTON1,,,
selection (Giving the fact that the same NOTEPADMAIN,SAVE,SAVELABEL7,,
weight scenarios can be represented by NOTEPADMAIN,EDIT,FIND,TABCONT
ROL1,TABFIND,FINDTABBTNNEXT
one as explained earlier). NOTEPADMAIN,FILE,PRINT,PRINTTA
B,PRINTLABEL7,
AUT Total Reduction NOTEPADMAIN,SAVE,SAVELABEL5 65.1
number of percentage
test scenarios (100 – selected NOTEPADMAIN,FILE,PRINT,PRINTTA
scenarios/all B,PRINTLISTBOX1
scenarios) % NOTEPADMAIN,FONT,FONTLABEL2
Notepad 174 94.25 NOTEPADMAIN,HELPTOPICFORM,HE
FP 28 82.14 LPTOPICS,SEARCH,BUTTON1
Analysis NOTEPADMAIN,FONT,FONTTEXTBO
WordNet 8 75 X2,,
Gradient 153 92.81 NOTEPADMAIN, PRINTER, 41.67
GUI 51 88.23 PRINTERBUTTON2,,,
Controls NOTEPADMAIN,FILE,PRINT,PRINTTA
Hover 10 90 B,PRINTGROUPBOX1
Figure 3: Weight algorithm reduction NOTEPADMAIN,
percentage. PAGESETUP,PRINTER,
NOTEPADMAIN,FONT,FONTLISTBOX
2,,
2. Critical path level reduction. In this
NOTEPADMAIN,OPEN,OPENFILELAB
approach, we will select a test scenario EL4,,
randomly and then for the low levels of NOTEPADMAIN,SAVEAS,SAVEFILEC 51.56
the selected controls, we will exclude OMBOBOX2,
from selection all those controls that Figure 4: Level reduction sample test
share with the selected control the same results.
parent. This reduction shouldn’t exceed 4. GUI Auto; The developed GUI test
half of the tree depth. For example if the automation framework tool.
depth of the tree is 4 levels, we should
exclude controls from levels 3 and 4. We We are in progress of developing
assume that each test scenario should GUI Auto as an implementation for the
start from the main entry point and that 3 suggested framework. GUI Auto tool
controls is the least required for a test generates in the first stage an XML file
scenario (like Notepad – file – exit). We from the assembly of the AUT. It
select 5 test scenarios after each other captures the GUI controls and their
using the same reduction process relations with each other. It also captures
selected properties for those controls that
are relevant to the GUI. The generated 3. Jan Tretmans: Test Generation with Inputs,
XML file is then used to generate a tree Outputs, and Quiescence. TACAS 1996: 127-
146.
model that represent the tested 4. Software Design Group. MIT. Computer
application user interface. Several test Science and Artificial Intelligence Laboratory.
case generation algorithms are used to 2006. http://sdg.csail.mit.edu/index.html.
generate test cases automatically from 5. Prasanna, M, S.N. Sivanandam R.Venkatesan.
the XML model. Test case selection and and R.Sundarrajan. A survey on automatic test
case generation. Academic Open Internet
prioritization are developed to evaluate Journal. Vol. 15. 2005.
test adequacy in generating certain 6. Williams, Clay. Software testing and the
number of test cases. Test execution can UML. ISSRE99. 99. http://www.chillarege.com
be triggered automatically to execute the /fastabstracts/issre99/.
output of any test case generation 7. Beizer, Boris. Software Testing Techniques.
Second Edition. New York, Van Nostrand
algorithm. We are currently building the Reinhold, 1990.
process of test results verification to 8. Turner, C.D. and D.J. Robson. The State-
compare the output of the executed test based Testing of Object-Oriented Programs.
suites with the expected results. The Proceedings of the 1993 IEEE Conference on
generated files are in an XML or comma Software Maintenance (CSM- 93), Montreal,
Quebec, Canada, Sep. 1993.
delimited formats that can re reused on 9. T.H. Tse, F.T. Chan, H.Y. Chen. An Axiom-
different applications. A recent version Based Test Case Selection Strategy for Object-
of the tool can be found at Oriented Programs. University of Hong Kong,
http://www.cs.ndsu.nodak.edu/ Hong Kong. 94.
~alsmadi/ GUI_Testing_Tool/. 10. Orso, Alessandro, and Sergio Silva. Open
issues and research directions in Object Oriented
testing. Italy. AQUIS98.
5. CONCLUSION AND FUTURE 11. T.H. Tse, F.T. Chan, H.Y. Chen. In Black
WORK and White: An Integrated Approach to Object-
In this paper we explained some Oriented Program Testing. University of Hong
GUI test generation algorithms and Kong, Hong Kong. 96.
12. Rajanna V. Automated Software Testing
critical path test selection techniques. Tools and Their Impact on Software
We studied test effectiveness statically Maintenance- An Experience. Tata Consultancy
by measuring the discovered parts to the Services.
total ones. The future work will include 13. Stanford, Matthew. Object specification tool
developing test execution and using VTL. Master dissertation. University of
Sheffield. 2002.
verification to measure the overall fault 14. Memon, Atef. Hierarchical GUI Test Case
detection effectiveness from those Generation Using Automated Planning. IEEE
generated test cases. Measuring the transactions on software engineering. 2001. vol
performance of GUI test case generation 27.
algorithms is another future work 15. Mikkolainen, Markus. Automated
proposed track. Graphical User Interface Testing. 2006.
www.cs.helsinki.fi/u/paakki/mikkolainen.pdf.
16. Alexander K, Ames and Haward Jie. Critical
6. REFERENCES Paths for GUI Regression Testing.
1. Pettichord, Bret. Homebrew test automation. www.cse.ucsc.edu/~sasha/proj/gui_testing.pdf
ThoughtWorks. Sep. 2004.
www.io.com/~wazmo/ papers/
homebrew_test_automation_200409.pdf.
2. Goga, N. A probabilistic coverage for on-the-y
test generation algorithms. Jan. 2003.
fmt.cs.utwente.nl/publications/files/
398_covprob.ps.gz.