Dashboard > WSO2 Data Services > Quality Assurance > DS functional testing checklist
  WSO2 Data Services Log in | Register   View a printable version of the current page.  
  DS functional testing checklist
Added by Charitha Kankanamge , last edited by Charitha Kankanamge on Sep 18, 2008  (view change)
Labels: 
(None)

IDE plugin

# Test scenario Test Result (beta) - (pass/Fail) Comments Test Result - 1.0RC1
Test Result - 1.0RC3
Test Result - 1.0RC4 
1 Create a data service by selecting RDBMS as the data source Pass     Pass pass
2 Create a data service by selecting Excel doc as the data source pass       pass
3 Create a data service by selecting CSV file as the data source pass       pass
4 Create a data service by selecting JNDI source as the data source pass
      pass
             
5 Auto completion of SQL statements when creating a data service pass
Tested with MySQL
  Pass pass
6 Tryit pass

  Pass pass
7
Deploy the data service to a remote server
pass

    pass

Management console and core features

# Test Scenario Expected result
Actual Test Result (pass/fail) Comments Test Result - 1.0RC1 (FF3/jdk15/winxp)
Test Result - 1.0RC3
Test Result - 1.0RC4
1 Log in to Data service solution admin page
(user=admin/password=admin) 
User should be able to log in to admin page successfully
pass
  pass Pass pass
2 Enter invalid credentials
An appropriate error message should be displayed and allow user to re-enter credentials
pass
  pass Pass pass
3 Select to create a new data service
Step 1 of the data service wizard should be displayed
pass
  pass Pass pass
4
Save data service without copying the relevant jdbc driver in to classpath
The data service should be deployed as faulty
fail
https://wso2.org/jira/browse/DS-324
pass Pass pass
               
   Data service wizard - Step 1
           
               
1 Click on 'Next' without filling any value in the first step of data service configuration wizard 'Name of the data service must be provided in order to proceed' message will be displayed pass
  pass Pass pass
2 Select 'RDBMS' as the datasource and click add button
'Data source type: RDMBS' window will be displayed
pass
  pass Pass pass
3 Select 'MS Excel' as the data source
'Data source type: Excel'  pop-up window will be displayed pass
  pass
  pass
4 Select 'CSV' as the data source 'Data source type: CSV'  pop-up window will be displayed pass
  pass
  pass
5 Select 'JNDIDatasource' as the data source 'Data source type: JNDIDataSource'  pop-up window will be displayed pass
  pass
  pass
               
6 Select 'MySQL' as the database type
Default driver should be com.mysql.jdbc.Driver
pass
  pass
Pass pass
7 Select 'Apache Derby' as the database type Default driver should be org.apache.derby.jdbc.EmbeddedDriver
pass
  pass
  pass

Select 'Microsoft SQL Server' as the database type
Default driver should be com.microsoft.jdbc.sqlserver.SQLServerDriver
pass
  pass
  pass

Select 'Oracle' as the database type
Default driver should be oracle.jdbc.driver.OracleDriver
pass
  pass
  pass
10
Select 'DB2' as the database type Default driver should be com.ibm.db2.jcc.DB2Driver
pass
  pass
  pass
11 Select 'HSQLDB' as the database type Default driver should be org.hsqldb.jdbcDriver pass
  pass
  pass
12 Select 'Informix' as the database type Default driver should be COM.ibm.db2.jdbc.app.DB2Driver pass
  pass
  pass
13 Select 'Generic' as the database type
Default values should be populated as 'Generic'
pass
  pass
  pass
               
14
Enter the jdbc url of a valid MySQL db, enter user credentials and click on 'Test Connection'
'Connection successful' message will be displayed
pass   pass
Pass pass
15
Enter the jdbc url of a valid Derby db, enter user credentials and click on 'Test Connection' 'Connection successful' message will be displayed pass   not tested
Pass not tested
16
Enter the jdbc url of a valid MS SQL server db, enter user credentials and click on 'Test Connection' 'Connection successful' message will be displayed pass
  not tested
  not tested
17
Enter the jdbc url of a valid Oracle db, enter user credentials and click on 'Test Connection' 'Connection successful' message will be displayed Not tested
  not tested   not tested
18
Enter the jdbc url of a valid Oracle db, enter user credentials and click on 'Test Connection' 'Connection successful' message will be displayed Not tested
  not tested   not tested
19
Enter the jdbc url of a valid DB2 db, enter user credentials and click on 'Test Connection' 'Connection successful' message will be displayed Not tested
  not tested   not tested
20
Enter the jdbc url of a valid HSQLDB db, enter user credentials and click on 'Test Connection' 'Connection successful' message will be displayed Not tested
  not tested   not tested
21
Enter the jdbc url of a valid Informix db, enter user credentials and click on 'Test Connection' 'Connection successful' message will be displayed Not tested
  not tested   not tested
22
Click on 'Test Connection' with invalid DB URL Appropriate error message should be displayed
pass   pass
Pass pass
23
Click on 'Test Connection' with invalid JDBC driver
Appropriate error message should be displayed pass   pass
Pass pass
24
Click on 'Test Connection' with invalid username
Appropriate error message should be displayed pass   pass
Pass pass
25
Click on 'Test Connection' with invalid password Appropriate error message should be displayed pass   pass
Pass pass
26 Shutdown DB and click on 'Test Connection'
Appropriate error message should be displayed pass   pass
Pass pass

         
 
27 Select MS Excel as the datasource and enter a valid excel datafile location in server file system
dataservice configuration preview should be updated with the excel file path
pass   pass
  pass
28 Select MS Excel as the datasource and enter a valid url based repository as the excel file location
dataservice configuration preview should be updated with the excel file path fail
  pass   pass

             
29 Select CSV as the datasource and provide valid values for configuration parameters
dataservice configuration preview should be updated with the given properties
pass       pass
30
Enter a CSV file resides in server file system as the CSV path
  pass   pass
  pass
31
Enter a CSV file resides in a URL repo as the CSV path  
  pass
  pass
32
Verify mandatory attributes of Data Source Type:CSV popup window
Starting Row, Header available fields should be mandatory
pass   pass
  pass
               
               
  Data service wizard - Step 2            
1 Check the preview of the data service configuration
The preview should be displayed correctly with the information provided in the first step
pass   pass Pass pass
2 Select to create a new query
'Add New Query' popup window should be displayed
pass   pass Pass pass
3 Verify the mandatory values
QueryID and SQL Statement should be mandatory attributes. If user tries to proceed without providing them, the appropriate error should be returned.
pass   pass Pass pass
4 Add a new query with providing all the inputs correctly
New query should be displayed under 'Queries' section with edit and remove options pass   pass Pass pass
5
Select 'Edit' icon of the new query
The original values of the query should be displayed
pass
  pass Pass pass
6
Update the query and save it
The updated values should be displayed pass   pass Pass pass
7
Go back to the first step and navigate again to the second step The updated query values should be persisted pass   pass Pass pass
8 Remove a query Query should be removed and the configuration preview should be updated with it pass
  pass Pass pass
9 Select 'Add new Input mapping' option
'Add New Input Param' popup window will be displayed
pass   pass   pass
10 Verify the mandatory attributes of 'Add New Input Param' window
Name and SQLType should be denoted as mandatory. If user tries to proceed without providing them, the appropriate error should be returned. pass   pass   pass
11
Select 'Edit' icon of the new input mapping
The original values of the input mapping should be displayed pass   pass   pass
12
Update the input mapping and save it The updated values should be displayed pass   pass   pass
13
Remove an input mapping
input mapping should be removed successfully
pass   pass   pass
14
I. Create a Query with an input mapping and save the data service
II.  Invoke the data service with providing the necessary input parameters
I. Data service should be deployed successfully
II. User should get the correct results
pass   pass
  pass
15
I. Define an  SQL statement with a stored procedure
II. Verify the mandatory INOUT type and Ordinal values of the input mapping
INOUT type and Ordinal values are compulsory if there is an stored procedure
pass  
  pass
16
I. Edit the SQL statement with removing stored procedure
II. Verify the In OUT Type and Ordinal values of the input mapping
User should be able to save Input mapping without defining INOut type and ordinal values if stored procedure is not available
pass
      Not tested
               
17
Select 'Add new output mapping' without entering 'Grouped by Element'
'Grouped by element is required' error should be returned
pass
  pass
Pass pass
18
Enter grouped by element, rowname and rowname space
Valid values should be persisted successfully
pass   pass
Pass pass
19 Select 'Clear Result' option
Output mappings should be removed
pass   pass
Pass pass
20 Select 'Add New Output mapping' option
'Add New Output mapping' popup will be displayed
pass   pass
Pass pass
21
Select 'Mapping Type' as element, enter output field name and SQL column name
New output mapping should be saved and listed in 'output mappings' table
pass
  pass
Pass pass
22
Select 'Mapping Type' as attribute, enter output field name and SQL column name New output mapping should be saved and listed in 'output mappings' table pass   pass
Pass pass
23 Select 'edit' option of an output mapping The original values of Output field name and SQL column name should be listed. Mapping Type should not be configurable in edit mode.
pass   pass
Pass pass
               
  Data service wizard - Step 3

         
1 Select 'Add New Operation'
'Add New Operation' popup will be displayed pass   pass
Pass pass
2 Enter operation name and Query and save the operation
New operation should be listed under operations table
pass   pass
Pass pass
3
Select 'Add New operation' when the query consists of input parameter mappings
New operation popup window should  have an option for 'operation parameter mappings' 
pass   pass
Pass pass


4
Check mandatory values of add new operation screen 'operation name' should be compulsory value
pass   pass
Pass pass
               
  Edit Data service
           
1 Edit an existing data service configuration
Data service configuration should be displayed. so that user should be able to edit the configuration.
pass

pass
Pass pass
2 Edit a policy of a data service
Updated policy should be persisted.
N/A
Edit policy page is not available N/A N/A N/A
3
Edit data service if hotupdate=true
Changes will be available after updating the configuration
pass
  pass
Pass pass
               
   Generate client
           
1 Generate code with default code generation options
The client jar should be generated successfully
pass

pass   pass
2 Generate code with wsdl 2
Write a client and invoke service
Code generation should be successful
Service should be invoked successfully
pass   pass
  pass
3 Code gen with unpack = true
Code generation should be successful pass   pass
  pass
4 Code gen with unpack = false
Code generation should be successful pass   pass
  pass
5 Generate code with XMLBeans
Code generation should be successful Fail DS-172
  Fail DS-172
  Fail DS-172
6
Generate code with test cases
Code generation should be successful pass       pass
7
Change the package name and generate client
stubs should be generated inside a custom package
pass       pass
               
   Tryit tool
           
1 Invoke a data service using Tryit
Results should be displayed in Tryit page
pass   pass Pass pass
2
Try it with changing endpoint to Soap11
Results should be displayed in Tryit page pass
  pass   pass
3
Try it with changing endpoint to http
Results should be displayed in Tryit page fail DS-322
  fail DS-322
  pass
               
  Uploading data service
           
1
Upload a dbs through management console
The new dbs should be deployed successfully and listed in data services table
pass

pass Pass pass
2 Upload an invalid archive
error message appears
pass   pass Pass pass
               
  Service Statistics
           
1 I. Select a data service and invoke it n times
II. Go to service management page and check service statistics
Request count and response counts should be n.
pass       pass
  I. Select a data service and invoke it n times. Do m no.of faulty invocations

II. Go to service management page and check service statistics
Request count should be n. Fault count will be m.
pass
      pass
               
   Transports            
1
Remove a transport from a service
Transport should be removed from service and should not be able to invoke service with the removed transport.
fail DS-330

pass   pass
2
Add the removed transport back
Transport should be added to the exposed transports list of the data service and should be able to invoke service with the added transport. fail DS-330
  pass
  pass
               
   Logging            
1 Select logging in the left menu
"Logging Management" page should be displayed.
pass   pass   pass
2 I. Change the log level of the global log level configuration in to Debug
II. Do some activities and check console
I.  "Global Log4J Configuration successfully updated" message appears. Effective level of log4j loggers should be changed to DEBUG

II. DEBUG messages will be shown in the console
pass       pass
3
Change the log pattern and update
Messages should be logged according to the given pattern
not tested
      pass
4
Change the log4j appender to CARBON_LOGFILE and enter a log file
log messages will be saved in the specified log file.
pass       pass

 Throttling

#
Test Scenario
Expected Result
Actual Result (pass/Fail)
Comments
Test Result - 1.0RC1 (FF3/jdk15/winxp) 
Test Result - 1.0RC3
Test Result - 1.0RC4
1 Select a data service and click on "Throttling" link
Throttle configuration screen should be displayed
pass
  Pass Pass
2.
Enable throttling for a service and restart server
Throttle policy should be persisted
pass
    Pass Pass
3. Checking Max request Count by configuring throttling configuration
Allows only number of request configured in throttling configuration
Pass
    Pass Pass
4. Checking "Unit Time " in Throttling Configuration
Request should allows only configured time frame
Pass
    Pass Pass
5. Checking"Prohibit Time Period" in Throttling Configuration All the request should deny during the prohibit time period
Pass
    Pass Pass
6. Insert one IP in range and check throttling configuration Request allows only configured IP pass

  Pass Pass
7. Insert IP Range in range and check throttling configuration Request allows only configured IP Range pass

  Pass Pass
8. Checking Maximum Concurrent Accesses in Throttling Configuration
DS Severer should allow only configured concurrent access in same time 
pass

    Pass
9. Checking "DOMAIN" type in throttling configuration
All the Request in configured domain should allow.
not tested
       
10.
Apply Global throttling
throttling should apply for all the services.
      Fail (DS-445)
Pass

 Caching

#
Test Scenario
Expected Result
Actual Result (pass/Fail) 
Test Result - 1.0RC3 Test Result - 1.0RC4
Comments
1
Select a data service and click on "caching" link Caching configuration screen should be displayed
pass Pass pass  
2
I. Select a data service and enable caching
II. Edit cache timeout and save 
I. Default caching settings will be shown
II. The updated cache configuration should be available in the wsdl of data service as a cachingAssertion
pass Pass pass  
3
Update Memory Cache Size (bytes) of cache configuration
  Not tested
  pass  
4 Update Max Message Size (bytes) of cache configuration
  Not tested
  pass
 
5 Save the cache configuration and restart server
Cache configuration should be persisted
pass

   


Miscellaneous

# Test Scenario Expected Result
Actual Test Result (pass/fail) Test Result - 1.0RC3  Test Result - 1.0RC4
Comments
1 Verify the installation and legal documents  
Readme and release notes should be included in the root directory.
 license text files of the all jar files should be available.
Not tested
  pass  
2 Run wso2server.bat 
from a directory which includes white spaces in the path
wso2server should be launched successfully pass

pass
 
3 Run wso2server.bat from a directory which consists of long directory path wso2server should be launched successfully
Not tested
  fail  
4
Check admin service accessibility
users should not be able to access admin services with http.
pass
  pass  
             
5
Enable JMS in repository/axis2.xml
Start activemq
Start DS server and check transports of the services
jms transport should be enabled in all the services
pass
  pass  

 Dataservices with Security

#
Test Scenario
Expected Result
Actual Result (Pass/Fail)
Test Result - 1.0RC3 Test Result - 1.0RC4 Comments
1
I. Select 'Manage Security' in the left menu
II. Select 'Manage User Stores'

I. 'Manage Security' screen will be displayed
II. 'Manage User Stores' page will be displayed. The existing user stores will be listed in a table

                        
pass   pass  
2 Add a new jdbc user store
new user store should be added successfully and the table should be updated.
pass
  pass  
3
Add a new ldap user store
new user store should be added successfully
pass
  Not tested in RC4
 
4
Create a new user group from new jdbc user store
users in jdbc user store should be available to choose when creating new user group
pass
  pass
 
5
Create a new user group from LDAP user store
users in ldap user store should be available to choose when creating new user group pass
  Not tested in RC4  
6
Assign UT scenario to a service
Select user group which is associated with a JDBC user store
Write a client and invoke service by using the credentials of a user in that user group
Service should be invoked successfully
pass
  pass
 
7
Assign UT scenario to a service
Select user group which is associated with a LDAP user storeWrite a client and invoke service by using the credentials of a user in that user group
Service should be invoked successfully pass   Not tested in RC4  
8 Add a new key store
New keystore should be displayed in the keystores page
pass      
             
9 Enable "user name token authentication" for a data service and invoke the service
Service should be invoked successfuly
pass

pass  
10 Enable "Integrity" for a data service and invoke the service Service should be invoked successfuly pass Tested with default sample
pass  
11
Enable "Confidentiality" for a data service and invoke the service Service should be invoked successfuly pass Tested with default sample
   
12 Enable "Non-repudiation" for a data service and invoke the service Service should be invoked successfuly pass Tested with default sample
pass  
13 Enable "Advanced scenarios" for a data service and invoke the service Service should be invoked successfuly pass
Tested with default sample
   
             
9
I. Enable one of the security scenarios
II. Restart server and check the ?wsdl of the data service
service policy should be persisted
pass
[
]
   


Dataservices with Reliable messaging

Test Scenario Expected Result Actual Result (pass/fail) Comments Test Result - 1.0RC1
Test Result - 1.0RC3
  Synchronous oneway communication
   
   
1 I. Engage mercury to a RDBMS based data service
II. Send a one-way message to data service
Server should return an ack through the same channel
not tested
     
2 I. Engage mercury to a RDBMS based data service
II.  Send 100 one-way messages to data service
III. Block the channel after sending 50 messages and wait for 2 minutes. Then restart the channel
Server should retransmits the remaining acknowledgments after restarting the channel
not tested      

Asynchronous dual channel - oneway
         
3 I. Engage mercury to a RDBMS based data service
II. Send a one-way message to data service
The first message to be sent on the "back channel" is CreateSequenceResponse.
All HTTP responses are 202 accepted messages.
Server responds through back channel 
not tested      
4 I. Engage mercury to a RDBMS based data service
II.  Send 100 one-way messages to the data service
III. Block the request channel after sending 50 messages and wait 2 minutes. After that, restart the request channel
  not tested      
5 I. Engage mercury to a RDBMS based data serviceII.  Send 100 one-way messages to the data service
III. Block the response channel after sending 50 messages and wait 2 minutes. After that, restart the request channel
  not tested      
  Synchronous two way communication
         
6 I. Engage mercury to a RDBMS based data service
II. Send a two-way message to data service (send a Get request to retrieve data in a table)
Server responds through the same channel attaching a sequence acknowledgment acknowledging the request received. pass   pass pass
7
I. Engage mercury to a RDBMS based data service
II. Send 100 two-way message to data service (send a Get request to retrieve data in a table)
III. Block the channel after sending 50 messages and wait 1 minutes. After that, restart the transport channel
Server retransmits the remaining responses through the same channel. pass   pass pass
  Asynchronous two way communication          
8 I. Engage mercury to a RDBMS based data service
II. Send a two-way message to data service (send a Get request to retrieve data in a table)
Server responds through back channel not tested   pass pass
9 I. Engage mercury to a RDBMS based data service
II. Send 100 two-way message to data service (send a Get request to retrieve data in a table)
III. Block the request channel after sending 50 messages and wait 2 minutes. After that, restart the request channel
  not tested      
10 I. Engage mercury to a RDBMS based data service
II. Send 100 two-way message to data service (send a Get request to retrieve data in a table)
III. Block the response channel after sending 50 messages and wait 2 minutes. After that, restart the request channel
  not tested      
             
11 I. Engage mercury to a RDBMS based data service
II. Send a two-way request without engaging mercury at the client side
Server should respond with correct results
not tested      
12
I. Engage mercury to a RDBMS based data serviceII. Send a one-way request without engaging mercury at the client side
Server should respond with correct results not tested      

Users

#
Test Scenario
Expected Result
Actual Result (pass/Fail)
Test Result - 1.0RC1 (FF2/jdk15/winxp)
Test Result - 1.0RC3
Test Result - 1.0RC4
Test Result - 1.0 Comments
1 Add a new user by adding all the mandatory fields relevantly
successful adding message should prompt and the new user should add to the Available User table
pass
pass pass pass pass  
2.
Change password of an existing user
Password should change successfully and should be able to log to the system with the new password
pass
pass pass pass pass  
3. Delete an existing user 
The user should successful deleted from the system and shouldn't allow to log using that particular user credentials
pass
pass pass pass pass  

Keystores

#
Test Scenario
Expected Result
Actual Result (pass/Fail)
Test Result - 1.0RC1 (FF2/jdk15/winxp) 
Test Result - 1.0RC3 Test Result - 1.0RC4 Test Result - 1.0 
Comments
1 Add a new keystore by adding all the mandatory fields relevantly
A keystore should add successfully to the system

pass pass   pass  
2.
Import a certificate to an existing keystore
The certificate should import successfully and should list among the available certificates

pass pass   pass  
3. View keystore 
Should show all the available certificates and should show the certificate of private key separately

pass pass   pass  
4. Delete an existing keystore
Should delete the keystore successfully from the system if it's not being used

pass pass   pass  

User Stores

#
Test Scenario
Expected Result
Actual Result (pass/Fail)
Test Result - 1.0RC1 (FF2/jdk15/winxp) 
Test Result - 1.0RC3
Test Result - 1.0RC4 Test Result - 1.0 Comments
1 Add a new mysql user store The new user store should be added to the available user store
pass
pass pass pass pass  
2.
Test Connection of a user store
successful connection message should prompt
pass
pass pass pass pass  
3. View user store 
User Store details should be able to view 
pass
pass pass pass pass  
4. Edit User sore Modifications should be updated successfully
pass
pass pass pass pass  
5. Delete user store Deleted user store should be remove from system and users in that user store will be disengaged
fail
pass pass   pass  

Security Senarios

#
Security Scenario
Description
Policy Number
Actual Result (pass/Fail)
Test Result - 1.0RC1 (FF2/jdk15/winxp) Test Result - 1.0RC3 Test Result - 1.0RC4 Test Result - 1.0
Comments
1 Confidentiality Provides Integrity Scenario 5 pass pass   pass pass  
2 UsernameToken Provides Authentication. Clients have Username Tokens Scenario 1
pass pass pass pass pass  
3 Integrity Provides Integrity. Clients have X509 certificates Scenario 4 pass pass   pass pass  
4 Non-repudiation Provides Authentication and Integrity. Clients have X509 certificates Scenario 2 pass pass pass pass pass  
5 SecureConversation - Encrypt Only - Service as STS - Bootstrap policy - Sign and Encrypt , Anonymous clients Provides Confidentiality. Multiple message exchange. Scenario 13 pass pass   pass pass  
6 SecureConversation - Sign only - Service as STS - Bootstrap policy - Sign and Encrypt , X509 Authentication Provides Authentication and Integrity. Multiple message exchange.Clients have X509 certificates. Scenario 9 pass pass   pass pass  
7 SecureConversation - Encrypt only - Service as STS - Bootstrap policy - Sign and Encrypt , X509 Authentication Provides Confidentiality. Multiple message exchange.Clients have X509 certificates. Scenario 10 pass pass   pass pass  
8 SecureConversation - Sign Only - Service as STS - Bootstrap policy - Sign and Encrypt , Anonymous clients Provides Integrity. Multiple message exchange. Scenario 12 pass pass   pass pass  
9 SecureConversation - Sign and Encrypt - Service as STS - Bootstrap policy - Sign and Encrypt , X509 Authentication Provides Authentication, Integrity and Confidentiality. Multiple message exchange.Clients have X509 certificates Scenario 11 pass pass   pass pass  
10 SecureConversation - Sign and Encrypt - Service as STS - Bootstrap policy - Sign and Encrypt , Username Token Authentication Provides Authentication Integrity and Confidentiality. Multiple message exchange. Clients have Username Tokens Scenario 15 pass
pass   pass pass  
11 Encrypt only - Username Token Authentication Provides Authentication and Confidentiality. Clients have Username Tokens Scenario 7 pass pass   pass pass  
12 Sign and encrypt - X509 Authentication Provides Authentication, Integrity and Confidentiality. Clients have X509 certificates Scenario 3 pass pass   pass pass  
13 Sign and Encrypt - Username Token Authentication Provides Authentication, Integrity and Confidentiality. Clients have Username Tokens Scenario 8 pass pass   pass pass  
14 Sign and Encrypt - Anonymous clients Provides Integrity and Confidentiality. Scenario 6 pass pass   pass pass  
15 SecureConversation - Encrypt Only - Service as STS - Bootstrap policy - Sign and Encrypt , Username Token Authentication Provides Authentication and Confidentiality. Multiple message exchange. Clients have Username Tokens. Scenario 14 pass pass   pass pass  

SQL Statement Handling

  Output Mapping Type - Element 

#
SQL Command MySQL (Pass/Fail) MS SQL Server (Pass/Fail)
Apache Derby (Pass/Fail)
1 SELECT           Pass                Pass                Pass
2 DISTINCT           Pass                Pass                Pass
3 WHERE           Pass                Pass                Pass
4 AND           Pass                Pass                Pass
5 OR           Pass                Pass                Pass
6 BETWEEN           Pass                Pass                Pass
7 LIKE           Pass                Pass                Pass
8 ORDER BY
          Pass                Pass                Pass
9 GROUP BY
          Pass                Pass                Pass
10 HAVING           Pass                Pass                Pass
11 ALIAS           Pass                Pass                Pass
12 INNER JOIN
          Pass                Pass                Pass
13 OUTER JOIN
          Pass                Pass                Pass
14 CONCAT           Pass                Pass                Pass
15 SUBSTRING           Pass                Pass                Pass
16 TRIM           Pass                N/A                Pass
17 LTRIM
          Pass                Pass                Pass
18 RTRIM           Pass                Pass                Pass
19 UPDATE           Pass                Pass                Pass
20 IN           Pass                Pass                Pass
21 Function SUM
          Pass                Pass                Pass
22 Function COUNT
          Pass                Pass                Pass
23 Function MAX
          Pass                Pass                Pass
24 Function MIN
          Pass                Pass                Pass
25 Function AVG
          Pass                Pass                Pass

  Output Mapping Type - Attribute

# SQL Command MySQL (Pass/Fail)
MS SQL Server (Pass/Fail) 
Apache Derby (Pass/Fail)
1 SELECT            Pass                 Pass                Pass
2 DISTINCT            Pass                 Pass                Pass
3 WHERE            Pass                 Pass                Pass
4 AND            Pass                 Pass                Pass
5 OR            Pass                 Pass                Pass
6 BETWEEN            Pass                 Pass                Pass
7 LIKE            Pass                 Pass                Pass
8 ORDER BY
           Pass                 Pass                Pass
9 GROUP BY
           Pass                 Pass                Pass
10 HAVING            Pass                 Pass                Pass
11 ALIAS            Pass                 Pass                Pass
12 INNER JOIN
           Pass                 Pass                Pass
13 OUTER JOIN
           Pass                 Pass                Pass
14 CONCAT            Pass                 Pass                Pass
15 SUBSTRING            Pass                 Pass                Pass
16 TRIM            Pass                  N/A                Pass
17 LTRIM            Pass                 Pass                Pass
18 RTRIM            Pass                 Pass                Pass
19 UPDATE            Pass                 Pass                Pass
20 IN            Pass                 Pass                Pass
21 Function SUM
           Pass                 Pass                Pass
22 Function COUNT
           Pass  &n