PageRenderTime 36ms CodeModel.GetById 12ms RepoModel.GetById 1ms app.codeStats 0ms

/tests/TestPlan.txt

#
Plain Text | 219 lines | 157 code | 62 blank | 0 comment | 0 complexity | baf9817fd093580654afc84cb7ea5332 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. jEdit Test Plan
  2. Authors : Sridhar Parasuram (psridhar@users.sourceforge.net), Adithya S. Suryanarayanan (assuryan@users.sourceforge.net)
  3. Version : $Id: TestPlan.txt 13327 2008-08-15 14:40:53Z ezust $
  4. Date Created : April 5, 2008
  5. References
  6. ----------
  7. This document refers to the test plan of the open source software jEdit found in http://sourceforge.net/projects/jEdit
  8. This document is written based on the IEEE 829 Std. for Software Test Documentation found in http://se.inf.ethz.ch/teaching/ss2005/0050/exercises/REMOVED/IEEE%20Std%20829-1998%20test.pdf
  9. Introduction
  10. ------------
  11. This document covers a test plan for the jEdit software. This document intends to begin the building of a test suite for the project. The goal of this document is to give a direction towards developing a complete testing framework for jEdit. The tests that are covered in this plan are for functional testing where in all the various features are tested for their expected behavior.
  12. Software Risk Issue
  13. -------------------
  14. The test specification here is for the complete integrated version of the software. There are no actual dependencies beyond the minimum requirements to run jEdit. All the tests are to be done on different platforms. The following are the prerequisites for testing jEdit. The following are the required software for building and testing jEdit:
  15. Apache Ant.
  16. JDK or JSDK 1.5 or higher.
  17. Windows XP/Vista, Linux, Unix operating systems, MAC OS X.
  18. Features to be tested
  19. ---------------------
  20. The following are the features to be tested in jEdit:
  21. 1. Basic features of the GUI, menus, functionalities etc.
  22. 2. File operations – Open, Save, Save As, New, Reload.
  23. 3. Printing the current document.
  24. 4. Text Area operations – Cut, Copy, Paste, Select, Word Count, Search, Replace.
  25. 5. Markers and Folding operations.
  26. 6. Utility operations.
  27. 7. Plugin operations – Options and Manager.
  28. 8. Macros – Recording and Running.
  29. 9. Check multiple views.
  30. 10. Test syntax highlighting.
  31. Regression Test Generation
  32. ---------- ---- ----------
  33. FIXME: Place here a procedure for adding new regression tests.
  34. For example, if a developer or tester who does not know how to write a test
  35. can describe a bug that we need to ensure never comes "back" into jEdit,
  36. we need a way to open a ticket, describe the test and assign it to someone else
  37. who can write the test and add it to the greater framework.
  38. Features not to be tested
  39. -------------------------
  40. The following are the features that need not be tested.
  41. jEdit runs on all platforms that have Java JDK or the Java JRE installed. So if jEdit runs on one system that has java installed it should run in all systems that have java installed. The Java installed must support Swing/Awt interfaces though.
  42. The plugins need not be tested since they are only additions to the software.
  43. Approach
  44. --------
  45. The following are the tests that need to be performed for this functional testing.
  46. Basic Tests
  47. -----------
  48. Ensure that jEdit builds successfully in all platforms.
  49. Ensure that there are no problems in the Launch and Shutdown in jEdit.
  50. Ensure that jEdit does not use an awful lot of memory. Any memory monitoring software can be used for this.
  51. Ensure that all the modules properly load up and the GUI interface shows up all the menu items.
  52. Usage Tests
  53. -----------
  54. 1. File Operations
  55. File Open : Launch jEdit. Then click File -> Open and then select a file to open from the open dialog box. Check whether the contents of the file are displayed in the text area of jEdit.
  56. New : Launch jEdit. Then click File -> New. Check whether a new text area is created with no contents in it.
  57. File Save As: Launch jEdit. Then type some text in the text area. Then click File -> Save As and save the file from the Save As dialog box with a file name. Verify whether the file is created in the directory specified.
  58. File Save : Launch jEdit. Open some file using File -> Open menu and then modify or edit some text in the text area. Once that is done Click File -> Save. Open the file and verify whether the changes have been committed.
  59. 2. Printing the current document.
  60. Type some text in the text area of jEdit and click File -> Print. Check whether the dialog opens and in the dialog test printing with all possible combinations of options. Also verify whether all the printer drivers are loaded in the combo box displayed to select the printer.
  61. 3. Text Area Operations.
  62. Cut : Type some text in the text area of jEdit. Select some text using the mouse. Now click on Edit -> Cut. To verify whether the text is cut, place some other editor such as notepad in windows, gedit in linux or any other text area and paste the text.
  63. Copy : Type some text in the text area of jEdit. Select some text using the mouse. Now click on Edit -> Copy. To verify whether the text is copied, use some other editor such as notepad in windows, gedit in linux or any other text area and paste the text.
  64. Paste : Type some text in the text area of jEdit. Select some text using the mouse. Now click on Edit -> Cut or Edit -> Copy. To verify whether the paste works click Edit -> Paste in the text area of jEdit. The copied text or the text that was cut should be pasted in the text area of the jEdit.
  65. Word Count : Type some text in the text area of jEdit. Then select all the text and then click Edit -> Word Count. This should display a small dialog box that contains the character count, word count and line count.
  66. Find and Replace :
  67. Type a snippet of code in the text area of jEdit. Then click Search -> Find. Type the text to be searched in the text box and click the search button.
  68. Use different settings to test for different patterns of text in the text area.
  69. Type some text in the replace text box to test the replace functionality that replaces a found word.
  70. Ensure that Find, Replace & Find and Replace All buttons work properly.
  71. Incremental Search:
  72. Check incremental search by searching for a word as you enter the search string.
  73. Verify that Search Bar disappears when the "View" option "Always Show Search bar" is not checked. And that it does not disappear when it is checked.
  74. 4. Marker Operations.
  75. Add/Remove Marker : Select some text in text area of jEdit. Then click Marker -> Add/Remove Marker. Check whether the marker appears to the left of the line of the selected text. In case the marker is already present clicking the above menu item should remove the marker.
  76. Remove all Markers : When this menu item is clicked ensure that all the markers that are present in front of the lines are removed.
  77. Go to Previous Marker : When this menu item is clicked ensure that the cursor moves to the line where the previous marker is located.
  78. Go to Next Marker : When this menu item is clicked ensure that the cursor moves to the line where the next marker is located.
  79. 5. Folding Options
  80. Explicit Folding: Write some code in the buffer and select a block. Add explicit folding and check if the block can be collapsed, expanded etc.
  81. Also check if “{{{“ and “}}}” are added to the block of code that is explicitly folded.
  82. Folding Options: Try the different folding options like Go to Parent Fold, Next Fold, Previous Fold, Expand Fold, Collapse Fold etc.
  83. Perform a search on a string that resides in a folded area. Verify that the fold is expanded when the caret rests on the matched but folded string.
  84. 6. Utility Operations
  85. File System Browser : Ensure that when Utilities -> File System Browser is clicked a new dialog box appears where the user can browse all the files in the file system.
  86. Recent Directories : Ensure that when Utilities -> Recent Directories is clicked the most recent directories visited is displayed in the sub menu of Recent Directories.
  87. Favorites: Check if Favorites displays all the options correctly.
  88. Different Directories: Check if jEdit Current directory, Home directory and Settings directory are accessible from the Utilities menu. Check if the Current directory displays all the files under it.
  89. Beanshell: Check if Beanshell and Troubleshooting options are available.
  90. Action bar: Click on the Action bar option. Enter some available options and verify if the action is correctly performed. Also click on Repeat Last Action and ensure the last action is performed.
  91. Buffer options: Ensure Buffer Options opens the respective dialog box.
  92. Global Options: Ensure Global Options opens the respective dialog box.
  93. 7. Macro Operations
  94. Record Macro : Launch jEdit. Then click Macro -> Record Macro. A new dialog box is displayed where in a Macro name is to be entered. Once that is entered the Macro Recording Starts. Ensure that all actions that are done in the jEdit window are recorded as a sequence. The Macro -> Stop Recording stops recording the sequence. Ensure that the macro is recorded by clicking Macro -> Run Temporary Macro.
  95. Run Other Macros : Launch jEdit. Then click Macro -> Run Other Macro. A file open dialog box appears where in the macro to be run is selected. Ensure that the selected macro runs and the sequence is performed.
  96. Repeat Last Macro : Click Macro -> Repeat Last Macro. Ensure that the last macro run is started again.
  97. 8. Plugin Operations
  98. Plugin Manager : Launch jEdit. Click Plugin -> Plugin Manager. Ensure that the Manage, Update and Install tabs work. In the install tab ensure that all the available plugins are displayed for download. Ensure that the button Install work properly and the download of the selected plugin starts immediately when the button is clicked. In the Update tab ensure that when the Install button is clicked the selected plugins are updated. In the manage tab ensure that when remove button is clicked the selected plugins are removed from the jEdit plugin directory and menu display.
  99. Plugin Options : Launch jEdit. Click Plugin -> Plugin Options. Ensure that all the plugins that are added are displayed in the left pane and that when one of them is clicked the respective plugin options are displayed in the right pane. Also make sure that when any of the setting are changed, they are saved by clicking the Ok or Apply button.
  100. 9. Syntax Highlighting
  101. Change the Edit mode: Change Edit mode in Buffer options and choose different languages, folding modes etc.
  102. Syntax Highlighting: Ensure syntax highlighting works for all the options in the Edit mode of the Buffer Options.
  103. Item Pass/Fail Criteria
  104. -----------------------
  105. The failure of the working of any of the components of jEdit should stop the release of the software. The following functionalities are considered to be important than others and the release should be stopped when one of these fail.
  106. 1. jEdit fails to install in an computer that has JSDK 1.5 or JRE 1.5 or above installed in it.
  107. 2. jEdit fails to launch.
  108. 3. When the menu bar and tool bar of jEdit missing in the display.
  109. 4. When any of the functionalities in the menu bar do not turn up when clicked.
  110. 5. When jEdit cannot open, close or save files.
  111. 6. When the text area of jEdit is not visible or when disabled.
  112. 7. jEdit does not build properly in one platform or more.
  113. 8. Some major bugs intended to be cleared from the older version still persist.
  114. 9. An error that renders jEdit unusable.
  115. Entry and Exit Criteria
  116. -----------------------
  117. Conditions to start testing.
  118. 1. When a computer with JDK 1.5 (or above) or JRE 1.5 (or above) installed is available. Any operating system is just fine.
  119. 2. When jEdit is perfectly built in any of the computers perfectly with any compilation errors.
  120. Conditions to end testing.
  121. 1. When all test cases have been tested against the jEdit build.
  122. 2. When no system with JDK 1.5 (or above) or JRE 1.5 (or above) installed is available.
  123. 3. When jEdit does not compile properly in a system that has JDK 1.5 (or above) or JRE 1.5 (or above) installed.
  124. Suspension criteria and Resumption Requirements
  125. -----------------------------------------------
  126. Reasons for testing to be suspended.
  127. When most of the test cases fail to pass the test, testing should be stopped.
  128. When there is a problem in the host machine software or hardware, the unavailability of proper environments, testing should be stopped.
  129. Reasons for testing to be resumed.
  130. When the bugs for the failed tests have been fixed.
  131. When the problems with the host machine software and hardware are fixed, when the environments become available, testing can be resumed.
  132. Test Deliverables
  133. -----------------
  134. Once the testing is complete, the following must be collected as deliverables and recorded:
  135. 1. List of features tested.
  136. 2. List of failed cases.
  137. 3. List of features that were not tested.
  138. 4. Record of suspensions, resumptions, defects fixed, if any, over the course of the test.
  139. Environmental Needs
  140. -------------------
  141. This software runs on any architecture that has JSDK 1.5 (or higher) or JRE 1.5(or higher) installed on it. It is platform independent and runs on Windows, Linux and Mac OS X.
  142. Responsibilities
  143. ----------------
  144. The responsibilities could be divided among developers and overseen by the project administrator. The things to be covered could be the following but not limited to them:
  145. 1. Scope of Tests
  146. 2. Basic Test road map
  147. 3. Types of Tests
  148. 4. Who performs which tests
  149. 5. Fixing bugs found by tests
  150. 6. Making important decisions
  151. 7. Distributing work
  152. Risks and Contingencies
  153. -----------------------
  154. There are a lot of problems that might occur during testing. All issues should be reported to the project administrator and the list of developers. If the number of problems found during testing are large then the project administrator should not release the project. The problems that arise during tests could be resolved like any other problem that is resolved in open source projects- through mailing lists, forums etc. Some of the major decisions like release timings, stoppages etc. could be left to the project administrator. The decision on the extent up to which certain defects can be allowed/disallowed is also left to project administrator.
  155. Approvals
  156. ---------
  157. This document is approved by the project administrator.