Methods to test an e-learning Web application.

4,738 views

Published on

Gerardo Morales

Published in: Education, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,738
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
70
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 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

    ×