SMILEConsortium / smile_teacher_android

The SMILE Teacher Android App
http://www.smileconsortium.org
Apache License 2.0
1 stars 2 forks source link

Integration Test #1 SMILE Teacher + SMILE Plug Server #106

Closed truedat101 closed 10 years ago

truedat101 commented 10 years ago

We need to complete a full batch of testing against the current versions. The description below is a complete matrix of the testing needed. The task will be to run through a complete integration test using the test plan below. Copy the results into subsequent comments to this issue. It is expected that complete test runs may not be possible if there are P1 issues found. We may need to re-run the test plan. In these cases, provide a new cut-n-paste of the results below with details of the test run. We must only be testing tagged & released code at this point. @truedat101 will provide the tags to use for testing.

Successful completion will allow us to continue with a test against the firmware on a SMILE Plug: https://github.com/SMILEConsortium/smileplug-bsp/issues/19

Test Plan

DATE:, < INSERT DATE > Tester Github ID:, < INSERT TESTER ID > SMILE Android Version:,< INSERT VERSION > SMILE Server Version:, < INSERT VERSION > HOST OS:, < INSERT VERSION > Android Device Model:, < INSERT MODEL > Android OS Version:, < INSERT OS VERSION > Android Browser & Version:, < INSERT BROWSER and VERSION > *Desktop Browser & Version, < INSERT BROWSER and VERSION > Number of Student Web Clients:, 3

Scenario 1: Run session and let students create the questions

  1. ,TEACHER APP : Start teacher app, Pass :+1: [ ] Fail :-1: [ ]
  2. ,_TEACHER_APP : Verify Login Panel appears well formated for screen, Pass :+1: [ ] Fail :-1: [ ]
  3. ,TEACHER APP : Verify IP address is default: 10.1.0.1, Pass :+1: [ ] Fail :-1: [ ]
  4. ,TEACHER APP : Verify invalid IP address is not possible, Pass :+1: [ ] Fail :-1: [ ]
  5. ,TEACHER APP : Start teacher app, Pass :+1: [ ] Fail :-1: [ ]
  6. ,SERVER: Startup server as root on port 80, Pass :+1: [ ] Fail :-1: [ ]
  7. ,TEACHER APP : Verify connect success, Pass :+1: [ ] Fail :-1: [ ]
  8. ,TEACHER APP : Verify cancel button, Pass :+1: [ ] Fail :-1: [ ]
  9. ,TEACHER APP : Verify connect (again), Pass :+1: [ ] Fail :-1: [ ]
  10. ,STUDENT WEB : Verify user can reach login page, Pass :+1: [ ] Fail :-1: [ ]
  11. ,STUDENT WEB : Verify user can login, Pass :+1: [ ] Fail :-1: [ ]
  12. ,STUDENT WEB : Verify user on 'Get Ready' phase, Pass :+1: [ ] Fail :-1: [ ]
  13. ,TEACHER APP : Input Teacher session info and hit create, Pass :+1: [ ] Fail :-1: [ ]
  14. ,TEACHER APP : Verify Teacher can select Start Making Questions, Pass :+1: [ ] Fail :-1: [ ]
  15. ,TEACHER APP : Verify connect success, Pass :+1: [ ] Fail :-1: [ ]
  16. ,TEACHER APP : Verify at Students Screen with at least one student present, Pass :+1: [ ] Fail :-1: [ ]
  17. ,STUDENT WEB : Verify Student at Start Make Questions phase, Pass :+1: [ ] Fail :-1: [ ]
  18. ,STUDENT WEB : Verify there are no major layout or UI defects, Pass :+1: [ ] Fail :-1: [ ]
  19. ,STUDENT WEB : Verify Student can make a question without an image, Pass :+1: [ ] Fail :-1: [ ]
  20. ,STUDENT WEB : Verify Student can make a question with an image (must use image < 1MB), Pass :+1: [ ] Fail :-1: [ ]
  21. ,STUDENT WEB : Repeat previous two steps for each additional web client, Pass :+1: [ ] Fail :-1: [ ]
  22. ,TEACHER APP : Verify questions are received for each student, Pass :+1: [ ] Fail :-1: [ ]
  23. ,TEACHER APP : Verify teacher can view Question Detail (images should be available to view) for each question sent, Pass :+1: [ ] Fail :-1: [ ]
  24. ,TEACHER APP : Verify 'Start Solving Questions' button is available, and starts 'solving' phase when clicked, Pass :+1: [ ] Fail :-1: [ ]
  25. ,STUDENT WEB : Verify Student in 'Answer Questions' phase, Pass :+1: [ ] Fail :-1: [ ]
  26. ,STUDENT WEB : Verify Number of Questions listed is equal to number of questions teacher sees, Pass :+1: [ ] Fail :-1: [ ]
  27. ,STUDENT WEB : Verify Student can answer questions and select a positive or negative rating, Pass :+1: [ ] Fail :-1: [ ]
  28. ,STUDENT WEB : Repeat previous two steps for each additional web client, Pass :+1: [ ] Fail :-1: [ ]
  29. ,STUDENT WEB : Verify Student can submit answers when finished, should see 'waiting' message, Pass :+1: [ ] Fail :-1: [ ]
  30. ,TEACHER APP : Verify in Students tab that all students have answered all questions, Pass :+1: [ ] Fail :-1: [ ]
  31. ,TEACHER APP : Verify click on 'Finish Show Results' causes results to display, Pass :+1: [ ] Fail :-1: [ ]
  32. ,STUDENT WEB : Verify Student can review results, Pass :+1: [ ] Fail :-1: [ ]
  33. ,STUDENT WEB : Verify Student can view question details for each question: Pass :+1: [ ] Fail :-1: [ ]
  34. ,TEACHER APP : Verify in Students Tab the results are showing with correct Top Scorer Correct % completion Correct % right Pass :+1: [ ] Fail :-1: [ ]
  35. ,TEACHER APP : Verify "Restart" menu sends each student back to Login Screen , Pass :+1: [ ] Fail :-1: [ ]
  36. ,IQManager : Verify Session was created and is viewable in the sessions list , Pass :+1: [ ] Fail :-1: [ ]
  37. ,IQManager : Verify Details of Session , Pass :+1: [ ] Fail :-1: [ ]

Scenario 2: Run session and use prepared questions

  1. ,TEACHER APP : Start teacher app, Pass :+1: [ ] Fail :-1: [ ]
  2. ,_TEACHER_APP : Verify Login Panel appears well formated for screen, Pass :+1: [ ] Fail :-1: [ ]
  3. ,TEACHER APP : Verify IP address is default: 10.1.0.1, Pass :+1: [ ] Fail :-1: [ ]
  4. ,TEACHER APP : Verify invalid IP address is not possible, Pass :+1: [ ] Fail :-1: [ ]
  5. ,TEACHER APP : Start teacher app, Pass :+1: [ ] Fail :-1: [ ]
  6. ,SERVER: Startup server as root on port 80, Pass :+1: [ ] Fail :-1: [ ]
  7. ,TEACHER APP : Verify connect success, Pass :+1: [ ] Fail :-1: [ ]
  8. ,TEACHER APP : Verify cancel button, Pass :+1: [ ] Fail :-1: [ ]
  9. ,TEACHER APP : Verify connect (again), Pass :+1: [ ] Fail :-1: [ ]
  10. ,STUDENT WEB : Verify user can reach login page, Pass :+1: [ ] Fail :-1: [ ]
  11. ,STUDENT WEB : Verify user can login, Pass :+1: [ ] Fail :-1: [ ]
  12. ,STUDENT WEB : Verify user on 'Get Ready' phase, Pass :+1: [ ] Fail :-1: [ ]
  13. ,TEACHER APP : Input Teacher session info and hit create, Pass :+1: [ ] Fail :-1: [ ]
  14. ,TEACHER APP : Verify Teacher can select Use Prepared Questions, Pass :+1: [ ] Fail :-1: [ ]
  15. ,TEACHER APP : Verify Teacher is presented a list of prepared questions, properly formatted and listing number of questions, Pass :+1: [ ] Fail :-1: [ ]
  16. ,TEACHER APP : Verify connect success, Pass :+1: [ ] Fail :-1: [ ]
  17. ,TEACHER APP : Verify in Questions Tab that correct number of questions are loaded, Pass :+1: [ ] Fail :-1: [ ]
  18. ,TEACHER APP : Verify at Students Screen with at least one student present, Pass :+1: [ ] Fail :-1: [ ]
  19. ,STUDENT WEB : Verify Student at Start Make Questions phase, Pass :+1: [ ] Fail :-1: [ ]
  20. ,STUDENT WEB : Verify there are no major layout or UI defects, Pass :+1: [ ] Fail :-1: [ ]
  21. ,TEACHER APP : Verify Teacher can click Start Solving Questions, Pass :+1: [ ] Fail :-1: [ ]
  22. ,STUDENT WEB : Verify Student at Answer Questions phase, Pass :+1: [ ] Fail :-1: [ ]
  23. ,TEACHER APP : Verify questions are received for each student, Pass :+1: [ ] Fail :-1: [ ]
  24. ,TEACHER APP : Verify teacher can view Question Detail (images should be available to view) for each question sent, Pass :+1: [ ] Fail :-1: [ ]
  25. ,TEACHER APP : Verify 'Start Solving Questions' button is available, and starts 'solving' phase when clicked, Pass :+1: [ ] Fail :-1: [ ]
  26. ,STUDENT WEB : Verify Student in 'Answer Questions' phase, Pass :+1: [ ] Fail :-1: [ ]
  27. ,STUDENT WEB : Verify Number of Questions listed is equal to number of questions teacher sees, Pass :+1: [ ] Fail :-1: [ ]
  28. ,STUDENT WEB : Verify Student can answer questions and select a positive or negative rating, Pass :+1: [ ] Fail :-1: [ ]
  29. ,STUDENT WEB : Verify Student can submit answers when finished, should see 'waiting' message, Pass :+1: [ ] Fail :-1: [ ]
  30. ,STUDENT WEB : Repeat previous two steps for each additional web client, Pass :+1: [ ] Fail :-1: [ ]
  31. ,TEACHER APP : Verify in Students tab that all students have answered all questions, Pass :+1: [ ] Fail :-1: [ ]
  32. ,TEACHER APP : Verify click on 'Finish Show Results' causes results to display, Pass :+1: [ ] Fail :-1: [ ]
  33. ,STUDENT WEB : Verify Student can review results, Pass :+1: [ ] Fail :-1: [ ]
  34. ,STUDENT WEB : Verify Student can view question details for each question: Pass :+1: [ ] Fail :-1: [ ]
  35. ,TEACHER APP : Verify in Students Tab the results are showing with correct Top Scorer Correct % completion Correct % right, Pass :+1: [ ] Fail :-1: [ ]
  36. ,TEACHER APP : Verify "Restart" menu sends each student back to Login Screen , Pass :+1: [ ] Fail :-1: [ ]
  37. ,IQManager : Verify Session was created and is viewable in the sessions list , Pass :+1: [ ] Fail :-1: [ ]
  38. ,IQManager : Verify Details of Session , Pass :+1: [ ] Fail :-1: [ ]

Scenario 3: One-time things to verify

  1. ,TEACHER APP : Verify Teacher can view "About" menu and proper version # is displayed, :+1: [ ] Fail :-1: [ ]
  2. ,TEACHER APP : Verify Send Report button works and sends to server issue on github, Pass :+1: [ ] Fail :-1: [ ]
  3. ,TEACHER APP : Verify deletion of at least two questions in the same IQSet during the Make Questions phase choosing questions in the middle of the set, Pass :+1: [ ] Fail :-1: [ ]
  4. ,IQManager : Upload IQSet works with the three JAMsj csv files, Pass :+1: [ ] Fail :-1: [ ]
  5. ,IQManager : Verify upload succeeds for each IQSet and view them in the IQSet list, Pass :+1: [ ] Fail :-1: [ ]

Scenario 4: Repeat Scenario 2, but use 15 Web Clients (Use browser on server host, use http://localhost, with each client in a tab)

  1. ,TEACHER APP : Start teacher app, Pass :+1: [ ] Fail :-1: [ ]
  2. ,_TEACHER_APP : Verify Login Panel appears well formated for screen, Pass :+1: [ ] Fail :-1: [ ]
  3. ,TEACHER APP : Verify IP address is default: 10.1.0.1, Pass :+1: [ ] Fail :-1: [ ]
  4. ,TEACHER APP : Verify invalid IP address is not possible, Pass :+1: [ ] Fail :-1: [ ]
  5. ,TEACHER APP : Start teacher app, Pass :+1: [ ] Fail :-1: [ ]
  6. ,SERVER: Startup server as root on port 80, Pass :+1: [ ] Fail :-1: [ ]
  7. ,TEACHER APP : Verify connect success, Pass :+1: [ ] Fail :-1: [ ]
  8. ,TEACHER APP : Verify cancel button, Pass :+1: [ ] Fail :-1: [ ]
  9. ,TEACHER APP : Verify connect (again), Pass :+1: [ ] Fail :-1: [ ]
  10. ,STUDENT WEB : Verify user can reach login page, Pass :+1: [ ] Fail :-1: [ ]
  11. ,STUDENT WEB : Verify user can login, Pass :+1: [ ] Fail :-1: [ ]
  12. ,STUDENT WEB : Verify user on 'Get Ready' phase, Pass :+1: [ ] Fail :-1: [ ]
  13. ,TEACHER APP : Input Teacher session info and hit create, Pass :+1: [ ] Fail :-1: [ ]
  14. ,TEACHER APP : Verify Teacher can select Use Prepared Questions, Pass :+1: [ ] Fail :-1: [ ]
  15. ,TEACHER APP : Verify Teacher is presented a list of prepared questions, properly formatted and listing number of questions, Pass :+1: [ ] Fail :-1: [ ]
  16. ,TEACHER APP : Verify connect success, Pass :+1: [ ] Fail :-1: [ ]
  17. ,TEACHER APP : Verify in Questions Tab that correct number of questions are loaded, Pass :+1: [ ] Fail :-1: [ ]
  18. ,TEACHER APP : Verify at Students Screen with at least one student present, Pass :+1: [ ] Fail :-1: [ ]
  19. ,STUDENT WEB : Verify Student at Start Make Questions phase, Pass :+1: [ ] Fail :-1: [ ]
  20. ,STUDENT WEB : Verify there are no major layout or UI defects, Pass :+1: [ ] Fail :-1: [ ]
  21. ,TEACHER APP : Verify Teacher can click Start Solving Questions, Pass :+1: [ ] Fail :-1: [ ]
  22. ,STUDENT WEB : Verify Student at Answer Questions phase, Pass :+1: [ ] Fail :-1: [ ]
  23. ,TEACHER APP : Verify questions are received for each student, Pass :+1: [ ] Fail :-1: [ ]
  24. ,TEACHER APP : Verify teacher can view Question Detail (images should be available to view) for each question sent, Pass :+1: [ ] Fail :-1: [ ]
  25. ,TEACHER APP : Verify 'Start Solving Questions' button is available, and starts 'solving' phase when clicked, Pass :+1: [ ] Fail :-1: [ ]
  26. ,STUDENT WEB : Verify Student in 'Answer Questions' phase, Pass :+1: [ ] Fail :-1: [ ]
  27. ,STUDENT WEB : Verify Number of Questions listed is equal to number of questions teacher sees, Pass :+1: [ ] Fail :-1: [ ]
  28. ,STUDENT WEB : Verify Student can answer questions and select a positive or negative rating, Pass :+1: [ ] Fail :-1: [ ]
  29. ,STUDENT WEB : Verify Student can submit answers when finished, should see 'waiting' message, Pass :+1: [ ] Fail :-1: [ ]
  30. ,STUDENT WEB : Repeat previous two steps for each additional web client, Pass :+1: [ ] Fail :-1: [ ]
  31. ,TEACHER APP : Verify in Students tab that all students have answered all questions, Pass :+1: [ ] Fail :-1: [ ]
  32. ,TEACHER APP : Verify click on 'Finish Show Results' causes results to display, Pass :+1: [ ] Fail :-1: [ ]
  33. ,STUDENT WEB : Verify Student can review results, Pass :+1: [ ] Fail :-1: [ ]
  34. ,STUDENT WEB : Verify Student can view question details for each question: Pass :+1: [ ] Fail :-1: [ ]
  35. ,TEACHER APP : Verify in Students Tab the results are showing with correct Top Scorer Correct % completion Correct % right, Pass :+1: [ ] Fail :-1: [ ]
  36. ,TEACHER APP : Verify "Restart" menu sends each student back to Login Screen , Pass :+1: [ ] Fail :-1: [ ]
  37. ,IQManager : Verify Session was created and is viewable in the sessions list , Pass :+1: [ ] Fail :-1: [ ]
  38. ,IQManager : Verify Details of Session , Pass :+1: [ ] Fail :-1: [ ]
truedat101 commented 10 years ago

Bump release tag to 0.9.9b1 for testing.

truedat101 commented 10 years ago

@chrqls please use the following tags:

For smileplug-server: 1.0.1-jamsj For smileteacher-adm: 0.9.9b1-jamsj

What I suggest is using 1.0.1-jamsj from the server, and download and install the teacher apk from the server.

chrqls commented 10 years ago

Ok for the tags. I was using the id of a merge commit. Concerning the download, does the feature already exist? should I call a specific URI from the Nexus 7 browser? like /download/0.9.9b1-jamsj?

truedat101 commented 10 years ago

If you go to local host in your browser, click on the link for smileteacher-adm from your tablet. Apk will download. Go to notice to ons, click on apk and install. Sent from my BlackBerry 10 smartphone. From: Charles QuelosSent: Tuesday, December 31, 2013 1:32 PMTo: SMILEConsortium/smile_teacher_androidReply To: SMILEConsortium/smile_teacher_androidCc: truedat101Subject: Re: [smile_teacher_android] Integration Test #1 SMILE Teacher + SMILE Plug Server (#106)Ok for the tags. I was using the id of a merge commit. Concerning the download, does the feature already exist? should I call a specific URI from the Nexus 7 browser? like /download/0.9.9b1-jamsj?

—Reply to this email directly or view it on GitHub.

chrqls commented 10 years ago

Scenario 1: Run session and let students create the questions

Scenario 2: Run session and use prepared questions

Scenario 3: One-time things to verify

Scenario 4: Repeat Scenario 2, but use 15 Web Clients (Use browser on server host, use http://localhost, with each client in a tab)

truedat101 commented 10 years ago

@chrqls so if I read this correctly, Everything passed? Do you consider any items as must fix before we release?

truedat101 commented 10 years ago

I see, everything except for item 37 from Scenario 1.

chrqls commented 10 years ago

yes. I am working on a cool feature for the teacher right now but I can have a look to the "no image available" after if you want.

On Thu, Jan 2, 2014 at 7:58 PM, truedat101 notifications@github.com wrote:

I see, everything except for item 37 from Scenario 1.

— Reply to this email directly or view it on GitHubhttps://github.com/SMILEConsortium/smile_teacher_android/issues/106#issuecomment-31504046 .

truedat101 commented 10 years ago

Great. Can you wrap up the "no image issue" today? Then I'll finalize the release. It should take more than a few hours to fix.

On Thu, Jan 2, 2014 at 8:10 PM, Charles Quelos notifications@github.comwrote:

yes. I am working on a cool feature for the teacher right now but I can have a look to the "no image available" after if you want. I also switched on server side README.md and README.txt. See here https://github.com/SMILEConsortium/node-smile-server/pull/104for

more detail.

Let me know if you have something else to add on teacher app.

On Thu, Jan 2, 2014 at 7:58 PM, truedat101 notifications@github.com wrote:

I see, everything except for item 37 from Scenario 1.

— Reply to this email directly or view it on GitHub< https://github.com/SMILEConsortium/smile_teacher_android/issues/106#issuecomment-31504046>

.

— Reply to this email directly or view it on GitHubhttps://github.com/SMILEConsortium/smile_teacher_android/issues/106#issuecomment-31504337 .

chrqls commented 10 years ago

ok

On Fri, Jan 3, 2014 at 12:44 PM, truedat101 notifications@github.comwrote:

Great. Can you wrap up the "no image issue" today? Then I'll finalize the release. It should take more than a few hours to fix.

On Thu, Jan 2, 2014 at 8:10 PM, Charles Quelos notifications@github.comwrote:

yes. I am working on a cool feature for the teacher right now but I can have a look to the "no image available" after if you want. I also switched on server side README.md and README.txt. See here https://github.com/SMILEConsortium/node-smile-server/pull/104for

more detail.

Let me know if you have something else to add on teacher app.

On Thu, Jan 2, 2014 at 7:58 PM, truedat101 notifications@github.com wrote:

I see, everything except for item 37 from Scenario 1.

— Reply to this email directly or view it on GitHub<

https://github.com/SMILEConsortium/smile_teacher_android/issues/106#issuecomment-31504046>

.

— Reply to this email directly or view it on GitHub< https://github.com/SMILEConsortium/smile_teacher_android/issues/106#issuecomment-31504337>

.

— Reply to this email directly or view it on GitHubhttps://github.com/SMILEConsortium/smile_teacher_android/issues/106#issuecomment-31552137 .

chrqls commented 10 years ago

@truedat101,

I really don't know what is happening now with my network but I can do anything correctly.

I understand that for now we have the "No image available" message because there is a onclick="alert( in smile-iqmanager.html:

<tbody data-bind="foreach: iqdata">
    <tr class="iq-grid" data-bind="attr: {id: $index}">
        <td data-bind="text: $index()+1">1</td>
        <td data-bind="text: Q">Where was it?</td>
        <td data-bind="text: O1">Drawer</td>
        <td data-bind="text: O2">Shelf</td>
        <td data-bind="text: O3">TV</td>
        <td data-bind="text: O4">Floor</td>
        <td data-bind="text: A">3</td>
        <td><a class="tiny button" href="#" onclick="alert('No Images Available'); return false;"> <img src="images/photo-icon.png" /> </a></td>
    </tr>
</tbody>

Knockout give us a way to make our foreach on iqdata. So I have to find a way to get all the imageurl from this iqdata.

I think that the 2 functions we have to fix in smileiqmanager.js are function loadIQSet(evtdata, cb) and function loadSession(evtdata, cb) but impossible to continue my tests for now because of my network problems.


I wanted to see how the thing is working on smile web student to display the image. In smile-student.html, the <img /> tag looks like this:

<img data-bind="attr: { src: picdatauri}" />
truedat101 commented 10 years ago

Can you review the knockout.js information on data-bind attribute? This is an MVC pattern attribute which binds the model to the view. So if you have data for the view, it will be presented. In our case, we need to, for any legit have a src attribute, right? So typically a src attribute is a URL. In our case, we are going to provide BASE64 encoded data. See how I do this on the student html, where I upload an image. We use a special URI to bind that data. The first step here is to detect whether Question.PIC is defined. If it is defined, then present the button. Otherwise, hide the button. JQuery has nice routines to hide and unhide things.

On Sat, Jan 4, 2014 at 7:59 PM, Charles Quelos notifications@github.comwrote:

David,

I really don't know what is happening now with my network but I can do anything correctly.

I understand that for now we have the "No image available" message because there is a onclick="alert( in smile-iqmanager.html:

1 Where was it? Drawer Shelf TV Floor 3

Knockout give us a way to make our foreach on iqdata. So I have to find a way to get all the imageurl from this iqdata.

I think that the 2 functions we have to fix in smileiqmanager.js are function loadIQSet(evtdata, cb) and function loadSession(evtdata, cb) but impossible to continue my tests for now because of my network problems.

I wanted to see how the thing is working on smile web student to display the image. In smile-student.html, the tag looks like this:

— Reply to this email directly or view it on GitHubhttps://github.com/SMILEConsortium/smile_teacher_android/issues/106#issuecomment-31595727 .

truedat101 commented 10 years ago

@chrqls can you move all the discussion related to this issue with images in the iqset over to: https://github.com/SMILEConsortium/node-smile-server/issues/74

truedat101 commented 10 years ago

Closing. Looks like the first integration test succeeds.