SwingPix Photo Organizer

Revised Test Plan

 

 

 

By:

Justin Berstler

Aju Mathew

Yinka Ogungbemi

Yinka Olabinjo

John Rountree

Mathew Schaffer

 

Submitted for Drexel University’s Software Engineering Workshop II

Monday June 2, 2003

 

This document is also available at

http://swingpix.sourceforge.net/docs/testplan/

 

 

 

1.  Introduction

a.    Overview

SwingPix is a digital photograph management system. Users can import photos from sources such as a hard drive or digital camera and organize them into albums. The system provides basic image editing utilities, such as color adjustments, cropping, resizing, rotating and flipping.  It also provides an easy printing utility that allows users to conveniently print their pictures.

b.    Document Purpose and Scope

This document provides a basic plan for testing the functional requirements for SwingPix, as specified in the requirements document at www.swingpix.sourceforge.net/requirements. It provides a numbered lists of tests to be performed against a SwingPix system.

 

2.  Test Procedures

a.    Test Objectives

This plan provides one or more basic tests for each of the functional requirements.  The more complicated requirements require multiple tests.  Each test description consists of the following fields:

 

Test Purpose

A brief description of the purpose of the test and the requirement it validates.

Test Method

A numbered list of steps to perform

Test Input

A description of the type of input to be entered by the user.

Expected Output

A description of what the result of the test should be.

Repetition

If test should be performed more than once, this section indicates how it should be repeated.

Input Notes

When you perform the test, enter the input you give here.  For example, for test #1, if you create an album named ‘Foobar’, then enter ‘Created an album named Foobar’.

Output Notes

Record the result of the test here.

 

b.    Testing Guidelines

The testing should consist of however many iterations are necessary to ensure that the requirements are met. Each iteration should include the following steps:

 

1.      Copy this document to a file indicative of the test iteration.  For example, ‘SwingPix-TestPlan-1.0-beta3.doc’.

2.      For each test that has not yet been run successfully:

a.      Conduct the test, entering the input you give into the ‘Input Notes’ field.

b.      Record the result of the test in the ‘Output Notes’ field.

c.      Mark the test as passing or failing, perhaps visually by changing the color of the name of the test to red or green, or something.

3.      If tests fail, the tester should notify the appropriate developer, who should make the changes to fix the bug in a separate environment, so as not to affect the tester’s installation of the program.

4.      After the tests have been run, the group should meet and discuss the status of the project, and particularly the status of any bugs that were reported in this cycle.

5.      After all necessary code changes are complete, this beta cycle should be marked as complete, and the cycle should be repeated until no more bugs are reported.  

 

Note that at each cycle, only tests that failed previously should be run. The last cycle(s) should be regression tests, to ensure that the fix for one bug didn’t create another.

 

c.    Evaluation Criteria

When evaluating the success or failure of a test, the following points should be considered:

·        Did the system do the task as expected? For example, If I delete an image, does the image get deleted?

·        Did the test cause any strange side effects? For example, If I delete an image, does the system also spontaneously eject the CDROM or change the desktop background image?

·        Did the test cause any heinous errors, such as segmentation faults or crashing the system entirely?

·        Did the system perform the task in a reasonable amount of time?

 

3.  Test Summary

a.    Environmental Prerequisites

In addition to any environmental prerequisites that may be required by the SwingPix system (such as a Java Runtime Environment, mouse, etc…), the testing environment should have the following resources available:

·        Some digital photos on the hard drive.

·        Some digital photos on a digital camera.

·        A printer

b.    System and Build Tests

Test Successful installation of SwingPix on to a machine.

c.    Requirements Trace

The following table maps each functional requirement to any related tests:

 

Requirement                                      

Related Tests       

2.1.1 Create New Album

1. New album Creation

2.1.2 Import Images

2. Import images from hard drive into existing empty album.

3. Import images from hard drive into existing non-empty album.

4. Import images from hard drive into a new album.

5. Import images from a Digital Camera.

2.2.1 Delete Pictures/Album

6. Delete picture

7. Delete multiple pictures

8. Delete album

2.2.2 Rename images

9. Rename image

2.2.3 View Thumbnails

10. View thumbnails

2.2.6 Search image/album

15. Search image

16. Search album

2.3.1 Print picture(s)

17. Print one copy of picture

18. Print multiple copies of picture

19. Print one copy of multiple pictures

20. Print multiple copies of multiple pictures

2.3.2 Print thumbnails

21. Print thumbnail sheet

2.3.3 Save pictures for email

22. Save pictures for email

2.4.1 View images

23. View one image

24. Goto next image

25. Goto previous image

2.4.2 Save images operations

26. Save image

27. Reverting to original

2.5.1 Color adjustment

28. Adjust brightness

29. Adjust contrast

30. Adjust saturation

31. Convert to black and white

32. Adjust multiple color attributes in a single edit

2.5.3 Resizing operation

35. Image resizing

2.5.4 Rotation operation

36. Image rotation (free)

37. Image rotation (common angles)

2.5.5 Image flip operation

38. Image flip (vertical)

39. Image flip (horizontal)

 

 

4.  Test Description

 

1. New Album Creation

Test Purpose

Tests requirement 2.1.1: the ability to create a new album.

Test Method

  1. Click the ‘Create New Album’ button.
  2. Enter the name of the new album.
  3. Click OK or press enter.

Test Input

Pick any unused name for the album: __________

Expected Output

The name of the album just entered should now appear in the Album List.

Input Notes

 

Output Notes

 

 

2. Import Images from Hard Drive Into Existing Empty Album

Test Purpose

Partially tests requirement 2.1.2: the ability to import images.  In particular, this test exercises the ability to import images into an existing album

Test Method

  1. Click the import button.
  2. Select an existing empty album.
  3. Select some pictures from the hard drive to import.
  4. Click ‘Add Selected Pictures’
  5. Click Finish.
  6. Select the album you’ve just imported the pictures into from the ‘Album List’.
  7. The pictures you’ve just imported should appear in the main screen.

Test Input

One or more pictures from the hard drive.

Expected Output

The selected pictures should now appear in the photo album.

Repetition

First import one image.  Then try importing several images at a time.

Input Notes

 

Output Notes

 

 

3. Import Images from Hard Drive Into Existing Non-empty album

Test Purpose

Partially tests requirement 2.1.2: the ability to import images.  In particular, this test exercises the ability to import images from the hard drive into an album that already has some pictures in it.

Test Method

  1. Click the import button.
  2. Select an existing non-empty album.
  3. Select some pictures from the hard drive to import.
  4. Click ‘Add Selected Pictures’
  5. Click Finish.
  6. Select the album you’ve just imported the pictures into from the ‘Album List’.
  7. The pictures you’ve just imported should appear in the main screen.

Test Input

One or more pictures from the hard drive.

Expected Output

The selected pictures should now appear in the photo album.

Repetition

First import one image.  Then try importing several images at a time.

Input Notes

 

Output Notes

 

 

4. Import Images from Hard Drive Into a new album

Test Purpose

Partially tests requirement 2.1.2: the ability to import images.  In particular, this test exercises the ability to create an album and immediately import images into it.

Test Method

  1. Click the import button.
  2. Click ‘new album’.
  3. Enter the name for the new album.
  4. Select some pictures from the hard drive to import.
  5. Click ‘Add Selected Pictures’
  6. Click Finish.
  7. Select the album you’ve just imported the pictures into from the ‘Album List’.
  8. The pictures you’ve just imported should appear in the main screen.

Test Input

Pictures from the hard drive.

Expected Output

The selected pictures should now appear in the new photo album.

Repetition

First import one image.  Then try importing several images at a time.

Input Notes

 

Output Notes

 

 

5. Import Images from Digital Camera

Test Purpose

Partially tests requirement 2.1.2: the ability to import images.  Exercises the ability to import multiple images from a digital camera.

Test Method

  1. Click the import button.
  2. Select an existing album.
  3. Select some pictures from the digital camera to import.
  4. Click ‘Add Selected Pictures’
  5. Click Finish.
  6. Select the album you’ve just imported the pictures into from the ‘Album List’.
  7. The pictures you’ve just imported should appear in the main screen.

Test Input

One or more pictures from a digital camera.

Expected Output

The selected pictures should now appear in the photo album.

Repetition

First import one image.  Then try importing several images at a time.

Input Notes

 

Output Notes

 

 

6. Delete Picture

Test Purpose

Partially tests requirement 2.2.1: The ability to delete images/albums.  Exercises the ability to delete one image.

Test Method

  1. Select any photo album that contains pictures.
  2. Select one image from the album.
  3. Click the delete button.
  4. The picture should disappear from the photo album.

Test Input

User selects a picture, clicks ‘delete’.

Expected Output

The picture should be deleted from the album.

Input Notes

 

Output Notes

 

 

7. Delete Multiple Pictures

Test Purpose

Partially tests requirement 2.2.1: The ability to delete images/albums.  Exercises the ability to delete multiple images.

Test Method

  1. Select any photo album that contains pictures.
  2. Select several images from the album.
  3. Click the delete button.
  4. The pictures should disappear from the photo album.

Test Input

User selects pictures and clicks ‘delete’.

Expected Output

The pictures should be deleted from the album.

Input Notes

 

Output Notes

 

 

8. Delete Album

Test Purpose

Partially tests requirement 2.2.1: The ability to delete images/albums.  Exercises the ability to delete an album.

Test Method

  1. Select an Album.
  2. Click delete.
  3. The album should disappear from the album list.

Test Input

User selects an album and clicks ‘delete’.

Expected Output

The album should disappear from the list.

Input Notes

 

Output Notes

 

 

9. Rename Image

Test Purpose

Partially tests requirement 2.2.2: The ability to rename images/albums.  Exercises the ability to rename an image.

Test Method

  1. Select any photo album that contains pictures.
  2. Select an image.
  3. Click rename.
  4. Enter the new name.
  5. The image name should change on the thumbnail.

Test Input

User selects an image and clicks rename.

Expected Output

The image name is changed.

Input Notes

 

Output Notes

 

 

 

11. View Thumbnails

Test Purpose

Tests requirement 2.2.3: The ability to view thumbnails.

Test Method

  1. Select any non-empty photo album.
  2. The thumbnails should appear in the thumbnail pane.
  3. Now select an empty album.
  4. The thumbnail pane should be cleared.

Test Input

User selects a non-empty album, followed by an empty one.

Expected Output

The thumbnails for the first album appear.  When the empty album is selected, they disappear.

Input Notes

 

Output Notes

 

 

15. Search image

Test Purpose

Tests requirement 2.2.7: The ability to search for images by their name.

Test Method

  1. Click search
  2. Enter the name of the image you want to search.
  3. Check search Photos only
  4. Click ok.

Test Input

Image to search on.

Expected Output

Any images that exist with the similar name should appear in  the result screen.

Repetition

Repeat several times with different search terms.

Input Notes

 

Output Notes

 

 

16. Search album

Test Purpose

Tests requirement 2.2.7: The ability to search for albums by their name.

Test Method

  1. Click search
  2. Enter the name of the image/ album you want to search.
  3. Check search albums only
  4. Click ok.

Test Input

Album to search on.

Expected Output

Any albums that exist with the similar name should appear in  the result screen.

Repetition

Repeat several times with different search terms.

Input Notes

 

 

17. Print one copy of picture

Test Purpose

Partially tests requirement 2.3.1: The ability to print pictures.  This exercises the ability to print one copy of one image.

Test Method

  1. Select a non-empty album.
  2. Select one picture.
  3. Click the print button.
  4. Enter ‘1’ for ‘number of copies.
  5. Click ok.
  6. The picture should print.

Test Input

  • Picture – Selected by user
  • Number of copies – 1

Expected Output

One copy of selected image should print.

Input Notes

 

Output Notes

 

 

18. Print multiple copies of picture

Test Purpose

Partially tests requirement 2.3.1: The ability to print pictures.  This exercises the ability to print multiple copies of one image.

Test Method

  1. Select a non-empty album.
  2. Select one picture.
  3. Click the print button.
  4. Enter ‘3’ for ‘number of copies.
  5. Click ok.
  6. Three copies of the picture should print.

Test Input

  • Picture – Selected by user
  • Number of copies – 3

Expected Output

Three copy of selected image should print.

Input Notes

 

Output Notes

 

 

19. Print one copy of multiple pictures

Test Purpose

Partially tests requirement 2.3.1: The ability to print pictures.  This exercises the ability to print one copy each of several images.

Test Method

  1. Select a non-empty album.
  2. Select three pictures.
  3. Click the print button.
  4. Enter ‘1’ for ‘number of copies.
  5. Click ok.
  6. One copy each of the pictures should print.

Test Input

  • Pictures (3) – Selected by user
  • Number of copies – 1

Expected Output

One copy of each of the three images should print.

Input Notes

 

Output Notes

 

 

20. Print multiple copies of multiple pictures

Test Purpose

Partially tests requirement 2.3.1: The ability to print pictures.  This exercises the ability to print several copies each of several images.

Test Method

  1. Select a non-empty album.
  2. Select three pictures.
  3. Click the print button.
  4. Enter ‘3’ for ‘number of copies.
  5. Click ok.
  6. Three copies each of the pictures should print.

Test Input

  • Pictures (3) – Selected by user
  • Number of copies – 3

Expected Output

Three copies of each of the three images should print.

Input Notes

 

Output Notes

 

 

21. Print thumbnail sheet

Test Purpose

Tests requirement 2.3.2: The ability to print a thumbnail sheet.

Test Method

  1. Select a non-empty album.
  2. Select some thumbnails
  3. Click ‘print’

Test Input

User selects thumbnails

Expected Output

A thumbnail sheet should print.

Input Notes

 

Output Notes

 

 

22. Save pictures for email

Test Purpose

Tests requirement 2.3.3: The ability to save pictures for email.

Test Method

  1. Select a non-empty album.
  2. Select some emails.
  3. Click ‘save for email’.

Test Input

User selects thumbnails.

Expected Output

Corresponding images should be saved in a location for emailing?

Input Notes

 

Output Notes

 

 

23. View one image

Test Purpose

Partially tests requirement 2.4.1: The ability to view images.  Exercises the ability to view a single image in full-size view.

Test Method

  1. Select a non-empty album.
  2. Double-click one thumbnail.
  3. The image for the thumbnail you clicked should display in its full size.

Test Input

User selects thumbnail.

Expected Output

Corresponding image should display.

Input Notes

 

Output Notes

 

 

24. Goto next image

Test Purpose

Partially tests requirement 2.4.1: The ability to view images.  Exercises the ability to go to the ‘next’ image in full-size mode.

Test Method

  1. Select a non-empty album.
  2. Pick a thumbnail, and note the next thumbnail after it in the sequence.
  3. Double click the thumbnail.
  4. The image for the thumbnail you clicked should display in its full size.
  5. Click ‘next’.
  6. The next image should display.

Test Input

User double clicks on thumbnail, then clicks next.

Expected Output

After you click ‘next’, the image after the thumbnail you clicked should display.

Input Notes

 

Output Notes

 

 

25. Goto previous image

Test Purpose

Partially tests requirement 2.4.1: The ability to view images.  Exercises the ability to go to the ‘previous’ image in full-size mode.

Test Method

  1. Select a non-empty album.
  2. Pick a thumbnail, and note the next thumbnail before it in the sequence.
  3. Double click the thumbnail.
  4. The image for the thumbnail you clicked should display in its full size.
  5. Click ‘next’.
  6. The previous image should display.

Test Input

User double clicks on thumbnail, then clicks previous.

Expected Output

After you click ‘previous’, the image before the thumbnail you clicked should display.

Actual Output

 

Input Notes

 

Output Notes

 

 

26. Save image

Test Purpose

Partially tests requirement 2.4.2: The ability save an image.  This only exercises the user’s ability to explicitly save an image after editing it.  It does not test any of the implicit save operations that may need to occur to support requirement 2.4.3 (Reverting to Original)

Test Method

  1. Select a non-empty album.
  2. Select a thumbnail.
  3. Clicks save.

Test Input

User selects an image, and a path to save the image to.

Expected Output

Image should be accessible from the path the user chose.

Actual Output

 

Repetition

Repeat once for each media type to be supported (hard disk, floppy drive, etc…)

Input Notes

 

Output Notes

 

 

 

27. Reverting to original

Test Purpose

Partially tests requirement 2.4.3: The ability to revert back to the original state of the images, in the case of regrettable changes.

Test Method

  1. Select a non-empty album.
  2. Select a thumbnail.
  3. Make some changes to the image.
  4. Click ‘revert to original’
  5. Image should revert to its original form.

Test Input

User selects an image, modifies it, and then reverts to original form.

Expected Output

Image should return to its original state (at the time of import).

Repetition

Repeat once for each type of edit (Color adjustment, crop, resize, rotation, flip)

Input Notes

 

Output Notes

 

 

28. Adjust Brightness

Test Purpose

Partially tests requirement 2.5.1: The ability to modify an image’s color.  Exercises the ability to adjust the brightness of an image.

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Color adjustment’ tab.
  4. Modify the brightness, using the ‘brighness’ slider.
  5. Click ‘save changes’.
  6. Exit out of edit view.
  7. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  8. Your brightness adjustment should still be visible.

Test Input

User selects an image and adjusts its brightness.

Expected Output

Brightness should be adjusted.

Repetition

Repeat with several different values for the adjustment (lower brightness, higher brightness)

Input Notes

 

Output Notes

 

 

29. Adjust Contrast

Test Purpose

Partially tests requirement 2.5.1: The ability to modify an image’s color.  Exercises the ability to adjust the contrast of an image.

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Color adjustment’ tab.
  4. Modify the contrast, using the ‘contrast’ slider.
  5. Click ‘save changes’.
  6. Exit out of edit view.
  7. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  8. Your contrast adjustment should still be visible.

Test Input

User selects an image and adjusts its contrast.

Expected Output

Contrast should be adjusted.

Repetition

Repeat with several different contrast values.

Input Notes

 

Output Notes

 

 

30. Adjust Saturation

Test Purpose

Partially tests requirement 2.5.1: The ability to modify an image’s color.  Exercises the ability to adjust the saturation of an image.

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Color adjustment’ tab.
  4. Modify the saturation, using the ‘saturation’ slider.
  5. Click ‘save changes’.
  6. Exit out of edit view.
  7. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  8. Your saturation adjustment should still be visible.

Test Input

User selects an image and adjusts its saturation.

Expected Output

Saturation should be adjusted.

Repetition

Repeat with several different values for the saturation.

Input Notes

 

Output Notes

 

 

31. Convert to Black and White

Test Purpose

Partially tests requirement 2.5.1: The ability to modify an image’s color.  Exercises the ability to convert an image to black and white.

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Color adjustment’ tab.
  4. Click ‘Convert to black and white’
  5. Click ‘save changes’.
  6. Exit out of edit view.
  7. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  8. The image should still be black and white.

Test Input

User selects an image and converts it to black and white.

Expected Output

Image should be in black and white.

Input Notes

 

Output Notes

 

 

32. Adjust multiple color attributes in a single edit

Test Purpose

Partially tests requirement 2.5.1: The ability to modify an image’s color.  Exercises the ability to adjust all of the color attributes at once, and then save changes.

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Color adjustment’ tab.
  4. Modify the brightness, using the ‘brightness’ slider.
  5. Modify the contrast, using the ‘contrast slider.
  6. Modify the saturation, using the ‘saturation’ slider.
  7. Click ‘save changes’.
  8. Exit out of edit view.
  9. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  10. Your adjustments should still be visible.

Test Input

User selects an image and adjusts its brightness, contrast, and saturation.

Expected Output

Brightness, contrast, and saturation should be adjusted.

Input Notes

 

Output Notes

 

 

 

35. Image resizing

Test Purpose

Tests requirement 2.5.3: The ability to resize an image.

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Resize tab’.
  4. Enter a new size percentage.
  5. Click ‘resize’.
  6. Exit out of edit view.
  7. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  8. Your adjustments should still be visible.

Test Input

User selects an image and resizes it.

Expected Output

Image should now be the size that the user set it to.

Repetition

Repeat for several different sizes.

Input Notes

 

Output Notes

 

 

36. Image Rotation (Free)

Test Purpose

Partially tests requirement 2.5.4: Rotation operation.  Exercises the ability to freely rotate an image.

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Resize/Flip tab’.
  4. Select ‘Free Rotate’.
  5. Enter in a flip angle.
  6. Click ‘rotate’.
  7. The image should be rotated by the angle you specified.
  8. Exit out of edit view.
  9. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  10. Your adjustments should still be visible.

Test Input

User selects an image and rotates it at a specified angle.

Expected Output

Image should now be  rotated at the correct angle

Repetition

Repeat for several different angles.

Input Notes

 

Output Notes

 

 

37. Image Rotation (Common angles)

Test Purpose

Partially tests requirement 2.5.4: Rotation operation.  Exercises the ability to rotate an image at a common angle.

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Resize/Flip tab’.
  4. Select ‘Common Rotations’
  5. Select a common flip angle.
  6. Click ‘rotate’.
  7. The image should be rotated by the angle you specified.
  8. Exit out of edit view.
  9. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  10. Your adjustments should still be visible.

Test Input

User selects an image and rotates it at a specified angle.

Expected Output

Image should now be rotated at the correct angle

Repetition

Repeat for several each common rotation angle.

Input Notes

 

Output Notes

 

 

38. Image Flip (Horizontal)

Test Purpose

Partially tests requirement 2.5.5: Flip operation.  Exercises horizontal flip 

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Resize/Flip tab’.
  4. Click ‘Horizontally’.
  5. The image should be flipped horizontally.
  6. Exit out of edit view.
  7. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  8. Your adjustments should still be visible.

Test Input

User selects an image and flips it horizontally.

Expected Output

Image should now be flipped.

Input Notes

 

Output Notes

 

 

39. Image Flip (Horizontal)

Test Purpose

Partially tests requirement 2.5.5: Flip operation.  Exercises vertical flip. 

Test Method

  1. Select a non-empty album.
  2. Double-click a thumbnail.
  3. Click the ‘Resize/Flip tab’.
  4. Click ‘Horizontally’.
  5. The image should be flipped horizontally.
  6. Exit out of edit view.
  7. Re-enter edit view for the picture you just edited by double clicking its thumbnail.
  8. Your adjustments should still be visible.

Test Input

User selects an image and flips it vertically.

Expected Output

Image should now be flipped.

Input Notes

 

Output Notes