camera-app

Differences between revisions 20 and 21
Revision 20 as of 2015-03-11 22:17:39
Size: 10540
Editor: 179
Comment:
Revision 21 as of 2015-03-16 14:58:05
Size: 10621
Editor: 179
Comment:
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
 * Test both front and back cameras  * Test both front and back cameras (verify that controls do not disappear when switching from front to back camera)

* Test plan for component: camera-app

Dependents/Clients

  • Gallery app

Test Plan

This test plan is not supposed to be complete; use it to guide your manual testing so they dont miss big functional areas that are part in the component; also this should be used as guideline to inspire the exploratory testing which should be adapted smartly based on the real content of a MP

  • Install latest (trusty-proposed) image on phone
  • Install freshly build MPs that are needed for landing
  • Ensure that all AP tests pass on the device.
  • Test taking multiple pictures using the Camera and then ensuring photos are displayed in the gallery view (accessible by swiping to the right)
  • Test both front and back cameras (verify that controls do not disappear when switching from front to back camera)
  • Test taking pictures in portrait and landscape mode
  • Test focus works by tapping on the viewfinder
  • Test zooming (a 2 fingers pinch gesture triggers it)
  • Test the different flash modes
  • Test that the camera can be launched from the gallery
  • Test that pictures taken with HDR enabled have dark and bright areas showing details
  • Test that pictures taken with geolocation enabled have GPS related XMP tags in them:
    1. Launch dummy GPS provider on phone: sudo service ubuntu-location-service stop && sudo /usr/bin/ubuntu-location-serviced --bus system --provider dummy::Provider --dummy::Provider::ReferenceLocationLat=48.857503 --dummy::Provider::ReferenceLocationLon=2.295072

    2. Launch the camera app and enable geolocation in the options overlay
    3. Take a picture
    4. Check that the GPS tags are in the metadata of the picture's file: exiv2 -p a MYPIC.jpg
  • Test recording video in portrait and landscape mode, play video in mediaplayer-app making sure video orientation is correct
  • Test that taking a picture with orientation lock on results in a normal (not stretched picture):
    1. Turn device in portrait orientation
    2. Open system settings and activate "Rotation Lock"
    3. Turn device in landscape orientation
    4. Take picture in that orientation, the resulting picture should have a landscape orientation and not be stretched/squashed
  • Make sure that recording also captures clear-sounding audio
  • Play some music in the music-app and then test recording making sure that audio recording still works as expected
  • Test recording and have someone call during recording. Make sure that recording pauses, and then resumes after the call has ended
  • Insert an SD card into the phone, activate setting 'Save to SD card' from the bottom edge and take pictures and videos, they should be saved in the SD card
  • Set the self timer delay to 5 seconds, shoot a photo and verify that a countdown from 5 to 0 is displayed and a photo is taken after that delay.
  • Test Selection Mode
    • Open Photo Roll view
    • press and hold on a photo to select it
    • click anywhere on the photo (not on the selection box) to open it fullscreen with header visible
    • verify you can swipe through the pictures
    • verify you can click on the checkmark on the toolbar to select that picture, or on x to deselect the picture if it was already selected.
    • verify that when returning to the Photo Roll view the expected pictures are selected
    • the same test can be performed when in content-picking mode (i.e. selecting picture from camera to use as background in system-settings)
  • Test editing
    • If the package qtdeclarative5-ubuntu-ui-extras0.2 is installed on the system, then editing functionality will be available from the action menu when opening a picture. If that package is not installed, the action will not be available. The click package is dynamic so camera-app will function either way.
    • If editing enabled, test the following:
      • open photo and click the edit menu
      • verify that the revert button (bottom right) is not active if no edit has been made
      • verify the crop function works correctly
      • verify the rotate function works correctly
      • verify that the stack of edits can be undo/redo by using the icons on the toolbar
      • verify that the revert button (bottom right) will revert all edits
      • leave edit mode by pressing back button and verify changes to the picture are displayed in the PhotoRoll grid view

Stress Testing

Create a library of thousands of photos to do performance testing. Helper script to duplicate a given photo 2000 times:

  • On internal disk

for n in $(seq -w 2000); do cp <reference_picture>.jpg ~/Pictures/com.ubuntu.camera/picture_${n}.jpg; done
  • On SD card

for n in $(seq -w 2000); do cp <reference_picture>.jpg /media/phablet/<someId>/Pictures/com.ubuntu.camera/picture_${n}.jpg; done

Several stories need testing in this scenario:

  1. Opening up the app should not show any sort of lag or freeze and the photo roll should have a loading message
  2. Deleting all the 2000 photos from the photo roll should be relatively quick, no more than 2-3 seconds
  3. Taking a picture should be as quick as if there were very few photos in the library; no more than 1 second once focused and without flash

Thumbnails

  1. Open camera-app and take a picture in portrait mode using the back camera.
  2. Swipe to the left to view the image in the photo roll. Make sure the image has the expected aspect ratio (compare this image to what the camera-app's viewfinder shows live)
  3. In the upper right hand corner, tap the thumbnail view icon (a square with several smalls squares in a grid within it)
  4. Make sure the thumbnail has the same expected aspect ratio as the full image.
  5. On an Ubuntu desktop machine, navigate to Pictures/com.ubuntu.camera (device MTP) in Nautilus. Make sure that the thumbnail icon has the same expected aspect ratio as the full image and the thumbnail in photo roll on the device.

Repeat the same steps above for a landscape image. Repeat the same steps above for the front camera in both portrait and landscape.

Video Recording

Portrait

  1. Open camera-app and switch to video recording mode for the back camera
  2. Hold the camera in portrait mode
  3. Tap the recording button and move the phone left to right, then top to bottom
  4. Tap the recording button to stop recording
  5. Swipe to the left in the viewfinder until the just recorded video is visible
  6. Tap the video to begin playback, make sure that the video orientation is in portrait if you hold the phone in portrait (should be full screen). Make sure that the video switches to landscape when rotating the phone's orientation to landscape. Make sure that the recorded movements (i.e. left to right, top to bottom) show as expected and are not mirrored.

90 Degree Landscape

  1. Open camera-app and switch to video recording mode for the back camera
  2. Hold the camera in landscape mode (i.e. start in portrait, rotate 90 degrees counter clockwise)
  3. Tap the recording button and move the phone left to right, then top to bottom
  4. Tap the recording button to stop recording
  5. Swipe to the left in the viewfinder until the just recorded video is visible
  6. Tap the video to begin playback, make sure that the video orientation is in portrait if you hold the phone in portrait. Make sure that the video switches to landscape when rotating the phone's orientation to landscape (should be full screen). Make sure that the recorded movements (i.e. left to right, top to bottom) show as expected and are not mirrored.

180 Degree Portrait

  1. Open camera-app and switch to video recording mode for the back camera
  2. Hold the camera in portrait mode
  3. Tap the recording button and move the phone left to right, then top to bottom
  4. Tap the recording button to stop recording
  5. Swipe to the left in the viewfinder until the just recorded video is visible
  6. Tap the video to begin playback, make sure that the video orientation is in portrait if you hold the phone in portrait (should be full screen). Make sure that the video switches to landscape when rotating the phone's orientation to landscape. Make sure that the recorded movements (i.e. left to right, top to bottom) show as expected and are not mirrored.

270 Degree Landscape

  1. Open camera-app and switch to video recording mode for the back camera
  2. Hold the camera in landscape mode (i.e. start in portrait, rotate 90 degrees counter clockwise)
  3. Tap the recording button and move the phone left to right, then top to bottom
  4. Tap the recording button to stop recording
  5. Swipe to the left in the viewfinder until the just recorded video is visible
  6. Tap the video to begin playback, make sure that the video orientation is in portrait if you hold the phone in portrait. Make sure that the video switches to landscape when rotating the phone's orientation to landscape (should be full screen). Make sure that the recorded movements (i.e. left to right, top to bottom) show as expected and are not mirrored.

Repeat all 4 orientations for the front camera.

Video Scope Thumbnail

  1. Start a new video recording
  2. Stop video recording
  3. Swipe out of the camera-app and over to the video scope
  4. Make sure the video that you just recorded shows a thumbnail in the scope.

Low disk space The camera-app will warn the user if free disk space falls below 200MB but still allow video recording/photo taking until 50MB or less are available. Not recording/photos will be allowed when under the 50MB threshold and existing recordings in progress will stop when the threshold is hit.

  1. Use the following command to reduce your disk space to less than 200MB but greater than 50MB. df -kh command will show how much space you have available in your /home partition.

fallocate -l <amount>M|G testfile.txt
  1. Launch the camera-app and verify warning displayed but camera controls still functional
  2. Start recording a video. Monitor available disk space by using 'df -kh'. When 50MB threshold reached, verify video recording is stopped and a message is displayed to the user.
  3. Verify camera recording controls are disabled
  4. Swipe to the photo roll. Verify you can play back your video.
  5. Now delete the video using the UI
  6. Return to the viewfinder and verify camera recording controls are enabled.

Process/Merges/TestPlan/camera-app (last edited 2016-02-25 13:53:49 by localhost)