• No se han encontrado resultados

LAS TERAPIAS DE COMBINACIÓN

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  Engineering 

Body 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" />