Sorry, JavaScript is required for most features of this site.
Testing Strategy

These tests are manually performed before each release.

When the user interface stops changes rapidly the bulk of these tests will be automated with Pixel Perfect tests.

  1. Chrome Extension
    1. The Options Window
      1. Verify the error message when the Service field is blank.
      2. Verify the error message when the Service field does not begin with http:// or https://.
      3. After entering information in an input field verify the status message that the data has not been saved.
      4. After clicking the save button verify the status message that the data has been saved.
      5. Close and reopen the options window and verify that the saved information has been persisted.
    2. The Browser Action
      1. Before quoting text in the document verify that clicking the browser action icon displays the popup window and that the title and URL are populated and that the note field has the focus.
      2. Quoting text in the document and verify that clicking the browser action icon displays the popup window and that the title, URL and quotation are populated and that the note field has the focus.
      3. Verify that a quotation can be saved by clicking the save button.
      4. Verify that a quotation can be saved by clicking the Ctrl-s button.
      5. Verify that a quotation can be saved with and without empty text for the note.
      6. Verify that a quotation can be not be saved with an empty title or URL.
      7. Update the options to use an incorrect port. Try to save a quotation and verify the error message.
      8. Update the options to remove the server setting. Click the browser action item. Verify the error message and that the options tab is opened.
    3. The Context Menu Action
      1. Right click a document without quoting text and verify that the quotation action is not present in the context menu.
      2. Right click quoted text in a document and verify that the quotation action is present in the context menu and has the right icon.
      3. Click the quotation action and verify that the quotation popup displays and contains the title, URL and selected text.
      4. Save the quotation.
      5. Verify the window can be closed by clicking the X and that the quotation is not saved.
      6. Verify the window can be closed by pressing Alt-F4 and that the quotation is not saved.
  2. Website - Test in Chrome, Firefox, Internet Explorer and Opera
    1. Accounts
      1. Single User Mode
        1. Configure the server for single user mode and restart it.
        2. Verify that the site does not have sign or or create account links.
        3. Verify that a note can be saved.
        4. During automation verify that an HTTP sign up request is not honored.
        5. During automation verify that an HTTP create account request is not honored.
      2. Multi User Mode
        1. Self Sign Up Mode
          1. Configure the server for self sign up mode and restart it.
          2. Try to create an account with an invalid user name and verify it does not succeed.
          3. Try to create an account with an invalid password and verify it does not succeed.
          4. Try to create an account with passwords that do not match and verify it does not succeed.
          5. Create an account.
          6. Verify that a note can be saved.
          7. Sign out and verify signed out
          8. Sign in.
          9. Verify that a note can be saved.
          10. Sign out and verify signed out.
          11. Sign in.
          12. Cancel the account and verify automatically signed out.
          13. Try to sign in and verify failure.
        2. Auto account creation
          1. Configure the server for auto account creation and restart it.
          2. Create a note.
          3. Verify signed in.
          4. Go to the accounts page.
          5. Try to change a field without setting a password and verify it fails.
          6. Set a new password and change your user name.
          7. Sign out
          8. Sign in
        3. No Self Sign Up Mode
          1. Configure the server for no self sign up mode and restart it.
          2. Verify that the sign up link is not present.
          3. During automation verify that an HTTP create account request is not honored.
          4. Sign in.
          5. Verify that a note can be saved.
          6. Sign out and verify signed out.
    2. Pages
      1. Note
        1. Popup Windows
          1. Open one. Verify the popup is recentered.
          2. Scroll the document and open a new popup and verify it is centered within the view.
          3. Leave the popup open and resize the window to be smaller and bigger. Verify the popup is recentered dynamically.
          4. Resize the window to be smaller than the popup. Close and reopen the popup and verify it can all be seen.
          5. Press Escape. Verify the popup was dismissed.
          6. Open a popup. Verify it can be dragged anywhere by any point where there is no text.
          7. Verify text can be quoted.
          8. Hover over the X. Verify it changes color and the pointer changes.
          9. Click dismissed. Verify the popup was dismissed.
        2. Note Selections
          1. Left or right click a note and verify it is selected.
          2. Ctrl click to add a note to the selection.
          3. Alt click to add a note to the selection.
          4. Ctrl click to remove a note from the selection.
          5. Alt click to remove a note from the selection.
          6. Shift click to add several notes to the selection.
          7. Select all by pressing 's'.
          8. Unselect all by pressing Escape.
          9. Unselect a note with Ctrl+space.
          10. Press up arrow to move selection left.
          11. Press right arrow to move selection right
          12. Press up arrow move selection up.
          13. Press down arrow move selection down.
          14. Press f to select first.
          15. Press l select last.
        3. Context Menu
          1. Right click a note. Verify the note is selected and the context menu appears.
          2. Click each button and verify the context menu disappears and the action takes place.
          3. Press the shortcut for each action and verify the context menu disappears and the action takes place.
        4. Error Popups
          1. Display an error popup and verify that it is dismissed by clicking outside the window.
          2. Display an error popup and verify that it is dismissed by pressing Enter.
        5. Drag and Drop a Note
          1. Verify that a note can not be dragged into its parent.
          2. Verify that a note can not be dragged into its child or grand children without Ctrl.
          3. Verify that a note can be dragged into its child or grand children with Ctrl.
          4. Verify that Ctrl drag drags only the note.
          5. Verify that Ctrl drag drags the note and its children.
          6. Verify lifting the mouse when not over a valid drop target does not result in a change.
        6. Commands
          1. Move a Note Up
            1. Verify Ctrl up arrow moves a selected note up.
            2. Verify Ctrl up arrow can not move a note without a previous sibling up.
            3. Verify Ctrl up arrow can move contiguous notes up.
            4. Verify Ctrl up arrow results in an error if multiple non contiguous notes are selected.
          2. Move a Note Down
            1. Verify Ctrl down arrow moves a selected note down.
            2. Verify Ctrl down arrow can not move a note without a next sibling down.
            3. Verify Ctrl down arrow can move contiguous notes down.
            4. Verify Ctrl down arrow results in an error if multiple non contiguous notes are selected.
          3. Move a Note Left
            1. Verify Ctrl left arrow moves a selected note left.
            2. Verify Ctrl left arrow can not move a note without a grandparent left.
            3. Verify Ctrl left arrow can move contiguous notes left.
            4. Verify Ctrl left arrow results in an error if multiple notes with different parents are selected.
          4. Move a Note Right
            1. Verify Ctrl right arrow moves a selected note right.
            2. Verify Ctrl right arrow can not move a note without a parent right.
            3. Verify Ctrl right arrow can move contiguous notes right.
            4. Verify Ctrl right arrow results in an error if multiple non contiguous notes are selected.
          5. Edit a Note
            1. Verify the note text and time stamp change.
            2. Verify is public changes.
            3. Edit a higlight and make sure you can edit the quotation.
          6. Delete a Note
            1. Verify a single note with no parent or child can be deleted and it no longer appears in the root note view.
            2. Verify a note with children can be deleted with uproot and its children now appear in the root view.
            3. Verify a note with children can be deleted with delete children and its children are deleted too.
            4. Verify a note with children and a parent can be deleted with reparent children and its children are now children of the deleted notes parent.
          7. Uproot a Note
            1. Verify the note now appears in the root view and is no longer a child of its parent.
          8. Create a New Child Note
            1. Verify the new note is created and appears in the note view.
            2. Leave the note empty and verify the error message.
            3. Stop the server and verify the error message.
          9. Insert a New Note Above Another Note
            1. Verify the new note is created and appears in the note view.
          10. Create a New Note After Another Note
            1. Verify the new note is created and appears in the note view.
          11. Create a New Note Before Another Note
            1. Verify the new note is created and appears in the note view.
          12. Create a New Note Underneath Another Note
            1. Verify the new note is created and appears in the note view.
          13. Create a New Root Note
            1. Verify the new note is created and appears in the root note view.
          14. Make a Note's Parent the Main Note
            1. Press 'p' and verify it works.
            2. Press the back button and verify it works.
          15. Make a Note the Main Note
            1. Press 't' and verify it works.
            2. Press the back button and verify it works.
            3. Press the forward button and verify it works.
          16. Help
            1. Show the help dialog and make sure it looks correct.
      2. Create Note
        1. Verify the new note is created and appears in the root note view.
        2. Leave the note empty and verify the error message.
        3. Stop the server and verify the error message.
      3. Root Notes
        1. Verify only and all root notes (except quotations) are displayed.
      4. All Notes
        1. Verify all notes (except quotations) are displayed.
      5. Quotations
        1. Verify all quotations are displayed.
      6. Documents
        1. Verify all documents are displayed.
      7. Backup
        1. Verify a verification popup is displayed.
        2. Verify clicking cancel dismisses the popup and nothing happens.
        3. Verify clicking OK results in a file download with a pretty filename.
      8. Restore
        1. Verify the error message if no file is specified.
        2. Verify restoration of a file works with preserve IDs checked.
        3. Verify restoration of a file works with preserve IDs not checked.
      9. Documentation
        1. Verify the list of documentation is displayed.
        2. Click on one and verify it looks marked down.
      10. Admin Privileges
        1. Single User Mode
          1. Verify the user does not have admin privileges.
        2. Not Single user mode and Loopback connections are admins
          1. Verify a user connected over the loopback has admin privileges.
          2. Verify a user not connected over the loopback does not have admin privileges.
        3. Not Single User Mode and Not Loopback connections are admins
          1. Verify that is not an admin and is connected over the loopback does not has admin privileges.
          2. Verify that is not an admin and is not connected over the loopback does not has admin privileges.
          3. Verify that is an admin and has admin privileges.
      11. Accounts
        1. Verify all accounts are listed.
        2. Verify that clicking on an account takes you to the account page.
        3. Verify that admins can change any attribute of the user's account.
      12. Shutdown
        1. Verify a verification popup is displayed.
        2. Verify clicking cancel dismisses the popup and nothing happens.
        3. Verify clicking OK results in the process being shutdown.
      13. Clear DB
        1. Verify a verification popup is displayed.
        2. Verify clicking cancel dismisses the popup and nothing happens.
        3. Verify clicking OK results in the db being cleared.
      14. Online Backup
        1. Verify a verification popup is displayed.
        2. Verify clicking cancel dismisses the popup and nothing happens.
        3. Verify clicking OK results in the db being backed up.
      15. Offline Backup
        1. Verify a verification popup is displayed.
        2. Verify clicking cancel dismisses the popup and nothing happens.
        3. Verify clicking OK results in the db being backed up.
      16. Check DB Errors
        1. Verify a verification popup is displayed.
        2. Verify clicking cancel dismisses the popup and nothing happens.
        3. Verify clicking OK results in verification.
      17. Show Backups
        1. Verify a list of backups is shown.
        2. Click on a backup and verify the command to restore the backup is shown.


Try CrushPaper for free without creating an account!


Or watch the Demo Movie