PageRenderTime 242ms CodeModel.GetById 236ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms


Plain Text | 219 lines | 157 code | 62 blank | 0 comment | 0 complexity | d5419bf5a2ab678d3e9fb842f818ebf0 MD5 | raw file
  1jEdit Test Plan
  4Authors : Sridhar Parasuram (, Adithya S. Suryanarayanan ( 
  5Version : $Id: TestPlan.txt 13327 2008-08-15 14:40:53Z ezust $
  6Date Created : April 5, 2008
 11This document refers to the test plan of the open source software jEdit found in
 12This document is written based on the IEEE 829 Std. for Software Test Documentation found in
 18	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.
 22Software Risk Issue
 24	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:
 25Apache Ant.
 26JDK or JSDK 1.5 or higher.
 27Windows XP/Vista, Linux, Unix operating systems, MAC OS X.
 31Features to be tested
 33The following are the features to be tested in jEdit:
 341. Basic features of the GUI, menus, functionalities etc.
 352. File operations – Open, Save, Save As, New, Reload.
 363. Printing the current document.
 374. Text Area operations – Cut, Copy, Paste, Select, Word Count, Search, Replace.
 385. Markers and Folding operations.
 396. Utility operations.
 407. Plugin operations – Options and Manager.
 418. Macros – Recording and Running.
 429. Check multiple views.
 4310. Test syntax highlighting.
 49Regression Test Generation
 50---------- ---- ----------
 52FIXME: Place here a procedure for adding new regression tests.
 53For example, if a developer or tester who does not know how to write a test
 54can describe a bug that we need to ensure never comes "back" into jEdit,
 55we need a way to open a ticket, describe the test and assign it to someone else
 56who can write the test and add it to the greater framework.
 58Features not to be tested
 60	The following are the features that need not be tested.
 61jEdit 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.
 62The plugins need not be tested since they are only additions to the software.
 67	The following are the tests that need to be performed for this functional testing. 
 69Basic Tests
 71Ensure that jEdit builds successfully in all platforms.
 72Ensure that there are no problems in the Launch and Shutdown in jEdit.
 73Ensure that jEdit does not use an awful lot of memory. Any memory monitoring software can be used for this.
 74Ensure that all the modules properly load up and the GUI interface shows up all the menu items.
 76Usage Tests
 781. File Operations
 79File 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.
 80New : Launch jEdit. Then click File -> New. Check whether a new text area is created with no contents in it.
 81File 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.
 82File 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.
 842. Printing the current document.
 85Type 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.
 873. Text Area Operations.
 88Cut : 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.
 89Copy : 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.
 90Paste : 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.
 91Word 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.
 92Find and Replace : 
 93    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. 
 94    Use different settings to test for different patterns of text in the text area.
 95    Type some text in the replace text box to test the replace functionality that replaces a found word.
 96    Ensure that Find, Replace & Find and Replace All buttons work properly.
 97Incremental Search: 
 98    Check incremental search by searching for a word as you enter the search string.
 99    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.
1014. Marker Operations.
102Add/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.
103Remove all Markers : When this menu item is clicked ensure that all the markers that are present in front of the lines are removed.
104Go to Previous Marker : When this menu item is clicked ensure that the cursor moves to the line where the previous marker is located.
105Go to Next Marker : When this menu item is clicked ensure that the cursor moves to the line where the next marker is located.
1075. Folding Options
108Explicit Folding: Write some code in the buffer and select a block. Add explicit folding and check if the block can be collapsed, expanded etc. 
109Also check if “{{{“ and “}}}” are added to the block of code that is explicitly folded.
110Folding Options: Try the different folding options like Go to Parent Fold, Next Fold, Previous Fold, Expand Fold, Collapse Fold etc.
111Perform 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. 
1146. Utility Operations
115File 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.
116Recent Directories : Ensure that when Utilities -> Recent Directories is clicked the most recent directories visited is displayed in the sub menu of Recent Directories.
117Favorites: Check if Favorites displays all the options correctly.
118Different 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.
119Beanshell: Check if Beanshell and Troubleshooting options are available.
120Action 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.
121Buffer options: Ensure Buffer Options opens the respective dialog box.
122Global Options: Ensure Global Options opens the respective dialog box.
1247. Macro Operations
125Record 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.
126Run 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.
127Repeat Last Macro : Click Macro -> Repeat Last Macro. Ensure that the last macro run is started again.
1298. Plugin Operations
130Plugin 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.
131Plugin 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.
1339. Syntax Highlighting
134Change the Edit mode: Change Edit mode in Buffer options and choose different languages, folding modes etc.
135Syntax Highlighting: Ensure syntax highlighting works for all the options in the Edit mode of the Buffer Options.
139Item Pass/Fail Criteria
141	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.
1421. jEdit fails to install in an computer that has JSDK 1.5 or JRE 1.5 or above installed in it.
1432. jEdit fails to launch.
1443. When the menu bar and tool bar of jEdit missing in the display.
1454. When any of the functionalities in the menu bar do not turn up when clicked.
1465. When jEdit cannot open, close or save files.
1476. When the text area of jEdit is not visible or when disabled.
1487. jEdit does not build properly in one platform or more.
1498. Some major bugs intended to be cleared from the older version still persist.
1509. An error that renders jEdit unusable.
154Entry and Exit Criteria
156Conditions to start testing.
1571. When a computer with JDK 1.5 (or above) or JRE 1.5 (or above) installed is available. Any operating system is just fine.
1582. When jEdit is perfectly built in any of the computers perfectly with any compilation errors.
160Conditions to end testing.
1611. When all test cases have been tested against the jEdit build.
1622. When no system with JDK 1.5 (or above) or JRE 1.5 (or above) installed is available.
1633. When jEdit does not compile properly in a system that has JDK 1.5 (or above) or JRE 1.5 (or above) installed.
167Suspension criteria and Resumption Requirements
169Reasons for testing to be suspended.
170When most of the test cases fail to pass the test, testing should be stopped.
171When there is a problem in the host machine software or hardware, the unavailability of proper environments, testing should be stopped.
173Reasons for testing to be resumed.
174When the bugs for the failed tests have been fixed.
175When the problems with the host machine software and hardware are fixed, when the environments become available,  testing can be resumed.
179Test Deliverables
181	Once the testing is complete, the following must be collected as deliverables and recorded:
1821. List of features tested.
1832. List of failed cases.
1843. List of features that were not tested.
1854. Record of suspensions, resumptions, defects fixed, if any, over the course of the test.
189Environmental Needs
191	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.
197	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:
1991. Scope of Tests
2002. Basic Test road map
2013. Types of Tests
2024. Who performs which tests
2035. Fixing bugs found by tests
2046. Making important decisions
2057. Distributing work
209Risks and Contingencies
211	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.
217	This document is approved by the project administrator.