ESTUDIOS DURACIÓN
III.6. LAS TERAPIAS DE COMBINACIÓN
Over the development of this work a set of new research lines have been identified, which could not be fully pursued because of time constraints. However, because of their potential interest, they will be briefly mentioned in this section.
The proposed approach has been focused on the client‐side of web applications. The logical extension should add the server‐side in the proposal. Of course, this extension is possible, but it has a drawback: the assessment is strongly linked to the server technology. In fact, this situation has happened in this dissertation. The generic approach for web applications has been implemented in the framework ATP. This framework was extended to web applications based on the Roma Framework (which is based on Java), resulting ATP4Romulus. This new
tools was extended by using specific generators for Roma applications (also for server‐side elements). Therefore, this new tool is only focused for these applications.
Moreover, the proposed approach can be extended to achieve automation for web applications based on the Service‐Oriented Architecture (SOA). These kinds of applications provide a way to deliver and consume web services. Therefore, the approach of automated testing and analysis can be extended to assess the quality of such application and services. Following the guidelines proposed in this dissertation, a description of the services should be defined in the pre‐automation step. The Web Services Description Language (WSDL) seems a good candidate a priori, but it should be confirmed by surveying the alternatives. Then, specific methods to perform black‐box testing could be carried out.
Since the proposed architecture and reference implementation is based on pluggable existing tools, it could be improved by adding new elements. For example, it could be extended to cover HTML 5 and CSS 3 for the static analysis (compatibility, usability, and accessibility), since the found tools does not cover such formats at the moment. Furthermore, the automation of web navigation for mobile web browsers could be reached if Selenium (or other equivalent component) supports such browsers.
Regarding the static assessment of the source code, the proposal has been focused on HTML and CSS. This approach can be extended by performing some kind of JavaScript validation, especially in compatibility analysis. This kind of assessment (compatibility) could be also extended by means of testing, for example using a virtualization or cloud computing approach to achieve the web navigation in different real browsers and operative systems.
Furthermore, a method to extend and maintain the rules handled by the static code analysers (employed to perform compatibility, usability, and accessibility) could be added to the proposal. In the presented approach, several existing tools have been integrated in ATP. Ideally, these tools could be integrated in a single component with different rule‐set to assess quality attributes such as compatibility, usability and so on. As a result, these rules could be more easily extensible and customizable.
Finally, the generation of the comparators element in oracles could be improved. In the presented approach, such comparators are limited to the logic comparison “equals” and “not equals”. Of course, this kind of assertions could be enhanced by adding new comparators and matchers, for example assessing set of values (greater, lower than) or string matchers (e.g. contains) .
References
[1] Abran, A.; Bourque, P.; Dupuis, R.; Moore, J. W. & Tripp, L. L.Abran, A.; Bourque, P.; Dupuis, R.; Moore, J. W. & Tripp, L. L., ed. (2004), Guide to the Software EngineeringBody of Knowledge ‐ SWEBOK, IEEE Press, Piscataway, NJ, USA.
[2] Adrion, W. R.; Branstad, M. A. & Cherniavsky, J. C. (1982), 'Validation, Verification, and Testing of Computer Software.', ACM Comput. Surv. 14(2), 159‐192.
[3] Agarwal, B.; Gupta, M. & Tayal, S. (2009), Software Engineering and Testing: An
Introduction (Computer Science), Jones & Bartlett Publishers.
[4] Al‐Qutaish, R. E. (2009), An Investigation of the Weaknesses of the ISO 9126 International Standard, in 'Proceedings of the 2009 Second International Conference on Computer and Electrical Engineering ‐ Volume 01', IEEE Computer Society, Washington, DC, USA, pp. 275‐‐279.
[5] Ammann, P. & Offutt, J. (2008), Introduction to Software Testing, Cambridge University Press, New York, NY, USA.
[6] Andrews, A. A.; Offutt, J. & Alexander, R. T. (2005), 'Testing web applications by modeling with fsms', Software and Systems Modeling 4, 326‐‐345.
[7] ATI (2011), Test Automation Body of Knowledge (TABOK), Automated Testing Institute. [8] Baker, P.; Dai, Z. R.; Grabowski, J.; Øystein Haugen; Schieferdecker, I. & Williams, C.
(2007), Model‐Driven Testing: Using the UML Testing Profile, Springer, Berlin.
[9] Bang‐Jensen, J. & Gutin, G. Z. (2008), Digraphs: Theory, Algorithms and Applications, Springer Publishing Company, Incorporated.
[10] Baresi, L.; Garzotto, F. & Paolini, P. (2001), Extending UML for Modeling Web Applications, in 'Proceedings of the 34th Annual Hawaii International Conference on System Sciences ( HICSS‐34)‐Volume 3 ‐ Volume 3', IEEE Computer Society, Washington, DC, USA, pp. 3055.
[11] Bartlett, J. (2005), 'The art of metaprogramming, Part 1: Introduction to metaprogramming'.
[12] Becker, S. A. & Berkemeyer, A. (2002), 'Rapid Application Design and Testing of Web Usability', IEEE MultiMedia 9, 38‐‐46.
[13] Beizer, B. (1990), Software Testing Techniques, 2nd Edition, International Thomson Computer Press.
[14] Beizer, B. (1984), Software system testing and quality assurance, Van Nostrand Reinhold. [15] 122 Berenbach, B.; Paulish, D.; Kazmeier, J. & Rudorfer, A. (2009), Software & Systems
Requirements Engineering: In Practice, McGraw‐Hill Osborne Media.
[16] Bertolino, A. (2007), Software Testing Research: Achievements, Challenges, Dreams, in 'Future of Software Engineering, 2007. FOSE '07', pp. 85‐103.
[17] Bieber, M.; Galnares, R. & Lu, Q. (1998), Web Engineering and Flexible Hypermedia, in Peter Brusilovksy & Paul de Bra, ed., 'Proceedings of the 2nd Workshop on Adaptive Hypertext and Hypermedia (Hypertext 98)'.
[18] Boehm, B. & Basili, V. R. (2001), 'Software Defect Reduction Top 10 List', Computer 34(1), 135‐‐137.
[19] Boehm, B. W. (1979), 'Software engineering: R&D trends and defense needs', Research
Directions in Software Technology, 44‐‐86.
Weighted Digraphs', J. Comb. Theory, Ser. B 66(2), 283‐292.
[21] Bondy, J. A. (1976), Graph Theory With Applications, Elsevier Science Ltd.
[22] Brandon, D. M. (2008), Software Engineering for Modern Web Applications:
Methodologies and Technologies (Premier Reference Source), IGI Global.
[23] Brinck, T.; Gergle, D. & Wood, S. D. (2001), Usability for the Web: Designing Web Sites
that Work (Interactive Technologies), Morgan Kaufmann.
[24] Bruns, A.; Kornstadt, A. & Wichmann, D. (2009), 'Web Application Tests with Selenium',
IEEE Softw. 26, 88‐‐91.
[25] Casteleyn, S.; Daniel, F.; Dolog, P. & Matera, M. (2009), Engineering Web Applications
(Data‐Centric Systems and Applications), Springer.
[26] Cerf, V. G. & Icahn, R. E. (2005), 'A protocol for packet network intercommunication',
SIGCOMM Comput. Commun. Rev. 35, 71‐‐82.
[27] Ceri, S.; Fraternali, P.; Bongio, A.; Brambilla, M.; Comai, S. & Matera, M. (2002), Designing
Data‐Intensive Web Applications (The Morgan Kaufmann Series in Data Management Systems), Morgan Kaufmann.
[28] Chen, T. Y. & Yu, Y. T. (1996), 'On the Expected Number of Failures Detected by Subdomain Testing and Random Testing', IEEE Trans. Softw. Eng. 22, 109‐‐119.
[29] Curphey, M. & Araujo, R. (2006), 'Web Application Security Assessment Tools', IEEE
Security and Privacy 4, 32‐‐41.
[30] Dalal, S.; Jain, A.; Karunanithi, N.; Leaton, J. & Lott, C. (1998), Model‐based Testing of a Highly Programmable System, in 'Proceedings of the The Ninth International Symposium on Software Reliability Engineering', IEEE Computer Society, Washington, DC, USA, pp. 174. [31] Dasso, A. (2006), Verification, Validation and Testing in Software Engineering, IGI Global. [32] De Troyer, O. M. F. & Leune, C. J. (1998), 'WSDM: a user centered design method for Web sites', Comput. Netw. ISDN Syst. 30, 85‐‐94. [33] DeMillo, R. A. & Offutt, A. J. (1991), 'Constraint‐Based Automatic Test Data Generation', IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 17(9), 900‐‐910. [34] Di Lucca, G. A. & Fasolino, A. R. (2006), 'Testing Web‐based applications: The state of the art and future trends', Information and Software Technology 48(12), 1172‐‐1186. [35] Diestel, R. (2005), Graph Theory, Vol. 173, Springer‐Verlag, Heidelberg.
[36] Dijkstra, E. W. (1975), 'Guarded commands, nondeterminacy and formal derivation of programs', Commun. ACM 18(8), 453‐‐457.
[37] Duran, J. W. & Ntafos, S. C. (1984), 'An Evaluation of Random Testing', IEEE Trans.
Software Eng. 10(4), 438‐444.
[38] Dustin, E.; Garrett, T. & Gauf, B. (2009), Implementing Automated Software Testing: How
to Save Time and Lower Costs While Raising Quality, Addison‐Wesley Professional.
[39] Elbaum, S.; Chin, H. N.; Dwyer, M. B. & Jorde, M. (2009), 'Carving and Replaying Differential Unit Test Cases from System Test Cases', IEEE Trans. Softw. Eng. 35, 29‐‐45. [40] Escalona, M. J. & Aragón, G. (2008), 'NDT. A Model‐Driven Approach for Web
Requirements', IEEE Trans. Softw. Eng. 34, 377‐‐390.
[41] Fagan, M. E. (1976), 'Design and code inspections to reduce errors in program development', IBM Systems Journal 15(3), 182‐‐211.
[42] Farrell‐Vinay, P. (2008), Manage software testing, Auerbach Publications.
[43] Ferguson, R. & Korel, B. (1996), 'The chaining approach for software test data generation', ACM Trans. Softw. Eng. Methodol. 5(1), 63‐‐86. [44] Fleischner, H. (1990), Eulerian graphs and related topics: , North‐Holland. [45] 133 Fong, E. & Okun, V. (2007), Web Application Scanners: Definitions and Functions., in 'HICSS', IEEE Computer Society, , pp. 280. [46] Futatsugi, K.; Goguen, J. A.; Jouannaud, J.‐P. & Meseguer, J. (1985), Principles of OBJ2, in 'Proceedings of the 12th ACM SIGACT‐SIGPLAN symposium on Principles of programming
languages', ACM, New York, NY, USA, pp. 52‐‐66.
[47] Galin, D. (2003), Software Quality Assurance: From Theory to Implementation, Addison Wesley.
[48] García‐Carmona, R.; Álvaro Navas; Cuadrado, F.; García, B.; Parada, H. A. & Dueñas, J. C. (2010), A Model‐Based Approach for the Management of Electronic Invoices., in '3rd Workshop on Model‐Driven Tool & Process Integration (MDTPI)', pp. 51‐‐61.
[49] Garson, G. (2002), Guide to writing empirical papers, theses, and dissertations, Marcel Dekker.
[50] Geras, A. M.; Smith, M. R. & Miller, J. (2004), 'A survey of software testing practices in alberta', Electrical and Computer Engineering, Canadian Journal of 29(3), 183‐‐191. [51] GESFOR; IMOLA; LIFERAY; UPM; ICI & DERI (2009), 'D6.4 Report on the final
demonstrator', Technical report, ICT‐Romulus.
[52] Gilb, T. & Graham, D.Finzi, S., ed. (1993), Software Inspection, Addison‐Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[53] Giraudo, G. & Tonella, P. (2003), 'Designing and Conducting an Empirical Study on Test Management Automation', Empirical Softw. Engg. 8, 59‐‐81.
[54] Glass, R. L.; Ramesh, V. & Vessey, I. (2004), 'An analysis of research in computing disciplines', Commun. ACM 47, 89‐‐94.
[55] Godefroid, P.; Levin, M. Y. & Molnar, D. A. (2008), Automated Whitebox Fuzz Testing, in 'Network Distributed Security Symposium (NDSS)'.
[56] Gries, D. (1987), The Science of Programming, Springer.
[57] Guttag, J. V.; Horning, J. J.; Garl, S. J.; Jones, K. D.; Modet, A. & Wing, J. M. (1993), Larch: Languages and Tools for Formal Specification, in 'Texts and Monographs in Computer Science', Springer‐Verlag.
[58] Hamlet, D. (2006), When only random testing will do, in 'Proceedings of the 1st international workshop on Random testing', ACM, New York, NY, USA, pp. 1‐‐9. [59] Harman, M. (2006), Search Based Software Engineering, in Vassil Alexandrov; Geert van Albada; Peter Sloot & Jack Dongarra, ed., 'Computational Science – ICCS 2006', Springer Berlin / Heidelberg, , pp. 740‐747. [60] Harman, M. (2007), The Current State and Future of Search Based Software Engineering, in '2007 Future of Software Engineering', IEEE Computer Society, Washington, DC, USA, pp. 342‐‐357.
[61] Harman, M.; Mansouri, S. A. & Zhang, Y. (2009), 'Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications', Technical report, King's College London.
[62] Harman, M.; Ph, U. & Jones, B. F. (2001), 'Search‐Based Software Engineering',
Information and Software Technology 43, 833‐‐839.
[63] Harper, S. & Yesilada, Y. (2008), Web Accessibility: A Foundation for Research (Human‐
Computer Interaction Series), Springer.
[64] Hasling, B.; Goetz, H. & Beetz, K. (2008), Model Based Testing of System Requirements using UML Use Case Models, in 'Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation', IEEE Computer Society, Washington, DC, USA, pp. 367‐‐376.
[65] Hoare, C. A. R. (1983), 'An axiomatic basis for computer programming', Commun. ACM 26, 53‐‐56.
[66] Holdener, A. T. (2008), Ajax: The Definitive Guide, O'Reilly Media.
[67] Hood, C.; Wiedemann, S.; Fichtinger, S. & Pautz, U. (2008), Requirements 32
Management: The Interface Between Requirements Development and All Other Systems Engineering Processes, Springer.
[68] Humble, J. & Farley, D. (2010), Continuous Delivery: Reliable Software Releases through
Addison‐Wesley Professional.
[69] IEEE (1998), 'IEEE standard for software reviews', IEEE Std 1028‐1997 , Technical report, IEEE.
[70] IEEE (1990), 'IEEE Standard Glossary of Software Engineering Terminology''IEEE Std 610.12‐1990', Technical report, IEEE.
[71] Inc., A. T. & Inc., J. R. (2006), 'Akamai and Jupiter Research identify ‘4 seconds’ as the new threshold of acceptability for retail web page response times'.
[72] Inc., A. T. & Quocirca (2007), 'Akamai and Quocirca identify ’4 second’ performance threshold for European web‐based enterprise applications'.
[73] ISO/IEC Standard (2003), 'Software Engineering – Product Quality – Part 1: Quality Model'(9126‐1), Technical report, ISO/IEC.
[74] ISO/IEC Standard (2003), 'Software Engineering – Product Quality – Part 2: External Metrics'(9126‐2), Technical report, ISO/IEC.
[75] ISO/IEC Standard (2003), 'Software Engineering – Product Quality – Part 3: Internal Metrics'(9126‐3), Technical report, ISO/IEC.
[76] ISO/IEC Standard (2003), 'Software Engineering – Product Quality – Part 4: Quality in‐Use Metrics'(9126‐3), Technical report, ISO/IEC.
[77] ISO/IEC Standard (2001), 'International Standard ISO/IEC 9126, Information technology ‐‐ Product Quality ‐‐ Part1: Quality Model', Technical report, International Standard Organization.
[78] Itti, L. & Koch, C. (2001), 'Computational Modeling of Visual Attention', Nature Reviews
Neuroscience 2, 194‐203.
[79] Itti, L.; Koch, C. & Niebur, E. (1998), 'A Model of Saliency‐Based Visual Attention for Rapid Scene Analysis', IEEE Transactions on Pattern Analysis and Machine Intelligence 20(11), 1254‐‐1259.
[80] Joines, S.; Willenborg, R. & Hygh, K. (2002), Performance Analysis for Java Websites, Addison‐Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[81] Jones, C. B. (1980), Software Development: A Rigorous Approach, Prentice Hall PTR, Upper Saddle River, NJ, USA.
[82] Jorgensen, P. C. (2008), Software Testing: A Craftsman's Approach, Third Edition, Auerbach.
[83] Kamperman, J. (2006), 'Automated Software Inspection. A new approach to increase software quality and productivity', Technical report, Reasoning.
[84] Koch, N. & Kraus, A. (2002), 'The expressive Power of UML‐based Web Engineering'. [85] Korel, B. (1996), Automated test data generation for programs with procedures, in
'Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis', ACM, New York, NY, USA, pp. 209‐‐215.
[86] Korel, B. (1992), 'Dynamic Method of Software Test Data Generation', Software Testing,
Verification & Reliability 2, 203‐‐213.
[87] Korel, B. & Al‐Yami, A. M. (1996), Assertion‐oriented automated test data generation, in 'Proceedings of the 18th international conference on Software engineering', IEEE Computer Society, Washington, DC, USA, pp. 71‐‐80.
[88] Last, M. (2004), Multi‐objective Classification with Info‐Fuzzy Networks, in 'ECML', pp. 239‐249.
[89] Lee, H.; Lee, C. & Yoo, C. (1998), A Scenario‐Based Object‐Oriented Methodology for Developing Hypermedia Information Systems, in 'Proceedings of the Thirty‐First Annual Hawaii International Conference on System Sciences ‐ Volume 2', IEEE Computer Society, Washington, DC, USA, pp. 47.
[90] Lucca, G. D.; Fasolino, A.; Faralli, F. & de Carlini, U. (2002), 'Testing Web Applications',
Software Maintenance, IEEE International Conference on 0, 0310.
Testing, in 'In Proceedings of the 5th International Workshop on Web Site Evolution', IEEE Computer Society.
[92] Mahmood, S. (2007), 'A Systematic Review of Automated Test Data Generation Techniques', Master's thesis, School of Engineering, Blekinge Institute of Technology, Sweden.
[93] Manolache, L. I. & Kourie, D. G. (2001), 'Software testing using model programs',
Software ‐ Practice and Experience 31, 1211‐‐1236.
[94] Martin, C. (1988), 'An Integrated Software Performance Engineering Environment', Master's thesis, Duke University, USA.
[95] Martín, P.; Hernández, G.; Iglesias, C. A.; Garulli, L. & Maestro, G. (2009), 'Janus: un Generador de la Vista de Roma Framework basado en Plantillas''Proceedings of the Symposium on Telematics Engineering, 8th edition'.
[96] McMinn, P. (2004), 'Search‐based software test data generation: a survey: Research Articles', Softw. Test. Verif. Reliab. 14(2), 105‐‐156. [97] Mcminn, P.; Harman, M.; Binkley, D. & Tonella, P. (2006), The species per path approach to search‐based test data generation, in 'In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA 2006', ACM, , pp. 13‐‐24. [98] Memon, A. (2001), 'A Comprehensive Framework for Testing Graphical User Interfaces', Phd Dissertation.
[99] Memon, A. M.; Pollack, M. E. & Soffa, M. L. (2000), 'Automated test oracles for GUIs',
SIGSOFT Softw. Eng. Notes 25(6), 30‐‐39.
[100] Mendes, E. & Mosley, N. (2005), Web Engineering, Springer.
[101] Meszaros, G. (2007), XUnit Test Patterns: Refactoring Test Code, Addison‐Wesley.
[102] Meszka, M. & Skupień, Z. (2006), 'Decompositions of a complete multidigraph into nonhamiltonian paths', J. Graph Theory 51, 82‐‐91.
[103] Meucci, M. (2008), 'The OWASP testing guide v3'.
[104] Meudec, C. (2001), 'ATGen: automatic test data generation using constraint logic programming and symbolic execution', Software Testing Verification and Reliability 11(2), 81‐‐96.
[105] Meyer, B. (1992), 'Applying "Design by Contract"', Computer 25, 40‐‐51. [106] Miles, R. & Hamilton, K. (2006), Learning UML 2.0, O'Reilly Media, Inc..
[107] Mills, H. D.; Basili, V. R.; Gannon, J. D. & Hamlet, R. G. (1987), Principles of Computer
Programming: A Mathematical Approach, Alan and Bacon, Inc., Boston, USA.
[108] Molyneaux, I. (2009), The Art of Application Performance Testing: Help for Programmers
and Quality Assurance, O'Reilly Media.
[109] Mosley, D. J. & Posey, B. A. (2002), Just Enough Software Test Automation, Prentice Hall. [110] Myers, G. J. (1979), The Art of Software Testing, Wiley, New York.
[111] Naik, K. & Tripathy, P. (2008), Software testing and quality assurance: theory and
practice, John Wiley & Sons.
[112] Naur, P. & Randell, B. (1968), Software Engineering: Report on a conference sponsored by
the NATO Science Committee.
[113] Nguyen, H.; Hackett, M.; Johnson, B. & Johnson, R. (2003), Testing applications on the
Web: test planning for mobile and Internet‐based systems, Wiley Pub. [114] NIST (1962), 'Chinese postman problem (classic problem)'. [115] Offutt, J. (2010), Automatically Generating Test Data for Web Applications, in '5th Annual Google Test Automation Conference (GTAC) '. [116] Olsina, L.; Godoy, D.; Lafuente, G. & Rossi, G. (1999), 'Assessing the quality of academic websites: A case study', The New Review of Hypermedia and Multimedia 5, 81‐103. [117] OWASP (2009), 'OWASP Application Security Verification Standard (ASVS)'. [118] Park, R. E. (1996), Goal‐driven software measurement: A guidebook (Handbook / Carnegie Mellon University. Software Engineering Institute), Carnegie Mellon University, Software
Engineering Institute.
[119] Peterson, J. L. (1981), Petri Net Theory and the Modeling of Systems, Prentice Hall PTR, Upper Saddle River, NJ, USA.
[120] Pezze, M. & Young, M. (2007), Software Testing and Analysis: Process, Principles and
Techniques, Wiley.
[121] Phadke, M. S. (1997), 'Planning efficient software tests', CrossTalk: The Journal of Defense
Software Engineering, 11‐‐15.
[122] Pressman, R. (2010), Software engineering: a practitioner's approach, McGraw‐Hill Higher Education.
[123] Reports, T.; Király, T. & Király, T. (1999), Telecommunication Standard Sector of ITU, "Specification and Description Language (SDL, in 'ITU‐T Recommendation Z.100, Int'.
[124] Ricca, F. & Tonella, P. (2001), Analysis and testing of Web applications, in 'Proceedings of the 23rd International Conference on Software Engineering', IEEE Computer Society, Washington, DC, USA, pp. 25‐‐34.
[125] Rice, R. (2002), 'Surviving the top 10 challenges of software test automation', CrossTalk:
The Journal of Defense Software Engineering 1, 26‐‐29.
[126] Robertson, S. & Robertson, J. (2006), Mastering the Requirements Process (2nd Edition), Addison‐Wesley Professional.
[127] Rossi, G.; Pastor, O.; Schwabe, D. & Olsina, L. (2008), Web Engineering: Modelling and
Implementing Web Applications, Springer, London.
[128] Runeson, P.; Andersson, C. & Höst, M. (2003), 'Test processes in software product evolution ‐ a qualitative survey on the state of practice', Journal of Software Maintenance and Evolution: Research and Practice 15, 41‐‐59. [129] Sanjay J. Koyani, Robert W. Bailey, J. R. N. (2006), Research‐Based Web Design & Usability Guidelines, U.S. Dept. of Health and Human Services. [130] Schroeder, P. J. & Korel, B. (2000), 'Black‐box test reduction using input‐output analysis', SIGSOFT Softw. Eng. Notes 25, 173‐‐177. [131] Shahamiri, S. R.; Kadir, W. M. N. W. & Mohd‐Hashim, S. Z. (2009), A Comparative Study on Automated Software Test Oracle Methods, in 'Proceedings of the 2009 Fourth International Conference on Software Engineering Advances', IEEE Computer Society, Washington, DC, USA, pp. 140‐‐145.
[132] Sommerville, I. (2011), Software engineering, Pearson.
[133] Spivey, J. M. (1990), 'Specifying a Real‐Time Kernel', IEEE Softw. 7, 21‐‐28.
[134] Su, J. & Ritter, P. R. (1991), 'Experience in Testing the Motif Interface', IEEE Softw. 8, 26‐‐ 33.
[135] Subraya, B. (2006), Integrated approach to web performance testing: a practitioner's
guide, IRM Press.
[136] Sun (2004), 'Deployment Guide Sun ONE Portal Server. Version 6.2.'.
[137] Thimbleby, H. (2003), 'The directed chinese postman problem', In journal of Software –
Practice and Experience 33, 2003.
[138] Tian, J. (2005), Software Quality Engineering: Testing, Quality Assurance, and Quantifiable
Improvement, Wiley‐IEEE Computer Society Press.
[139] Tracey, N.; Clark, J. & Mander, K. (1998), 'Automated program flaw finding using simulated annealing', SIGSOFT Softw. Eng. Notes 23, 73‐‐81.
[140] Tran, E. (1999), 'Requirements & Specifications', 18‐849b.
[141] Utting, M. & Legeard, B. (2006), Practical Model‐Based Testing: A Tools Approach, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
[142] Vanmali, M. (2001), 'Using a neural network in the software testing process', Master's thesis, University of South Florida.
SIGSOFT Softw. Eng. Notes 18, 61‐‐69.
[144] Warmer, J. & Kleppe, A. (1999), The object constraint language: precise modeling with
UML, Addison‐Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[145] Whittaker, J. A. (2009), Exploratory Software Testing: Tips, Tricks, Tours, and Techniques
to Guide Test Design, Addison‐Wesley Professional.
[146] Xie, Q. & Memon, A. M. (2007), 'Designing and comparing automated test oracles for GUI‐based software applications', ACM Trans. Softw. Eng. Methodol. 16(1).
[147] Zelkowitz, M. V. (1993), 'Role of Verification in the Software Specification Process.',
Advances in Computers 36, 43‐109.
Annex I: Navigation XSD Schema
<?xml version="1.0" encoding="iso-8859-1"?>
<xsd:schema xmlns:atp="http://www.dit.upm.es/atp"
elementFormDefault="qualified"
targetNamespace="http://www.dit.upm.es/atp"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="website" type="atp:website" />
<!-- WEBSITE -->
<xsd:complexType name="website"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="home" type="atp:webstate" minOccurs="1" /> <xsd:element name="state" type="atp:webstate" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="transition" type="atp:webtransition"
minOccurs="0" maxOccurs="unbounded" /> </xsd:choice>
<xsd:attribute name="base" type="xsd:anyURI" use="required" /> </xsd:complexType>
<!-- /WEBSITE -->
<!-- WEBTRANSITION -->
<xsd:complexType name="webtransition"> <xsd:sequence>
<xsd:element name="action" minOccurs="1" maxOccurs="unbounded"> <xsd:complexType>
<xsd:attribute name="target" type="xsd:string" use="required" /> <xsd:attribute name="key" type="xsd:string" use="optional" /> <xsd:attribute name="event" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string"> <xsd:enumeration value="click" /> <xsd:enumeration value="dbclick" /> <xsd:enumeration value="mousedown" /> <xsd:enumeration value="mousemove" /> <xsd:enumeration value="mouseout" /> <xsd:enumeration value="mouseover" /> <xsd:enumeration value="mouseup" /> <xsd:enumeration value="keydown" /> <xsd:enumeration value="keypress" /> <xsd:enumeration value="keyup" /> </xsd:restriction>
</xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element>
<xsd:element name="to" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType>
<xsd:attribute name="state" type="xsd:string" use="required" /> <xsd:attribute name="id" type="xsd:string" use="optional" /> <xsd:attribute name="weight" type="xsd:integer" use="optional" />
</xsd:complexType> </xsd:element> </xsd:sequence>
<xsd:attribute name="from" type="xsd:string" use="required" /> </xsd:complexType>
<!-- /WEBTRANSITION -->
<!-- WEBSTATE -->
<xsd:complexType name="webstate"> <xsd:sequence>
<xsd:element name="data" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType>
<xsd:sequence>
<xsd:element name="value" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence>
<xsd:attribute name="locator" type="xsd:string" use="required" /> <xsd:attribute name="ref" type="xsd:string" use="optional" /> <xsd:attribute name="type" use="optional">
<xsd:simpleType>
<xsd:restriction base="xsd:string"> <xsd:enumeration value="text" /> <xsd:enumeration value="textarea" /> <xsd:enumeration value="password" /> <xsd:enumeration value="checkbox" /> <xsd:enumeration value="radio" /> <xsd:enumeration value="file" /> <xsd:enumeration value="select" /> </xsd:restriction>
</xsd:simpleType> </xsd:attribute>
<xsd:attribute name="required" type="xsd:boolean"
use="optional" />
<xsd:attribute name="stereotype" use="optional"> <xsd:simpleType>
<xsd:restriction base="xsd:string"> <xsd:enumeration value="name" /> <xsd:enumeration value="surname" /> <xsd:enumeration value="address" /> <xsd:enumeration value="number" /> <xsd:enumeration value="email" /> <xsd:enumeration value="date" /> </xsd:restriction>
</xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element>
<xsd:element name="assert" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType>
<xsd:sequence>
<xsd:element name="value" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence>
<xsd:attribute name="locator" type="xsd:string" use="optional" /> <xsd:attribute name="ref" type="xsd:string" use="optional" /> <xsd:attribute name="type" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string"> <xsd:enumeration value="text" /> <xsd:enumeration value="notText" />