WEB BROWSING AUTOMATION FOR APPLICATIONS QUALITY CONTROL
Keywords:
Automated Software Testing, Web Applications, Web Navigation, Functional Assessment, Non-Functional Assessment, Graph TheoryAbstract
Context: Quality control comprises the set of activities aimed to evaluate that software meets its specication and delivers the functionality expected by the consumers. These activities are often removed in the development process and, as a result, the nal software product usually lacks quality. Objective: We propose a set of techniques to automate the quality control for web applications from the client-side, guiding the process by functional and non-functional requirements (performance, security, compatibility, usability and accessibility). Method: The rst step to achieve automation is to dene the structure of the web navigation. Existing software artifacts in the phase of analysis and design are reused. Then, the independent paths of navigation are found, and each path is traversed automatically using real browsers while dierent kinds of assessments are carried out. Results: The processes and methods proposed in this paper have been implemented by means of a reference architecture and open source tools. A laboratory experiment and an industrial case study have been performed in order to validate the proposal. Conclusion: The denition of navigation paths is a rich approach to model web applications. Grey-box (black-box and white-box) methods have been proved to be very valuable for web assessment. The Chinese Postman Problem (CPP) is an optimal way to nd the independent paths in a web navigation modeled as a directed graph.
Downloads
References
S.A. Becker and A. Berkemeyer. Rapid application design and testing of web usability. MultiMedia,
IEEE, 9(4):38 { 46, oct-dec 2002.
E. Dustin, T. Garrett, and B. Gauf. Implementing Automated Software Testing: How to Save
Time and Lower Costs While Raising Quality. Prentice Hall, 2009.
Automated Testing Institute. Test Automation Body of Knowledge (TABOK). Automated Testing
Institute, 2011.
ISO. Software engineering { Product quality { Part 1: Quality model. Technical Report ISO/IEC
-1, International Organization for Standardization, 2001.
The Institute of Electrical and Eletronics Engineers. Ieee standard glossary of software engineering
terminology. IEEE Standard, September 1990.
J. Tian. Software Quality Engineering: Testing, Quality Assurance, and Quanti able Improvement.
Wiley-IEEE Computer Society Press, 1 edition, 2005.
I. Sommerville. Software Engineering 9. Pearson Education, 2011.
A. Abran, P. Bourque, R. Dupuis, J.W. Moore, and L.L. Tripp. Guide to the Software Engineering
Body of Knowledge - SWEBOK. IEEE Press, Piscataway, NJ, USA, 2004 version edition, 2004.
A. Bertolino. Software testing research: Achievements, challenges, dreams. In 2007 Future of
Software Engineering, FOSE '07, pages 85{103, Washington, DC, USA, 2007. IEEE Computer
Society.
P. Baker, Z.R. Dai, J. Grabowski, O. Haugen, I. Schieferdecker, and C. Williams. Model-Driven
Testing: Using the UML Testing Pro le. Springer-Verlag New York, Inc., Secaucus, NJ, USA,
M. Utting and B. Legeard. Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann
Publishers Inc., San Francisco, CA, USA, 2007.
ITU-T. ITU-T Rec. Z.100 { Formal description techniques (FDT) { Speci cation and Description
Language (SDL), 2002.
J.M. Spivey. Specifying a real-time kernel. IEEE Softw., 7(5):21{28, September 1990.
J.Warmer and A. Kleppe. The Object Constraint Language: Precise Modeling with UML. Addison-
Wesley, 1999.
B. Meyer. Applying "design by contract". Computer, 25(10):40{51, October 1992.
J.V. Guttag, J.J. Horning, S.J. Garland, K.D. Jones, A. Modet, and J.M. Wing. Larch: Languages
and tools for formal speci cation. Springer-Verlag, 1993.
A. Sirotkin. Web application testing with selenium. Linux J., 2010(192), April 2010.
J. Su and P.R. Ritter. Experience in testing the motif interface. IEEE Softw., 8(2):26{33, March
P.A. Vogel. An integrated general purpose automated test environment. In Proceedings of the
ACM SIGSOFT international symposium on Software testing and analysis, ISSTA '93, pages
{69, New York, NY, USA, 1993. ACM.
S. Elbaum, C.H. Nee, M.B. Dwyer, and M. Jorde. Carving and replaying di erential unit test
cases from system test cases. IEEE Transactions on Software Engineering, 35(1):29{45, 2009.
M. Last. Multi-objective classi cation with info-fuzzy networks. In ECML, pages 239{249, 2004.
N. Tracey, J. Clark, and K. Mander. Automated program
aw nding using simulated annealing.
In Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and
analysis, ISSTA '98, pages 73{81, New York, NY, USA, 1998. ACM.
J. O utt. Automatically Generating Test Data for Web Applications. 5th Annual Google Test
Automation Conference (GTAC), 2010.
G.J. Myers. Art of Software Testing. John Wiley & Sons, Inc., New York, NY, USA, 1979.
W.R. Adrion, M.A. Branstad, and J.C. Cherniavsky. Validation, veri cation, and testing of computer
software. ACM Comput. Surv., 14(2):159{192, June 1982.
W. Duran, J and S.C. Ntafos. An evaluation of random testing. IEEE Trans. Softw. Eng.,
(4):438{444, July 1984.
P. McMinn. Search-based software test data generation: a survey: Research articles. Softw. Test.
Verif. Reliab., 14(2):105{156, June 2004.
R.A. DeMillo and A.J. O utt. Constraint-based automatic test data generation. IEEE Trans.
Softw. Eng., 17(9):900{910, September 1991.
B. Korel. Dynamic method of software test data generation. Softw. Test., Verif. Reliab., 2(4):203{
, 1992.
M. Harman. The current state and future of search based software engineering. In 2007 Future of
Software Engineering, FOSE '07, pages 342{357, Washington, DC, USA, 2007. IEEE Computer
Society.
J.A. Whittaker. Exploratory Software Testing: Tips, Tricks, Tours, and Techniques to Guide Test
Design. Addison-Wesley Professional, 1st edition, 2009.
P. Ammann and J. O utt. Introduction to Software Testing. Cambridge University Press, New
York, NY, USA, 1 edition, 2008.
S.R. Shahamiri, W.M. Kadir, and S.Z. Mohd-Hashim. A comparative study on automated software
test oracle methods. In Proceedings of the 2009 Fourth International Conference on Software
Engineering Advances, ICSEA '09, pages 140{145, Washington, DC, USA, 2009. IEEE Computer
Society.
L.I. Manolache and D.G. Kourie. Software testing using model programs. Softw. Pract. Exper.,
(13):1211{1236, October 2001.
G.A. Di Lucca, A.R. Fasolino, F. Faralli, and U. Carlini. Testing web applications. In ICSM,
pages 310{319, 2002.
M. Vanmali, M. Last, and A. Kandel. Using a neural network in the software testing process. Int.
J. Intell. Syst., 17(1):45{62, 2002.
M.S. Phadke. Planning ecient software tests. CrossTalk - Journal of Defense Software Engi-
neering, 10(10):11{15, October 1997.
D.J. Mosley and B. Posey. Just Enough Software Test Automation. Prentice Hall PTR, Upper
Saddle River, NJ, USA, 2002.
E. Mendes and N. Mosley. Web Engineering. Springer, 2010.
G. Rossi, O. Pastor, D. Schwabe, and L. Olsina, editors. Web Engineering: Modelling and Imple-
menting Web Applications. Springer, 2008.
G.A. Di Lucca and A.R. Fasolino. Testing web-based applications: The state of the art and future
trends. Inf. Softw. Technol., 48(12):1172{1186, December 2006.
B. Garca, J.C. Due~nas, and H.A. Parada. Automatic functional and structural test case generation
for web applications based on agile frameworks. In 5th International Workshop on Automated
Speci cation and Veri cation of Web Systems (WWV 2009), pages 99{114, Hagenberg, Austria,
July 2009.
B. Garca, J.C. Due~nas, and H.A. Parada. Functional testing based on web navigation with
contracts. In IADIS International Conference (WWW/INTERNET), pages 168{173, Rome, Italy,
November 2009.
B. Garca and J.C. Due~nas. Automated functional testing based on the navigation of web applications.
In 7th International Workshop on Automated Speci cation and Veri cation of Web Systems
(WWV 2011), pages 49{65, Reykjavik, Iceland, June 2011.
F. Ricca and P. Tonella. Web site analysis: structure and evolution. In Software Maintenance,
Proceedings. International Conference on, pages 76{86, 2000.
F. Ricca and P. Tonella. Analysis and testing of web applications. In Proceedings of the 23rd
International Conference on Software Engineering, ICSE '01, pages 25{34, Washington, DC, USA,
IEEE Computer Society.
F. Ricca and P. Tonella. Detecting anomaly and failure in web applications. MultiMedia, IEEE,
(2):44{51, April 2006.
M. Benedikt, J. Freire, and P. Godefroid. Veriweb: Automatically testing dynamic web sites. In
In Proceedings of 11th International World Wide Web Conference, WWW 2002, 2002.
V. Anupam, J. Freire, B. Kumar, and D. Lieuwen. Automating web navigation with the webvcr.
Comput. Netw., 33(1-6):503{517, June 2000.
A. Safonov, J. Konstan, and J. Carlis. Beyond hard-to-reach pages: Interactive, parametric web
macros. In In Proceedings of of the 7th Conference on Human Factors & the Web, 2001.
J. Bang-Jensen and G.Z. Gutin. Digraphs: Theory, Algorithms and Applications. Springer Publishing
Company, Incorporated, 2nd edition, 2008.
B. Hasling, H. Goetz, and K. Beetz. Model based testing of system requirements using uml use
case models. Software Testing, Veri cation, and Validation, 2008 1st International Conference
on, pages 367{376, April 2008.
H. Thimbleby. The directed chinese postman problem. In journal of Software - Practice and
Experience, 33:2003, 2003.