-
Notifications
You must be signed in to change notification settings - Fork 3
Test cases
This page contains step-by-step descriptions of tests that check systems performance and compliance to the requirements.
Test cases include:
Case 1: Labelling Process
Case 2: Automated saving of results (Case 1 without clicking on save button)
Case 3: Polygons selection and modification of classes and parameters of the selected polygon
Case 4: Undoing points addition during objects markup
Case 5: Redoing the addition of the cancelled point from the objects markup
Case 6: Deletion of selected polygons
Case 7: Cancelling the markup of the current object
Case 8: Image brightness increase on clicking btn_brightness_high button
Case 9: Image brightness decrease on clicking btn_brightness_low button
Case 10: Image scaling
Case 11: History
Case 12: Switching between languages
Case 13: Minimap interaction
Labeling Process
- Polygon tool is selected by default
- Label {(100, 100), (100, 200), (200, 100)} polygon.
1.1. left click on the 100, 100 pixel of the image
1.2. left click on the 100, 200 pixel of the image
1.3. left click on the 200, 100 pixel of the image
1.4. left click on the 100, 100 pixel of the image - Select object class “class 0”
- Check “is occluded” boolean parameter
- Click save button
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":true}}]
Automated saving of results (Case 1 without clicking on save button)
- Polygon tool is selected by default
- Label {(100, 100), (100, 200), (200, 100)} polygon.
1.1. left click on the 100, 100 pixel of the image
1.2. left click on the 100, 200 pixel of the image
1.3. left click on the 200, 100 pixel of the image
1.4. left click on the 100, 100 pixel of the image - Select object class “class 0”
- Check “is occluded” boolean parameter
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":true}}]
Polygons selection and modification of classes and parameters of the selected polygon
- Polygon tool is selected by default
- Label {(100, 100), (100, 200), (200, 100)} polygon.
1.1. left click on the 100, 100 pixel of the image
1.2. left click on the 100, 200 pixel of the image
1.3. left click on the 200, 100 pixel of the image
1.4. left click on the 100, 100 pixel of the image - Select object class “class 0”
- Check “is occluded” boolean parameter
- Label {(300, 300), (300, 400), (400, 300)} polygon.
4.1. left click on the 300, 300 pixel of the image
4.2. left click on the 300, 400 pixel of the image
4.3. left click on the 400, 300 pixel of the image
4.4. left click on the 300, 300 pixel of the image - Select object class “class 1”
- Make sure “is occluded” boolean parameter is NOT checked
-
-
// Removed in the releases after 1.4 - Left click on the image on (120, 120) point
- Uncheck “is occluded” boolean parameter
- Left click on the image on (320, 320) point
- Change object class selection from ”class 1” to “class 0”
- Check “is occluded” boolean parameter
- Click save button
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":false}}, {\"points\":[[300,300],[300,400],[400,300]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":true}}]
Undoing points addition during objects markup
- Polygon tool is selected by default
- Label {(100, 100), (100, 200), (200, 100), (200, 200), (150, 150)} points.
1.1. left click on the 100, 100 pixel of the image
1.2. left click on the 100, 200 pixel of the image
1.3. left click on the 200, 100 pixel of the image
1.4. left click on the 200, 200 pixel of the image
1.5. left click on the 150, 150 pixel of the image - Click [ctrl] + [z] // Undo addition of the latest point
- Click [ctrl] + [z] // Undo addition of the latest point
- left click on the 100, 100 pixel of the image
- Click save button
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{}}]
Redoing the addition of the cancelled point from the objects markup
- Polygon tool is selected by default
- Label {(100, 100), (100, 200), (200, 100), (200, 200), (150, 150)} points.
1.1. left click on the 100, 100 pixel of the image
1.2. left click on the 100, 200 pixel of the image
1.3. left click on the 200, 100 pixel of the image
1.4. left click on the 200, 200 pixel of the image
1.5. left click on the 150, 150 pixel of the image - Click [Ctrl] + [z] // Undo addition of the latest point
- Click [Ctrl] + [z] // Undo addition of the latest point
- Click [Ctrl] + [Shift] + [z] // Redo the addition of the latest cancelled point
- left click on the 100, 100 pixel of the image
- Click save button
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100],[200,200]],\"parameters\":{}}]
Deletion of selected polygons
- Polygon tool is selected by default
- Label {(100, 100), (100, 200), (200, 100)} polygon.
1.1. left click on the 100, 100 pixel of the image
1.2. left click on the 100, 200 pixel of the image
1.3. left click on the 200, 100 pixel of the image
1.4. left click on the 100, 100 pixel of the image - Select object class “class 0”
- Check “is occluded” boolean parameter
- Label {(300, 300), (300, 400), (400, 300)} polygon.
4.1. left click on the 300, 300 pixel of the image
4.2. left click on the 300, 400 pixel of the image
4.3. left click on the 400, 300 pixel of the image
4.4. left click on the 300, 300 pixel of the image - Select object class “class 1”
- Make sure “is occluded” boolean parameter is NOT checked
- Label {(50, 50), (50, 75), (75, 50)} polygon.
7.1. left click on the 50, 50 pixel of the image
7.2. left click on the 50, 75 pixel of the image
7.3. left click on the 75, 50 pixel of the image
7.4. left click on the 50, 50 pixel of the image - Select object class “class 1”
- Check “is occluded” boolean parameter
-
-
// Removed in the releases after 1.4 - Left click on the image on (320, 320) point
- Click [Delete] button
- Left click on the image on (55, 55) point
- Click [Backspace] button
- Click save button
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":true}}]
Cancelling the markup of the current object
- Polygon tool is selected by default
- Label {(100, 100), (100, 200), (200, 100)} polygon.
1.1. left click on the 100, 100 pixel of the image
1.2. left click on the 100, 200 pixel of the image
1.3. left click on the 200, 100 pixel of the image
1.4. left click on the 100, 100 pixel of the image - Label {(300, 300), (300, 400), (400, 300)} points.
2.1. left click on the 300, 300 pixel of the image
2.2. left click on the 300, 400 pixel of the image
2.3. left click on the 400, 300 pixel of the image - Perform a right-click (right mouse click)
- Label {(50, 50), (50, 75), (75, 50)} polygon.
7.1. left click on the 50, 50 pixel of the image
7.2. left click on the 50, 75 pixel of the image
7.3. left click on the 75, 50 pixel of the image
7.4. left click on the 50, 50 pixel of the image - Click save button
- Compare returned JSON markup to
[{\"points\".[[100,100],[100,200],[200,100]],\"parameters\":{}},{\"points\":[[50,50],[50,75],[75,50]],\"parameters\":{}}]
Image brightness increase on clicking btn_brightness_high button
- Measure initial brightness of the image and save it’s value
- Click brightness_high button
- Measure current brightness of the image once again and save it’s value
- Compare initial brightness value to the current one (check that current brightness value is higher than the initial one)
Image brightness decrease on clicking btn_brightness_low button
- Measure initial brightness of the image and save it’s value
- Click brightness_low button
- Measure current brightness of the image once again and save it’s value
- Compare initial brightness value to the current one (check that current brightness value is lower than the initial one)
Image scaling
- Polygon tool is selected by default
- Save width and height of #main-canvas and #svg_img blocks
- Label {(65, 65), (65, 85), (85, 85), (85, 65)}.
2.1. left click on the 65, 65 pixel of the image
2.2. left click on the 65, 85 pixel of the image
2.3. left click on the 85, 85 pixel of the image
2.4. left click on the 85, 65 pixel of the image
2.5. left click on the 65, 65 pixel of the image - Click btn_zoom_out button
- Check that current width and height of #main-canvas and #svg_img blocks are equal to their saved values
- Click btn_zoom_in button
- Check that current width and height of #main-canvas and #svg_img blocks are doubles of their saved values
- Label {(60, 60), (60, 90), (90, 90), (90, 60)} polygon.
7.1. left click on the 120, 120 pixel of the image // as image is low scaled to 2x
7.2. left click on the 120, 180 pixel of the image // as image is low scaled to 2x
7.3. left click on the 180, 180 pixel of the image // as image is low scaled to 2x
7.4. left click on the 180, 120 pixel of the image // as image is low scaled to 2x
7.5. left click on the 120, 120 pixel of the image // as image is low scaled to 2x - Click btn_zoom_in button
- Check that current width and height of #main-canvas and #svg_img blocks are equal to their saved values multiplied by 4
- Label {(55, 55), (55, 95), (95, 95), (95, 55)} polygon.
10.1. left click on the 220, 220 pixel of the image // as image is low scaled to 4x
10.2. left click on the 220, 380 pixel of the image // as image is low scaled to 4x
10.3. left click on the 380, 380 pixel of the image // as image is low scaled to 4x
10.4. left click on the 380, 220 pixel of the image // as image is low scaled to 4x
10.5. left click on the 220, 220 pixel of the image // as image is low scaled to 4x - Click btn_zoom_out button
- Check that current width and height of #main-canvas and #svg_img blocks are doubles of their saved values
- Label {(50, 50), (50, 100), (50, 100), (100, 50)} polygon.
13.1. left click on the 100, 100 pixel of the image // as image is low scaled to 2x
13.2. left click on the 100, 200 pixel of the image // as image is low scaled to 2x
13.3. left click on the 200, 200 pixel of the image // as image is low scaled to 2x
13.4. left click on the 200, 100 pixel of the image // as image is low scaled to 2x
13.5. left click on the 100, 100 pixel of the image // as image is low scaled to 2x - Click btn_zoom_out button
- Check that current width and height of #main-canvas and #svg_img blocks are equal to their saved values
- Click save button
- Compare returned JSON markup to
[{\"points\":[[65,65],[65,85],[85,85],[85,65]],\"parameters\":{}},{\"points\":[[60,60],[60,90],[90,90],[90,60]],\"parameters\":{}},{\"points\":[[55,95],[55,95],[95,95],[95,55]],\"parameters\":{}},{\"points\":[[50,50],[50,100],[100,100],[100,50]],\"parameters\":{}}]
History
- Polygon tool is selected by default
- Check that historyRow0 DOM element does not exist
- Label {(100, 100), (100, 200), (200, 100)} polygon.
2.1. left click on the 100, 100 pixel of the image
2.2. left click on the 100, 200 pixel of the image
2.3. left click on the 200, 100 pixel of the image
2.4. left click on the 100, 100 pixel of the image - Check that historyRow0 DOM element exists and contains a string “Polygon was added and assigned an id 0”
- Select object class “class 0”
- Check that historyRow1 DOM element exists and contains a string “Class of polygon 0 was changed to class 0”
- Check “is occluded” boolean parameter
- Check that historyRow2 DOM element exists and contains a string “Parameter is occluded of polygon 0 was changed to true”
- Select “option 1 name” option of “select an option” select parameter
- Check that historyRow3 DOM element exists and contains a string “Parameter select an option of polygon 0 was changed to option 1 name”
- Label {(300, 300), (300, 400), (400, 300)} polygon.
10.1. left click on the 300, 300 pixel of the image
10.2. left click on the 300, 400 pixel of the image
10.3. left click on the 400, 300 pixel of the image
10.4. left click on the 300, 300 pixel of the image - Check that historyRow4 DOM element exists and contains a string “Polygon was added and assigned an id 1”
-
-
// Removed in the releases after 1.4 - Left click on the image on (105, 120) point
- Click [Delete] button
- Check that historyRow5 DOM element exists and contains a string “Polygon with id 0 was deleted”
- Left click on the image on (305, 320) point
- Select object class “class 0”
- Check that historyRow6 DOM element exists and contains a string “Class of polygon 1 was changed to class 0”
- Compare returned JSON markup to
[{\"points\":[[300,300],[300,400],[400,300]],\"parameters\":{\"class\":\"class 0\"}}]
- Click “Undo” button (#delete-row)
- Check that historyRow6 DOM element does not exist
- Compare returned JSON markup to
[{\"points\":[[300,300],[300,400],[400,300]],\"parameters\":{}}]
- Click “Undo” button (#delete-row)
- Check that historyRow5 DOM element does not exist
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":true,\"select an option\":\"option 1 name\"}}, {\"points\":[[300,300],[300,400],[400,300]],\"parameters\":{}}]
- Click “Undo” button (#delete-row)
- Check that historyRow4 DOM element does not exist
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":true,\"select an option\":\"option 1 name\"}}]
- Click “Undo” button (#delete-row)
- Check that historyRow3 DOM element does not exist
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":true}}]
- Click “Redo” button (#add-row)
- Check that historyRow3 DOM element exists and contains a string “Parameter select an option of polygon 0 was changed to option 1 name”
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":true,\"select an option\":\"option 1 name\"}}]
- Click “Redo” button (#add-row)
- Check that historyRow4 DOM element exists and contains a string “Polygon was added and assigned an id 1”
- Compare returned JSON markup to
[{\"points\":[[100,100],[100,200],[200,100]],\"parameters\":{\"class\":\"class 0\",\"is occluded\":true,\"select an option\":\"option 1 name\"}}, {\"points\":[[300,300],[300,400],[400,300]],\"parameters\":{}}]
- Click “Redo” button (#add-row)
- Check that historyRow5 DOM element exists and contains a string “Polygon with id 0 was deleted”
- Compare returned JSON markup to
[{\"points\":[[300,300],[300,400],[400,300]],\"parameters\":{}}]
- Click “Redo” button (#add-row)
- Check that historyRow6 DOM element exists and contains a string “Class of polygon 1 was changed to class 0”
- Compare returned JSON markup to
[{\"points\":[[300,300],[300,400],[400,300]],\"parameters\":{\"class\":\"class 0\"}}]
- Click “iconOnHistoryRow6” button (#iconOnHistoryRow6)
- Check that historyRow6 DOM element does not exist
- Check that historyRow5 DOM element exists and contains a string “Polygon with id 0 was deleted”
- Compare returned JSON markup to
[{\"points\":[[300,300],[300,400],[400,300]],\"parameters\":{}}]
- Check that #delete-row DOM element does not contain class “disabled”
- Left click on the image on (305, 320) point
- Select object class “class 1”
- Check that historyRow6 DOM element exists and contains a string “Class of polygon 1 was changed to class 1”
- Compare returned JSON markup to
[{\"points\":[[300,300],[300,400],[400,300]],\"parameters\":{\"class\":\"class 1\"}}]
- Check that #delete-row DOM element does contain class “disabled”
- Check that #add-row DOM element does not contain class “disabled”
Switching between languages
- Polygon tool is selected by default
- Check that activeLanguage.getLanguageName() returns “english”
- Check that #message_space DOM element contains either a string returned by language.english().markupImageWithToolsNotificationString, or a string returned by language.english().notTheFullImageWillBeShownNotificationString
- Check that #label-parameters-block-title DOM element contains a string returned by language.english().labelParameters
- Check that #history-block-title DOM element contains a string returned by language.english().history
- Label {(100, 100), (100, 200), (200, 100)} polygon.
5.1. left click on the 100, 100 pixel of the image
5.2. left click on the 100, 200 pixel of the image
5.3. left click on the 200, 100 pixel of the image
5.4. left click on the 100, 100 pixel of the image - Check that historyRow0 DOM element exists and contains a string returned by language.english().polygonWasAddedAndAssignedAnId
- Select "russian" option in #language-selection-select select
- Check that activeLanguage.getLanguageName() returns “russian”
- Check that #message_space DOM element contains either a string returned by language.russian().markupImageWithToolsNotificationString, or a string returned by language.russian().notTheFullImageWillBeShownNotificationString
- Check that #label-parameters-block-title DOM element contains a string returned by language.russian().labelParameters
- Check that #history-block-title DOM element contains a string returned by language.russian().history
- Check that historyRow0 DOM element exists and contains a string returned by language.russian().polygonWasAddedAndAssignedAnId
- Select "english" option in #language-selection-select select
- Check that activeLanguage.getLanguageName() returns “english”
- Check that #message_space DOM element contains either a string returned by language.english().markupImageWithToolsNotificationString, or a string returned by language.english().notTheFullImageWillBeShownNotificationString
- Check that #label-parameters-block-title DOM element contains a string returned by language.english().labelParameters
- Check that #history-block-title DOM element contains a string returned by language.english().history
- Check that historyRow0 DOM element exists and contains a string returned by language.english().polygonWasAddedAndAssignedAnId
Minimap interaction
- Click zoom in to scale an image so even the small image is not able to fit the main canvas
- Find the current value of the main canvas scroll
- Click on the minimap
- Find a new value of main canvas scroll
- Check if scroll value has changed after click on the minimap