Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Methods to test an e-learning Web application.

5,425 views

Published on

Gerardo Morales

Published in: Education, Technology, Business
  • Be the first to comment

Methods to test an e-learning Web application.

  1. 1. Methods to test an e-learning Web application. [email_address]
  2. 2. Problematic and Motivations <ul><li>LMS are rapidly increasing its complexity </li></ul><ul><ul><li>Learning standards </li></ul></ul><ul><ul><li>Security policies </li></ul></ul><ul><ul><li>Suggestions of users </li></ul></ul>Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  3. 3. Problematic and Motivations <ul><li>The real problem of an Open Source LMS </li></ul><ul><ul><li>It is a hard task to assure the stability because </li></ul></ul><ul><ul><ul><li>Daily changes (new features) </li></ul></ul></ul><ul><ul><ul><li>Hundred of different developers </li></ul></ul></ul><ul><ul><ul><ul><li>Different thinking </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Working separately </li></ul></ul></ul></ul>Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  4. 4. Conformance testing Model Implementation in Java Implementation in C++ Conforms? standard ISO 9646 Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  5. 5. Regression testing File a.tcl (version 0.1) File b.tcl (version 0.1) File c.tcl (version 0.1) File d.tcl (version 0.1) Execute conformance tests File c.tcl (version 0.2) Feature 1 Feature 2 Feature 3 Feature 4 Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  6. 6. Regression testing File a.tcl (version 0.1) File b.tcl (version 0.1) File c.tcl (version 0.1) File d.tcl (version 0.1) Feature 1 Feature 2 Feature 3 Feature 4 Execute conformance tests File c.tcl (version 0.2) Jtel Summer school 09 Terchova, Slovakia 2 June 2009 Feature 5 ?
  7. 7. Regression testing Feature 1 Feature 2 Feature 3 Feature 4 Version 0.1 Feature 1 Feature 2 Feature 3 Feature 4 Feature 5 Version 0.2 ? Regression bugs detected in Features 2 and 3 Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  8. 8. Automatic Model Based Testing Verdict System ? Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  9. 9. Automatic Model Based Testing Automatic testing Verdict System Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  10. 10. Automatic Model Based Testing Automatic testing Verdict Test cases System ?? Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  11. 11. Automatic Model Based Testing Automatic testing Verdict Test cases FORMAL Model of system System Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  12. 12. Automatic Model Based Testing Automatic testing Verdict Test cases FORMAL Model of system System ???? Jtel Summer school 09 Terchova, Slovakia 2 June 2009 Model
  13. 13. Model <ul><li>An abstraction of the real thing </li></ul><ul><ul><li>We abstract away all the irrelevant details </li></ul></ul><ul><ul><li>We abstract away all the confusing details </li></ul></ul><ul><ul><li>We make a Simplification of a real system </li></ul></ul><ul><li>Visibility of a system to be understood evaluated and criticized </li></ul>Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  14. 14. Model Jtel Summer school 09 Terchova, Slovakia 2 June 2009 Finit States Machine
  15. 15. Ready to model? Prolearn Summer school 09 Slovakia 2 June 2009 F: (usr,pass) L:register
  16. 16. Signup model Jtel Summer school 09 Terchova, Slovakia 2 June 2009 Our Login Page
  17. 17. Signup model Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  18. 18. Signup model Jtel Summer school 09 Terchova, Slovakia 2 June 2009 http://mymoodleinstance.com http://mymoodleinstance.com/signup http://mymoodleinstance.com/home
  19. 19. Signup model Jtel Summer school 09 Terchova, Slovakia 2 June 2009 Task 1 Build a model of…
  20. 20. Jtel Summer school 09 Terchova, Slovakia 2 June 2009 User Password OK Signout Welcome Harry Potter My Frequently asked Questions My Faq 1 Q: Where is Terchova? A: In Slovakia 2 Q Where is Gerardo? A: In Terchova Add an Q&A Signout Howards School LMS Add an Q&A Question: Answer: OK Signout
  21. 21. Signup model Jtel Summer school 09 Terchova, Slovakia 2 June 2009 q1 q1 q2 q3
  22. 22. Signup model Jtel Summer school 09 Terchova, Slovakia 2 June 2009 q1 q1 q2 q3 q1 q2 q3 q5 q7 q8
  23. 23. PRESENTATION OF METHODOLOGIES Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  24. 24. Simulator of the model Jtel Summer school 09 Terchova, Slovakia 2 June 2009 s0 s1 s2 s3 s4 s0 s5 s6 s7 TP: Action=input w State= s5 ck1= d x/y a/b c/d a/d d/e w/y a/b c/d f/g
  25. 25. Simulation of the model Jtel Summer school 09 Terchova, Slovakia 2 June 2009 s0 s1 s2 s3 s4 s0 s5 s6 s7 TP: Action=input w State= s5 ck1= d x/y a/b c/d a/d d/e w/y a/b c/d f/g Trace 1: [s0, x, y,s1] 2: [s1, w,y,s5] Inputs x,w Expected outputs y,y Expected final state s5
  26. 26. Output of the test generator Jtel Summer school 09 Terchova, Slovakia 2 June 2009 ?login(user1, password1) / ! Text (Welcome) ?frequently_asked_questions() / ! Text (My Faq) . . . . ?login(user1,user2) Twt:: form find « login » Twt:: field fill « user1 » Twt:: fiend find « password » Twt:: field fill « password1 » Twt:: form submit Translation to tclwebtest
  27. 27. Conformance test case (Automatic Model Based testing) Jtel Summer school 09 Terchova, Slovakia 2 June 2009 System Specs Formal Model (Functional +Security) Abstract Test Suites Test Scripts Test Execution Trace Report Editor Test Generator Test Transformer Executor Analyzer 1. Modeling 2. Generation 3. Translation 5. Analysis 4. Execution Test Purposes
  28. 28. USE CASE Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  29. 29. <ul><li>Test Preamble Test </li></ul>Conformance test case Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  30. 30. <ul><li>In the example of FAQ edition </li></ul><ul><ul><li>If the page we got after the action is the corret one </li></ul></ul>Verdict assignation if {[string match &quot;*admin/one-faq*&quot; $response_url] } { if { [catch {tclwebtest::form find ~n &quot;faq_add_edit&quot;} errmsg] || [catch{tclwebtest::field find ~v &quot;$faq_new_name&quot;} errmsg] } { aa_error &quot;faq::twt::edit_one failed $errmsg : Dont't Edit a Faq&quot; } else { aa_log &quot;Faq Edited“} Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  31. 31. <ul><li>In the example of FAQ edition </li></ul><ul><ul><li>If the page we where redirect is the correct one </li></ul></ul><ul><ul><li>If the new name of the faq is founded in the faq page </li></ul></ul>Verdict assignation if {[string match &quot;*admin/one-faq*&quot; $response_url] } { if { [catch {tclwebtest::form find ~n &quot;faq_add_edit&quot;} errmsg] || [catch{tclwebtest::field find ~v &quot;$faq_new_name&quot;} errmsg] } { aa_error &quot;faq::twt::edit_one failed $errmsg : Dont't Edit a Faq&quot; } else { aa_log &quot;Faq Edited“} Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  32. 32. Acs-automated testing Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  33. 33. Conformance test case <ul><li>Extract the semantic of the LMS </li></ul><ul><li>Generating a static trace while interacting with the Web application </li></ul>Jtel Summer school 09 Terchova, Slovakia 2 June 2009
  34. 34. Conformance test case <ul><li>Extract the semantic of dotLRN </li></ul><ul><li>Generating a static trace while interacting with the Web application </li></ul>Jtel Summer school 09 Terchova, Slovakia 2 June 2009

×