-
Notifications
You must be signed in to change notification settings - Fork 31
Basic Regression Testing
- Create new folder called
<release version> UAT Folder
- Create three new folders within that one:
<release version> MF Surveys
<release version> Non MF Surveys
Test
- Rename
Test
- Move
Test
to another folder - Delete
Test
- Create a new survey within
<release version> MF Surveys
- Add a form called Registration Form
- Add a free text question with "use as data point name" checked
- Add a geolocation question with "use as data point location" checked
- Add a number question with "use as data point name" checked
- Publish
- Go back to folder and open MF Survey again
- Edit number question and un-check "use as data point name"
- Save and make sure the setting changed
- Publish
- Scroll back up to top of the survey
- Enable monitoring and ensure registration form is set
- Add another form with some questions
- Publish survey
- Create three new surveys within
<release version> Non MF Surveys
- Select one and name it
<release version> All questions survey
, change privacy setting from 'private' to 'public' - Add a form with one question group and then add a question for each question type
- Make sure you create 2 types of option questions - one where options do not have 'codes' and one where they do have 'codes'
- Make the group repeatable
- Create a group with Caddisfly questions. One for EC and at least one for strip tests.
- Select 'manage translations' from the form menu
- Add any language, complete translations for all sections and save
- Publish
- Refresh the page (with F5 for example). Go back to the folder, and then select the
<release version> All questions survey
again. - Open the questions and make sure all question settings (type, options, use as data point name, etc) are set up properly.
- Make sure the publish button of the survey is disabled, if not check the messages tab and make sure publish has succeeded.
- Make a change in one of the questions and publish.
- Check that the survey was published and version number changed.
- Select another of the created surveys and name it
<release version> mandatory questions survey
- Add a form with one question group
- Add a free text question with double entry flag checked
- Add a number question with double entry flag checked
- Add a picture question
- Add a geolocation question
- Ensure all four questions have the mandatory flag checked
- Add
Variable name
for all questions - Publish
- Select the last of the created surveys and name it
<release version> dependent questions survey
- Add a form with two question groups
- In group one add three option questions with three options (1,2,3)
- Create a dependency in question 2, which depends on question 1 option 3
- Create a dependency in question 3 which depends on question 2 option 2
- In the second question group add two more option questions with the same three options
- Create a dependency in question 1 which depends on question 2 option 2 from group one
- Create a dependency in question 2 which depends on question 3 option 3 from group one
- Publish
- In the folder
<release version> Non MF Surveys
, click to copy the<release version> All questions survey
and place the copy in the same folder - Repeat this, but place the copy in a different folder
- Visit the messages tab to see when this is complete
- When complete, open the copies and confirm everything present - including translations
- In one of the copies, copy the entire question group and confirm everything looks as expected
- Take the first of the two copies just created
- Click to delete each question individually
- Confirm you can delete the form
- Confirm you can delete the survey when the form is deleted
- Repeat this with the second copy, except delete all the questions in one go by deleting the whole question group
- Edit the name of an existing group
- Delete an existing group
- Create a new group
- Assign your test device to this new group
- Create new assignment for each of the 4 created surveys and add all the forms of that survey.
- Set the date to the period of testing
- Add your test device from the previously created group
- Save assignment
- Select the three non MF surveys and add their respective forms one by one
- Enter your email address and click send
- Confirm bootstrap email received and file can be downloaded
- Known issue: #2804 Manual survey transfer pre-selected forms
In order to get the latest app beta build, open this link https://uat1.akvoflow.org/app2 on your Android device.
- If old version of app installed, confirm prompt notifies of new version and that it can be installed
- If not already installed, confirm the latest version of the apk from /app2 link can be installed
- Confirm device identifier and instance name set up in preferences correctly (they are located at the bottom). Instance name is the dashboard url, for example https://uat1.akvoflow.org
- If valid assignment created previously, then opening app should fetch all test surveys
- Click options and select to download form by id
- Enter the id for a random form - select any from the dashboard
- Confirm this is fetched
It can be useful to have some sort of fake GPS application installed when performing the following steps, as this prevents all map points appearing in the one place
- Select the MF survey which was assigned
- Create new data point
- Complete the registration forms and submit
- Make sure the data point name is only generated from the free text question response and not also from number question
- Re enter the data point and complete the other form
- Submit at least two responses for this form
- Create another 2+ data points and repeat process
- Check that 'Search' and 'Sort' work properly when looking at the list of data points.
- Open the 'Map' tab, check the data points show on the map and click on one of the points, check its 'History'.
- Select the all questions survey
- Create a new data point and answer all questions
- Submit
- Create and submit several more responses, making sure that a few of them include repeated groups
- Ensure that question types like cascade and signature can not be submitted half completed
- Check that translations can be selected and are properly shown on the screen (multiple langugages at once, oswitch languages)
- Select the dependent questions survey
- Create new data point
- Ensure that the dependencies work as expected
- Submit
- Select the mandatory questions survey
- Create new data point
- Answer questions, ensuring double entry complains if not matching
- Submit
- Repeat for mandatory questions 5+ times (at least 5 data points at end)
- Go to dashboard, refresh the survey tab and open
<release version> mandatory questions survey
- Add two geoshape questions
- Publish and check the version number is updated
- Close the app and make sure it is not running in the background of the phone
- Re-open the app and confirm a form is being automatically downloaded
- Open
<release version> mandatory questions survey
and create a new point. - Confirm the version of the form is updated in the header and the form holds the 2 new geoshape questions.
- Submit a few new data points
- On your test device within the flow app go to Settings and publish data. Navigate to the SD Card file storage
Android/data/org.akvo.flow/files
, select thepublished
folder, and then zip it - Transfer this to your computer by connecting via usb cable or emailing the zip file, you will need it for Bulk Upload
- Remove application and delete the
akvoflow
folder from your sd card - Re-install the application but don't open it
- Move a bootstrap file to the inbox folder on your sd card
- Put the phone in airplane mode
- Open application and confirm surveys are bootstrapped as expected
- Select one of the recently completed surveys which contains an option question
- Check that the various chart types display as expected
Here we will test the Data analysis export
, the Comprehensive report
, the geoshape data
and the survey form
.
Data / Exports / New export
- Select the mandatory questions survey you created earlier
- Click generate on
Comprehensive report
to export a raw data report (you should receive an email) - Export another report but make use of the date filtering for responses, the
Most recent submissions
radio button should only be clickable when a monitoring form is selected for export. - Select the all questions survey you created earlier
- Check all data is rendered as expected
- Change option question answers for one submission (for both with codes and without codes) via the
Inspect data
tab in the dashboard and re-download the report. Check that the answers are rendered properly and reflect the change made. - Check that the questions in the report are the same as those in the survey.
- Add a question to the form but do not publish it.
- Export the report again. There should not be a column for the added question.
- Click to export a geographic shape (you'll have to select the shape question from the drop down) - confirm everything looks as expected
- Click to export a data analysis export - confirm any repeat groups look as expected
- Click to export a survey form - confirm everything looks as expected
The data cleaning can be done either via the dashboard Inspect data
tab or exporting and importing a spreadsheet. To test the data cleaning using the spreadsheet, the steps are:
* Data -> Exports -> New export -> select the folder/survey/form -> Data cleaning export
* Once the report is ready download the spreadsheet
* Make the edits and save the file
* Data -> Data cleaning tab -> select the folder/survey/form -> select the spreadsheet to upload -> import
- Create and download the Data cleaning export for the
mandatory questions survey
. - Edit all the values from the free text question
- Move the free text column one to the right (but do not leave an empty column)
- Reorder the response rows
- Save and Upload
- Once the
Messages
tab reports the spreadsheet has been processed, re-download the export and confirm responses were updated
- Create and download the Data cleaning export for the
all questions survey
. - Add another row in between a repeated group for another submission. Add the answers to the row (as if the submission was made on the phone) for the repeated questions. Add the correct repetition number.
- Repeated the above mentioned step but add a wrong repetition number.
- Save sheet and import back.
- Check the messages tab to see if the report has been processed. It should have failed due to missing repeat number.
- Open the saved spread sheet, remove the fully empty row, save and upload it again.
- Confirm with the messages tab that the spreadsheet was processed.
- Download the report via the Export report option and cross check that the changes are visible and all ok.
-
Create and download the Data cleaning export for the
MF survey > Registration form
. -
Edit the free text question response for a data point by adding in 'NAME CHANGE'
-
Add in 3 new data points - add in a response for the free text question 'NEW - name of city/location on the map' and the location info (latitude, longitude, elevation = 1, geocode = leave empty) from the chosen city/location, add in '1' in the repeated column
-
Save and upload again.
-
Once the message tab reports the spreadsheet has been processed, go to Inspect data tab and confirm the new points are added and the change to the existing point is made.
-
Go to Map tab and confirm the new points are added. Go to the app, selected the MF survey and download the data points. The 3 new points should appear in the list and the existing one should reflect the name change.
- Known issues and bugs:
- #2643 After importing in new data, they do not show on the map
- Known issues and bugs:
- Go to Inspect data tab and open the dependent questions survey
- Edit all submissions so in question one the answer is everywhere '1'
- Create and download the data cleaning export for the
dependent questions survey
- Check that the edits are rendered properly
- In the spread sheet, change all answers in column for question two into '1' as well and save file
- Upload the file, check that the Messages tab confirms the upload
- Go to Inspect data tab and open the dependent questions survey and check that both question one and question two have everywhere answer 1 selected
- On the
Inspect data
tab select thenon MF surveys
- Ensure all three surveys have data that appears
- Chose to edit some of the responses
- Make sure to try and edit cascade questions
- Ensure edits save
- Delete all data for these surveys
- Select the
Monitoring tab
, choose theMF survey
you created - Ensure responses appear and detailed responses can be viewed
- Delete everything
- Known issue: https://github.com/akvo/akvo-flow/issues/3021
- Go to
Data / Bulk upload data
on the dashboard, select this zip file you got from published data on the device and upload - Check the messages tab to see when it completes
- Once complete the previously deleted responses should be restored
- Known issues and bugs:
- #155 Bulk upload may not work if zip file path is absolute (generated by a mobile app for example)
- Add three new cascades via the import process - making sure that different separator formats are covered (comma, tab, semi-colon) and that codes are present in one file but not the other
- Check cascades look as expected
- Delete nodes at various levels, check structure remains as expected
- Publish one of the unaltered resources
- Check messages tab to see if publish successful
- Check points submitted from latest round of testing are present
- Check question overlay loads as expected and responses, image questions etc are fine
- You need two browsers or different sessions to test this
- The account you have been using so far should be a super admin
- You need an additional test Google account to restrict permissions on
- User can see and do everything
- If second test account is already added to dashboard, remove it and then re-add with the
Administrator - Create, Modify and Delete Users
checkbox ticked - Confirm account appears in user list, edit name etc should all work as expected
- Go to the Roles and Permissions tab
- Add a new
Administrator
role with a couple of permissions ticked - Save and verify that the role is created with the appropriate list of permissions
- Edit the role and tick all the permissions
- Save and verify that the list is updated to reflect all permissions correctly
- Create a second role
Administrator2
with all permissions ticked - Delete the role
Administrator2
- Verify that the role is correctly deleted from the list
- Return to the users tab and select your test user
- Assign the
Administrator
role to this user, against one of the folders you created for this round of testing
- Log in as your test user
- You should only see the two folders you gave permissions for
- You should be able to perform all actions in these two folders
- Drop down lists on the data tabs etc should only have the two folders
- You should be able to see the Users tab
- Log back in as your regular super admin account
- Remove the
Administrator
role from the test user account - Create a new role
ReadOnly
which only has the view permissions enabled - Assign this to the Test User on the same folders as before
- Log in as Test User
- Confirm folders and surveys visible but that it's not possible to do anything other than view
- Confirm data cleaning etc is not possible, on inspect data you should be able to view but not delete responses
Select from the various translations available at the bottom right of the dashboard and ensure that all elements on all tabs appear to be correctly translated
Select the milestone for the release on github (which should contain all the issues which are part of the release candidate). Each issue should have its own test plan, run through this test plan and if everything passes, mark the issue with the "Ready for release" label.
About Akvo Flow
Akvo Flow API
Developer Guides
- Deployments
- Development tools
- Android emulator setup
- Creating New Dashboard Instances
- Disabling Dashboard Instances
- Adding Translations to Dashboards
- Setup your development environment with IntelliJ IDEA
- Setup your development environment on Windows OS
Technical Specification
Regression Tests