Sun Microsystems / Rave QA

Query Editor Test Specification

Test Specification Identifier

Features to be tested

Approach Refinements

Test Identification

Test Cases


Revision History

Test Specification identifier

(F) Features to be tested

References/Related Documents

Features that are Implemented and will be Tested

  • All Panes: Diagram, Grid, SQL & Result panes
  • Add/Remove tables/Views/Columns
  • Specifying Search Criteria
  • Specifying Sort Criteria
  • Parse/Execute Query
  • View ResultSet
  • Thresher specific features/fixes include
  • Defining
  • Support for LIKE in Criteria
  • Ability to drag table/view from Server navigator into diagram pane (5075573)
  • Usability Improvement for Adding parameter criteria (fix for 5073040)
  • Target
  • Ability to add joins not in metadata by dragging columns
  • Organize digram layout manually

Features tested but outside the scope of this test spec

  • Performance Testing
  • End to End Testing
  • Samples/Turorials verification involving Query Builder

(A) Approach refinements

   Testing would comprise of the scenarios like Test for Valid Inputs, test for invalid inputs, tests that involve visual inspection, tests that are DB server specific.

(T) Test Identification (Test Areas)

Full Test Suite

  • Acceptance Test Suite

Test Cases Detail/Procedure

NOTE:  Test cases at the bottom of the table with no test-id's include the features that are not implemented/spec'd out . It is merely used for tracking and these are not to be executed for now. Some of them may have Bug id references also.  Comments from Jim Davidson are in Notes column specified against "JD>” which would help in tracking the features/facility.

Invoking Query Editor

Test Id

(t) Test Item

(i) Input Spec

(o) Output Spec

(e) Env needs

(d) Dependencies /Notes


Add rowset to the page

- Add table/view by dragging n dropping from Runtime window to Page Designer
- Add Table/View to Page using the context menu on table/view
- Add Same table/view twice to ensure there are no naming conflicts

 RowSet and DataProvider for this table appear in Navigator window under SessionBean1 and Page's name nodes respectively



Verify Invoking Query Editor

- double clicking on the rowset in the Navigator window
- using 'Edit SQL Statement' context menu option on the rowset

- Double click on a rowset which is already open in the editor pane

- Choose 'Edit SQL Statement' on a rowset for which the QE is already open in the editor pane

- Opens the Query Editor

- Sets Editor focus to the session, if the rowset is already open



Verify Switching between Other Editors(Page, Source) to Query Editor

 - Open Query Editor Sessions for a couple rowsets and Other editor session for designer, java source editor. Verify switching between editor tabs/sessions





Verify switching between different query editor instances

 - Open Query editor sessions for a few rowsets and click between those using editor tabs. Verify the outcome.





Verify the default/Initial/First View when opened from jdbcRowSet


 Table(s) shown? 
Columns appropariately selected? 
grid pane correct? 
SQL Pane correct?




Create a Query from View


View shown in the diagram pane,  
Columns appropriately selected, grid pane,
SQL Pane. Use Run Query to verify the result pane




Save, Close & Reopen Query 




Query saved automatically in Longfin. Undo/discard changes not implemented.


Verify Online Help for QB and Context Sensitive Help for all components 




Only online help for QB available in EA. No help for components in EA.


Verify Tool Tips wherever applicable/implememented




No tooltips implemented in Thresher.


Verify that changes to Query are updated immediately in the backing bean (java file)

- Drop a table and verify the default query in query editor and java files

- add a table to the query and verify it in

- add a constraint/criteria and verify it in




Verify Save, Save All




Undo is not supported.


Verify the ability to drag and resize all the four panes in the query editor 

namely graph pane, grid pane, sql pane and result pane.





Close project

All query editors for this projects should be closed


Verify command property

  • Open query editor, enter some query
  • Close query editor
  • Check 'command' property of rowset

'command' property should contain query text


Open query editor with empty command

Unset command for rowset, then open querybuilder for it

Query Builder should invoke add table dialog. After adding table it should work as usual


Verify that query in source page is updated

Switch to page source, find query text (search by "SELECT" keyword, for example)

Text should be same as current query text in query editor


Change command property when query is open

  1. Open query
  2. Select rowset in outline
  3. Change 'command' property

Query is updated correspondingly

Diagram Pane verification

Test Id

(t) Test Item

(i) Input Spec

(o) Output Spec

(e) Env needs

(d) Dependencies /Notes


Verifiy the ability to select-deselect columns

Check/uncheck columns in the table frame.

Grid pane and SQL pane updated




Verify the PK/FK columns for appropriate icons

Check for icon in the table frame

Grid pane and SQL pane updated



Verify the usability for Add tables/Views.

- Right click on diagram pane, it should have 'Add Table' option

- Add Table dialog should list all tables/views in the data source

- With Horizontal & verticall scroll bars and scrollable to see the full content .

- Should be able to select multiple tables using shift/ctrl-click

- Select table(s) using shitf+click/Ctrl+click and click OK

- Select table(s) and click Cancel

- Double click on a table/view should add the table/view

- Verify that add table dialog is modal and the title is 'Select Table(s) to Add '

Shows table and relationships, if any. Grid pane and SQL pane updated appropriately.



Horizontal/veritcall bar is enabled in diagram pane when required (as more tables/views are added)




Remove tables/views from query. 

Select "Remove from Query" from the table context menu.

Table should be dropped in Diagram pane and all other panes be updated accordingly.




Verify properties /context menu for Diagram Pane




No properties defined


Verify Properties /context menu for for table/view/stored-procedure





Verify Properties /context menu for for relation




No context menu defined


Verify Properties /context menu for for column/all-columns




No properties menu defined


Verify Group by

Select "Group By" from the diagram pane context menu.

SQL updated appropriately.




 Verify appearance of cursor after deselecing the column component from the designer and clicking in the SQL Pane

Unselect any one of the column from the diagram pane and click in the sql pane, the cursor should appear in the pane with a single click

Cursor in the SQL Pane should appear in the SQL pane after with a single click


Verify dragging tables from Server navigator to add tables in query

- Dragging tables/views from rowset datasource to diagram pane should work fine. For adding tables/view to the query.

- Dragging tables/views from a different data source to the diagram pane should be disabled. Verify the message for approrpriateness.

Verify that only table/view nodes can be dragged into diagram pane



Verify dragging tables from Palette to QB

Verify that codeclips/pallette-components/any-other-nodes of Palette could not be dragged into diagram pane including the table/view-column nodes.


Verify the ability to create joins by dragging columns from one table to an other table in diagram pane

- Add a table to the query which does not have PK/FK defined with the existing table. Add a join using dragging the column from first table and dropping it on the related colum on the second table. Verify that this operation generates appropriate where clause.

- Delete an existing join/arrrow (using del key) and try to re-add the join manually using this feature



Joins not in Metadata

- (Not Supported for now)Try a composite PK/FK Join like OrderDetails(orderid, productid) to OrderDetails_Extended(orderid, productid)


Verify the usability of the diagram pane which lays-out/organizes tables/ automatically

- Add a table to the query, remove the table and re-add the table. Verify the position of the table in the diagram pane (located close by to the existing tables in the pane)

- Select multiple tables to add and verify the placing of these tables on the diagram pane


Organize diagram layout manually

Reef Target feature QueryEditor-03


Verify the ability to change join columns using property sheet

Select a join arrow and change the columns associated in the property sheet. Verify that the SQL is updated appropriately.




Verify usage DELETE key in diagram pane

- Delete the arrow (for Join) in the diagram pane using Delete key

- select/click-on a table in diagram pane and press Delete key

All panes should be updated for the removal of table/view/join


Verify dragging tables on diagram pane

Add several tables and joins, then drag some of tables to another locations

Table frames, scrollbars, join lines should be shown appropriately

Grid Pane Verification

Test Id

(t) Test Item

(i) Input Spec

(o) Output Spec

(e) Env needs

(d) Dependencies /Notes


Ability to Select/Deselect output columns

Check/uncheck "Output " checkbox in the grid.

Diagram pane and SQL pane updated.




 Add Criteria via context menu

- Select "Add Query Criteria..." from the grid pane context menu from anywhere on the row in gridpane

- Verify with criteria value (radiobutton) & run the query to see results

- Set parameter criteria (radiobutton for =?)

- Verify for each of the comparison operator =, <, <=, >, >=, <>, LIKE, IN

-Verify (F1 and context sensitive) Help for this dialog

-Verify that this dialog is modal and the title

Grid pane and SQL pane updated.



Verify setting Alias for Tables/columns/views

Verify adding alias to a table/view in SQL pane

Verify adding alias to a column in grid pane

Verify setting alias for the table via property sheet

Verify using alias in WHERE clause

SQL, grid and diagram panes updated.


Added feature to check the alias name as per the following :

As per the SQL 92,
SQL syntax requires users to supply names for elements such as
tables, aliases, views, cursors, and columns when they define
them. SQL statements must use those names to refer to the table,
view, or other element.

The maximum length for SQL identifiers is 32 characters.

There are two types of SQL identifiers:

* Conventional identifiers
Conventional SQL identifiers must:
* Begin with an uppercase or lowercase letter.
* Contain only letters, digits, or the underscore character ( _ ).
* Not be reserved words.
* Use ASCII characters only.
* SQL does not distinguish between uppercase and lowercase
letters in SQL identifiers. It converts all names specified
as conventional identifiers to uppercase, but statements
can refer to the names in mixed case.

* Delimited identifiers enclosed in double quotation marks
* Delimited identifiers are strings of no more than 32 ASCII
characters enclosed in double quotation marks ( " " ).
Enclosing a name in double quotation marks preserves the
case of the name and allows it to be a reserved word or to
contain special characters. Special characters are any
characters other than letters, digits, or the underscore
character. Subsequent references to a delimited identifier
must also use enclosing double quotation marks. To include
a double quotation mark character in a delimited identifier,
precede it with another double quotation mark.  


 Column Name /table Name should not be editable






Verify Setting arguments/parameters

Add criterion with parameter via gridpane context menu and manually in the Criteria cell.

SQL updated properly.




Verify Specifying  Sort Type

Set sort type in the grid pane. Run the query.

SQL updated properly. Result pane shows ordered results.




Verify Specifying Sort Order

Set sort type for two columns in the grid pane. Change sort order. Run the query.

SQL updated. Result pane shows results ordered properly.




Verify specifying simple criteria (via grid pane).

Change "Criteria" column in the grid pane.

SQL pane updated.




Verify  Cut/Copy/Paste functionality

 Copy ("Ctrl-C" for Win) from one cell some text, paste it ("Ctrl-V" for Win) to another cell




Verify  Delete

 Select some text in cell and press "Del" to delete it




Verify  Cut/Copy/Paste/Delete menu items functionality

Try to select/deselect text in editor - items should be enabled/disabled correspondingly

Use these items to execute appropriate operations

Added for Thresher

Currently not implemented


Verify Properties with selecting items/columns in grid pane

No properties defined


What if column is required twice (select empno, empno, name ...)

FROM PERSON. Parse and run the query.

Diagram and grid pane updated. Result pane contains the output column twice.


Another way to provide multiple output for the one column is not implemented 


 Verify the appearance of popup menu which has one menu item "Add Query Criteria..."

Right click in the the grid on any column, the popup menu with single menu item "Add Query Criteria..." should appear on all the columns.  Try with more than one column. 

Popup menu with element "Add Query Criteria..." should appear



Verify that popup menu does not appear when the components state is intermediate(eg: we are not done with the selection process, drop down list of sort order) appearance of popup menu which has one menu item "Add Query Criteria"

click in the the grid on sort any column, the drop down list should  appear, without selecting the order, now right click the popup menu should not appear.
After selecting the sort order right clicking should bring up popup menu with single menu item "Add Query Criteria".

Popup menu appearance depends on the state of the component.



Adding criterion with parameter



Some usability issues are not yet fixed/implemented

Still not implemented in Thresher


Adding several AND criteria

Add AND query criteria several times to one column (with different values).

After every adding new criteria new row should appear, while current row should contain added criteria.

Added for Thresher
Currently feature is removed


Adding several OR criteria

Add OR query criteria several times to on column (with different values).

After every adding new criteria new column should appear, while current column should contain added criteria

Added for Thresher

Currently feature is removed


Verify Enter effect

Type text in column and press Enter 

Query is updated


Verify Esc effect

Type text in column and press Esc

Cell returns to previous state


* mark for complex criteria

Type query with complex criteria, for example



Parse query

*** mark appears in criteria cell (PERSON_ID column in example)


Verify grid table size 

Check if  table fits query editor pane by horizontal


SQL Pane Verification

Test Id

(t) Test Item

(i) Input Spec

(o) Output Spec

(e) Env needs

(d) Dependencies /Notes


Change SQL and verify if this parsed and other panes are updated accordingly. Also Run the Query


All other panes updated.




Type “Select * from Person” and verify “Parse Query”

* should be parsed as ALL <list of fields>


Type SQL embedded with newline/enter characters and try “Run Query”





Change the case (upper to lower) in SQL and verify that it works


Change columnnames as columnnames w/o prefixes, tablename.columnname, schemaname.tablename.columnname and verify that it works as expected


Verify syntax highlight

Enter query with lots of different keywords, parse it

Keywords, column names, schema name  should be highlighted with corresponding colors


Verify case auto-change

Type query manually

Keywords should be automatically converted to uppercase. Keywords inside of string literal shouldn't.

Results Pane verification

Test Id

(t) Test Item

(i) Input Spec

(o) Output Spec

(e) Env needs

(d) Dependencies /Notes


Verify Horizontal/verticall bar for viewing the result set


Horizontal/verticall scroll bars enabled.




Verify if the column can be stretched to view the full data






Verify the format of Date, Time, Timestamp, BLOB/CLOB shown





Verify Run Query on table with more rows


 Results truncated to 40 rows displayed



Verify Run Query with zero/no rows in table





Running query with parameter criteria

  • Add 2 parameter query criteria and run query.
  • Enter values for parameters and choose OK
  • Dialog for entering values should appears
  •  Query must be executed with entered values as parameters

- Specifying Parame


Verify dialog for specifying query parameters

  • Add 2 parameter query criteria and run query.
  • Verify Enter, Esc, F1 effects, dialog modality, etc.

  • Dialog for entering values should appears
  • Dialog works correctly


Verify that the result pane rows displayed are not editable





Verify the error message when columnname, tablename, viewname or schema name is mis-spelt


Verify results pane for INSERT/UPDATE/DELETE operators


Result pane should be empty

Added for Thresher

Currently not implemented


Common Query Design Scenarios

  • Performing Basic Operations with Queries
  • Specifying Search Criteria
  • Querying on Groups of Rows
  • Querying Using Multiple Tables
  • Creating General Purpose Queries
  • Expressions in Queries
  • Including User-Defined Functions in a Query
  • Manipulating Data in Results Pane
  • Creating Insert/Update/Delete Query
  • Miscellaneous


  • Each of the scenario could be done in different ways. Not all possible operations are implemented.  Scenarios with Test ID "Not implemented" are not to be executed
  • We should try out each of the scenario against all supported databases (Oracle 9i/8i, MS SQL Server, DB2, Sybase, MySQL & PointBase).
  • Most of the scenarios below have been updated for Reef - please review this and suggest any missing scenarios/cases.



Test Id

(t) Test Item

(i) Input Spec

(o) Output Spec

(e) Env needs

(d) Dependencies /Notes


 Add a table/ view to query

In the Diagram pane, right-click the background and choose Add Table from the shortcut menu. In the Select Table(s) to Add... dialog box, select the one or more tables/views you want to add to the query and click OK.

- Select tables/views with PK/FK join/relationship in metadata
- Select tables/view w/o PK/FK relations defined in metadata

 Query updated for the table/view in SELECT, FROM, WHERE  




 Remove a table/view from a query

In the Diagram pane, select the table/view and right-click the object and then choose Remove from Query

O/P: When you remove a table/view, the Query Editor automatically removes joins that involve that table/view and removes references to the object's columns in the SQL pane and Grid pane. However, if the query contains complex expressions involving the object, the object is not automatically removed until all references to it are removed

 Query updated for the table/view in SELECT, FROM, WHERE


- Multiple selection not supported.


 Add a column to a query

To add an individual column 
- In the Diagram pane, select the check box next to the data column that you want to include. 

- In the SQL pane, add the column name and parse/run query should select the column in the diagram pane.

- Use a column in criteria but not in ouput like select name from person where personid> 2. Add Colum, Add Criteria and uncheck ouput in grid pane.


 Oracle Specific

Note : Table.* is removed


 Remove a column from the query output

 - In the Diagram pane, clear the check box next to the name of the column you want to remove. 
- Remove the column from the output list in the SQL pane. 

- Uncheck proper "output" checkbox in the grid pane.





 Change the order of columns in query output

 Edit the order of the column names in the SQL pane. 



JD>  Not in Spec:
Cannot reorder columns in Diagram or Grid.


 Verify a query

 Right-click in the SQL pane, and select  "Parse Query" from the context menu. See information about parsing incorrect queries in qb_neg_002.



 All types of queries not supported. Should show appropriate message when parsing unsupported ones.

SD> Implemented in RR. If the QE is unable to parse SQL, user is given a choice to continue ahead with the query (in which case the diagram and grid pane will stop responding) or to cancel (in which case the previous valid query will be restored)


 Execute a query

 Right-click anywhere in the query window, and select Run from the context menu 
The Query Editor returns results truncated to 40 rows, if the result has more rows or all rows, if the result has fewer than 40 rows.




JD> Keyboard shortcut not supported.

For LS - only first 40 rows can be returned. Number of rows and time spent for query execution not shown.



Order result rows of a query

In the Grid pane, locate the row containing the first data column or expression to sort by, and then in the Sort Type grid column, choose Ascending or Descending
If you are sorting by multiple columns or expressions, specify the sort order in the Sort Order column of the grid. 




Specifying search conditions in the Query Editor

Add the columns or expressions that you want to use within your search condition to the Grid pane.Locate the row containing the data column or expression to search, and then in the Criteria grid column, enter a search condition. Note   By default, the Query Editor automatically inserts the equality operator "=". The Query Editor updates the SQL statement in the SQL pane by adding or modifying the WHERE clause.




IS NULL is not supported now.


Creating expressions that you can use in search conditions

To find rows that do not match a value, use the NOT operator. For example, to find all the rows in a products table where the values in the product code column begin with a character other than "A," you can enter a search condition such as the following: 

NOT LIKE 'A%' or empid <> 123




JD> NOT not implemented.

Expressions not supported.

SD> No change.



Using operators in search conditions

Comparison Operators, Logical Operators 

To specify an OR condition

  1. In the Grid pane, add the column to search.
  2. In the Criteria column for the data column you just added, specify the first condition.
  3. Note: Or ... column has been removed. So, specify the second condition/criteria against an other column.
  4. -or- type in the query in SQL Pane, and Parse /Run Query

To specify an AND condition

  1. In the Grid pane, add the column to search.
  2. In the Criteria column for the data column you just added, specify the first condition.
  3. Add the same data column to the Grid pane again, placing it in an empty row of the grid.
  4. In the Criteria column for the second instance of the data column, specify the second condition.
  5. -or- type in the query in SQL Pane and Parse/Run Query

To specify AND and OR condition

  1. In the Grid pane, add the column to search.
  2. In the Criteria column for the data column you just added, specify the first condition.
  3. Add the same data column to the Grid pane again, placing it in an empty row of the grid.
  4. In the Criteria column for the second instance of the data column, specify the second condition.
  5. -or- type in the query in SQL Pane and Parse/Run Query. W/ Northwind SQLServer Data source, using books table surname like [A-M]%' OR (id<203 and id > 205)



JD> OR not implemented. No plans for AND 

SD> No change.

We can't specifiy multiple criteria against the same column like id > 200 and id< 205 in the criteria cell.


Entering text, numbers, dates, or logical value

Embedding apostrophe 'Swan''s Way' 
ANSI date format { d '1990-12-31' } 
ANSI timestamp fromat {ts '1990-12-31 00:00:00'}



 JD> Not implemented

SD> No change.


Removing duplicate rows from Select queries

Add DISTINCT thru SQL Pane




Applying multiple search conditions to the same data column

In the Grid pane, add the column to search. In the Criteria column for the data column you just added, specify the first condition. In the Or ... column for the same data column, specify the second condition. 
The Query Designer creates a WHERE clause that contains an OR condition such as the following: 

Examples: SELECT fname, lname FROM employees WHERE (salary < 30000) OR (salary > 100000)

SELECT title_id, title FROM titles WHERE (title LIKE '%Cook%') AND (title LIKE '%Recipe%')



 JD> Not implemented yet

SD> No change.


Including several data columns as part of the search condition for a query


SELECT title_id, title FROM titles WHERE (title LIKE '%Cook%') AND (title LIKE '%Recipe%')

SELECT pub_id, title FROM titles WHERE (pub_id = '0877') AND (title LIKE '%Cook%')



JD> Not Implemented yet


Linking search conditions with AND and OR operators

Precedence of AND and OR :When a query is executed, it evaluates first the clauses linked with AND, and then those linked with OR 
Ex:  A AND (B OR C)    , (A  AND B) OR (C AND D)



 JD> Not Implemented yet

SD> No change.


Verify Querying with Parameters

Set criteria with parameters and execute the query.

Message which says that running queries with parameters is not supported should be displayed.


Execution of parameterised queries not implemented in EA.

SD> Same as EA

but now an appropriate message is displayed.



Add table, check GROUP BY in the context menu of the diagram pane. Select/deselect column in the diagram pane. Run the query.





Verify that alias could be removed properly.

Add alias for table and then remove it. Check that SQL query is still correct.

Add alias for column name in gridpane and run query to verify that alias name given is seen the results pane as the column name.



 Embedded spaces in alias name gives error. Does it need to be quoted?


Check generated query in java class.

Open appropriate java class and check that there's a correct query in code (no special symbols like \n added, etc.).





Verify changing JOIN type.

Click on JOIN arrow in the diagram pane and change its type in the propertysheet from INNER to LEFT/RIGHT OUTER. Run the query. Try to set the type back to INNER.




Parsing some specific queries.

Parse a query which contains names without prefixed scheme name (e.g. PERSON instead of ROOT.PERSON).

 Scheme name should be added, no errors should appear.




Parsing case-insensitive names

Parse a query which contains names in the wrong case (e.g. lowercase instead of uppercase). 

 Case should be corrected, no errors should appear.



Parsing queries with simplified names.

Parse a query like SELECT PERSONID FROM PERSON (here PERSONID used instead of PERSON.PERSONID).

Names in the query should be changed to full qualified and the query should be parsed without errors.



Querying Using Multiple Tables

Inner Joins 
Outer Joins 
Self Joins  (not implemented now)
Verify removing tables involved in joins 




Verify joins in combination with aliased tables.

Add two related tables to the query (e.g. PERSON and TRIP) to create join. Than specify an alias for one of them or for both. Try to remove one of the tables from the query. Try to remove alias back. Check that SQL pane is still correct.





Verify default order Ascending is selected when Sort Order is selected

In the Grid pane select Sort order drop down list and select the Sort order number.  The order should change to Ascending automatically.  Select the next column in the grid pane under Sort order and select the next available sort order number, Ascending order should appear automatically.  Change the ascending order to descending and execute the query and make sure that data appears in the above said order.

Ascending order should appear by default.


Queries with computed columns 

Verify that queries like 'select a , a*b, c+' '+d...' works fine 




Queries with aggregate functions usage

Verify that queries using AVG | MAX | MIN | SUM | COUNT functions works fine 

Examples: SELECT COUNT(*) FROM Person

                 SELECT AVG(COL1) FROM NoRelation

Added for Thresher


Verify using multiple criteria with Criteria Order

Add multiple criteria to the query. Use Criteria order to set the order of criteria and verify the result.

WHERE clause needs to reflect the criteria per the order set


 Not implemented

Querying on Groups of Rows

Create subsets of summary information by organizing data into groups -  avg, sum 
Count the number of rows that meet specific conditions - count(*) 
Create search conditions that apply to groups of rows /both individual rows and on groups of rows 








Queries with parameters

Create queries with parameters 
Creating a Query with Unnamed Parameters 
Creating a Query with Named Parameters 
Specifying Parameter Marker Characters - You may want use char like "%"



JD> Only Unnamed parameters using ?

SD> No change.


Multiply AND and OR conditions

Enter and run query with mutiply conditions connected with AND for specific field. Use parenthesis around composite condition.

Same for OR. 

Same for combination of AND and OR.

Same for 2 fields simultaneously

Parse is OK, *** in Criteria column of grid pane, query execution is successful.

Added for Thresher


Verify Cut/Copy/Paste 

  1. Copy some text from Notepad or other external program
  2. Paste (Ctrl-C) in into query text pane
  3. Cut another text from query text pane
  4. Paste it to external program 

Cut/Copy/Paste operations are successful

Added for Thresher


Verify strings with keywords

Parse query 







'select' should remain in  lowercase, while like should become uppercase

Added for Thresher


Verify mouse pointer states

Execute several long operations (adding several tables at once, running query with much of output, etc.)

Mouse pointer should become hourglass at start and become normal when operation is finished 

Added for Thresher


Check Tab order

Press Tab in main QB window and in all dialogs. 

All enabled components should be able to get focus with Tab, and disabled components shouldn't receive focus

Added for Thresher


Check spaces in table name

Add table with spaces in name to query. Unselect some fields, add query criteria, sorting order, join to other table, alias. Parse and run query.

Also check manual typing query for such table.

Added for Thresher

 Not implemented

Create Make Table Query

Select * into 
Create table name as select * 


Database  specific

 Not implemented

forced used of indexes in the query? 

 select * from tablename { with index(indexname) }




Negative Tests


Test Id

(t) Test Item

(i) Input Spec

(o) Output Spec

(e) Env needs

(d) Dependencies /Notes


 what if connection gets disconnected or the datasource is unavailable





qb_neg_ 02

 what if SQL is not syntactically correct 

Input incorrect query in the SQL pane and parse it. Try to run it.

Dialog in which user is given a choice to continue ahead with the query (in this case the diagram and grid pane will stop responding) or to cancel (in this case the previous valid query will be restored) should appear. When user tries to run incorrect query, appropriate error message should appear.



qb_neg_ 03

 what if no rows are returned -- any message indicating that query has been executed 






 Error messages from DB Server shown appropriately - For instance, error due to permission problems

  For instance

- error due to permission problems

- When DB Server is down





what if Resultset has unsupported datatypes (BLOB) 






 Run the ide with “-fontsize 18” and verify that all query editor UI interface/text are usable and dialogs are resizable. This is sort of A11y test.






 Queries that can't be represented diagrammatically

- Group by using aggregate functions like sum/avg/count

- Sub Queries

- BETWEEN in criteria (unsupported now)

 Diagram pane is greyed/disabled but should be able to execute the query still and verify the results.



Insert/Update/Delete Tests

Test Id

(t) Test Item

(i) Input Spec

(o) Output Spec

(e) Env needs

(d) Dependencies /Notes


INSERT statement

Change query type to INSERT
Parse query
Run query.

 Grid pane looks as follows:

Column | Table  | New Value | 

 Query can be executed successfully.



UPDATE statement

hange query type to UPDATE

Parse query

Run query.

 Grid pane looks as follows:

Column | Output | Table  | New Value | Criteria | Criteria Order 

Query can be executed successfully.


Editing "New Value" field

Enter some value for New Value field and run query again


DELETE statement

Change query type to DELETE

Parse query

Run query.

 Grid and diagram pane looks as follows

Column | Table  | Criteria  | Criteria Order

Query can be executed successfully.


Manual input query

Type INSERT/UPDATE/DELETE query manually

Parse query

Parse successful, panes look OK.


Changing query type for multiply tables

Enter SELECT query for 2 tables

Change its type to INSERT. 

Same for UPDATE and DELETE.

Prompt for choosing table appears

Acceptance Test Suite

(t) Test Item

Test Id

(d) Dependencies /Notes

Invoking QB - Add table/rowset to the page and invoke Query Editor

qb_invoke_01 & qb_invoke_02


Design Scenario: Add a table/View or a column to a query



Design Scenario: Remove a table/column source from a query



Design Scenario: Verify Parsing Query



Design Scenario:  Verify Executing a Query



Design Scenario: Verify creating search criteria



Design Scenario: Verify Ordering Result Set

qb_ 008


Invoke QB: Verify Save, Close & Reopen Query













Reviewer Name & Title



Jim Davidson, RAVE Engineering


Approved for TP

Sanjay Dhamankar, RAVE Engineering


Approved for RR

Jim Davidson, Runtime Lead

Approval Needed for Reef

Sanjay Dhamankar, Query Editor Engineering


Approved for Reef

Joel Brown, Database Support Engineering

Approval Needed for Reef

Revision History




Sakthivel Gopal


First Draft

Sakthivel Gopal


Feedback from Steve Fleming incorporated

Sakthivel Gopal


Feedback from Jim Davidson Incorporated

Khashchanskiy Oleg


Added new testcases, updated some of already existing ones.

Khashchanskiy Oleg


Feedback from Sanjay Dhamankar incorporated

Sakthivel Gopal


Updates for Reef (Notes column have been updated for cases added/updated for Reef)

Sakthivel Gopal


Comments from Sanjay incorporated

Sakthivel Gopal


Comments from Mikhail Matveev incorporated

Mikhail Matveev


Version for Thresher

Mikhail Matveev


Test cases for significant bugs after Thresher EA 2

Alexey Butenko


Updated for Longfin

Project Features

About this Project

QA was started in November 2009, is owned by Jiří Kovalský, and has 97 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20160708.bf2ac18). © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
Please Confirm