The tests are designed to explore multiple facets of your application, verifying that the application appropriately integrates, exchanges data, and is compatible with and supported by the QuickBooks platform. In addition, the application should not freeze, crash, post inappropriate error messages, or cause data loss or corruption at any time during the test cycle.
Test ID | Test Case Description/Steps |
---|---|
1.1 | Verify the application includes a standard Windows installer. Description: A standard Windows installer is provided with the application. |
1.2 | Verify the application Installer does not improperly overwrite any files. Description: The application does not overwrite any QuickBooks files during installation. It will also verify that any system or MSXML files that are overwritten during the installation process are newer-version files. Also, if any MSXML files are overwritten, they must be version 4.0 or higher. * If the application design requires files to be overwritten, the documentation must indicate which files are specifically overwritten during the Installation process. |
1.3 | Verify the application is installed properly. Description: The application installs to the proper directories and integrates with QuickBooks as expected.
|
1.4 | Verify the application successfully handles the initial login process and connection to QuickBooks during launch. Description: The application successfully launches, completes the login process, and connects to QuickBooks. If the login or connection process does not run successfully, then the application must present the user with directions on how to resolve the problem. EXAMPLE: If the QuickBooks administrator has not granted the application permission to log in automatically, an error code will be sent to the application. |
1.5 | Verify the application includes a standard Windows uninstaller. Description: A standard Windows Uninstaller is provided with the application.
|
1.6 | Verify uninstall does not remove any QuickBooks or system files. Description: The application’s uninstaller does not remove any QuickBooks or system files. |
Test ID | Test Case Description/Steps |
---|---|
2.1 | This test case verifies that the application does not install anything into the QuickBooks program space. Description: NO files or folders should be added or modified in [PROGRAM FILES]IntuitQuickBooks<anything> ([PROGRAM FILES] is usually C:Program Files (x86)Intuit (64 bit) or C:Program FilesIntuit (32 bit) but can be modified by the user or by the language edition of windows) In [COMMON FILES]IntuitQuickBooks, usuallyC:Program Files (x86)Common FilesIntuitQuickBooks, nothing other than the list below should be added or modified. If anything on the list below is MODIFIED it must be to a NEWER version (check version stamps): msvcp71.dll msvcr71.dll QBXMLRP2.dll QBInstanceFinder.dll stlport_vc745.dll stlport_vc746.dll QBFC.dll QBFC2.dll QBFC2_1.dll QBFC3.dll QBFC4.dll QBFC5.dll QBFC6.dll QBFC7.dll QBFC8.dll QBFC10.dll QBFC11.dll QBFC12.dll QBFC13.dll Interop.QBXMLRP2.dll Interop.QBFC3.dll Interop.QBFC4.dll Interop.QBFC5.dll Interop.QBFC6.dll Interop.QBFC7.dll Interop.QBFC8.dll Interop.QBFC10.dll Interop.QBFC11.dll Interop.QBFC12.dll Interop.QBFC13.dll QBXMLRemoteOE.dll QBOEDataManager.dll RDSQBRDSSoapCli3.dll RDSQBRemoteClientps.dll RDSRDSQBXMLRP.dll RDSqbRDSClient.exe RDSqbRDSServer.exe RDSqbRDSServer.ini RDSqbrdsclient.chm RDSqbrdsserver.chm QBWebConnectorEncryption.dll QBWebConnectorQBWebConnector.exe QBWebConnectorRegisterQBWebConnector.exe QBWebConnectorSyncFusion.Core.dll QBWebConnectorSyncFusion.Grid.Base.dll QBWebConnectorSyncFusion.Grid.Windows.dll QBWebConnectorSyncFusion.Shared.Base.dll |
Test ID | Test Case Description/Steps |
---|---|
2.2 | Verify the application does not contain inappropriate or offensive graphics or text. Description: No inappropriate or offensive graphics or text is present in the application. The application must not contain or access any material or information that is deceptive, misleading, fraudulent, obscene, pornographic, defamatory, in violation of personal or property rights, regulation or law, trade libelous, libelous, slanderous, unlawfully harassing or injurious, excessively violent, or otherwise deemed unfit for publication by Intuit. |
2.3 | Verify that the application properly handles synchronization of data with the QuickBooks company file. Description: If the application maintains a database or internal file that stores portions of data from the QuickBooks company file, the application ensures that the two sets of data are synchronized with each other. The test will also verify that if a synchronization error occurs, the application prompts for user interaction before modifying the QuickBooks version of the company file. |
Test ID | Test Case Description/Steps |
---|---|
3.1 | Verify the application functions properly with QuickBooks. Description: All the application’s integration points function properly with QuickBooks. Verify the application functions as expected/documented. |
3.2 | Verify the application properly transfers data to and from QuickBooks. Description: All data transferred between the application and QuickBooks is sent and received properly. All data transfers to the expected fields, forms, company files, reports, etc. The test will also verify that all data remains intact and no data loss or corruption occurs. |
3.3 | Verify the application is able to use the ‘enabled’ operations. Description: The SDK supports the following operations. Note which are used and verify that they are functional.
|
3.4 | If any additional hardware or software other than QuickBooks and the integrating application is necessary to obtain data, verify data is properly accepted and transferred between all products. Description: All products required by the application to obtain and/or transfer data communicate with each other as documented. The test will verify that integrity of the data flow remains intact and no data loss, corruption or errors occur. |
Test ID | Test Case Description/Steps |
---|---|
3.5 | Verify the application properly communicates closed and changed events with QuickBooks. Description: The application properly communicates closed and changed events to/from QuickBooks. The test will verify that the application properly handles changed events and no inappropriate open tickets/events remain. |
3.7 | Verify the application communicates with QuickBooks successfully. Description: There are no unexpected error messages within the application or in the error log received from QuickBooks during use of the application. |
3.8 | Verify the application contains permissions that allow the user to export Personal Data from QuickBooks.
|
3.9 | Verify any data that is entered in the application is accessible from QuickBooks and Vice Versa. Description: Data is exchanged properly between the application and QuickBooks. |
3.10 | Verify the application only uses valid qbXML request options. Description: Only valid qbXML request options are available to the user. During the course of testing, the test will verify that the application does not cause QuickBooks to post any inappropriate messages indicating the application is executing a function beyond the scope of the qbXML API. |
3.11 | Verify any changes made into the application appropriately apply to QuickBooks. Description: All changes made within the application also register within the QuickBooks application. |
3.12 | Verify that the application can process all credit card transactions. Description: Credit card transactions should behave as though the transaction was processed by QuickBooks. |
3.14 | Verify the application does not use Intuit Interchange Format (IIF) to integrate with QuickBooks. Description: The application utilizes the APIs available from the SDK and not IIF to integrate with QuickBooks. |
3.15 | Verify the application does NOT automatically shut down QuickBooks in order to perform any function. Description: QuickBooks does not automatically close or shut down without user intervention in order to proceed with the transfer. If the application requires QuickBooks to close or shut down, the user must be prompted to do so. |
3.16 | If applicable, verify the application appropriately handles UI extension events. Description: The application adds only a single menu item to one QuickBooks menu and that the one menu item must cascade. |
3.17 | Verify the application supports the most current version of SDK and QuickBooks as per stated in the documentation. Description: The application will be tested on the most current operating system, version, and edition of QuickBooks supported as indicated by the application’s documentation. If the documentation does not specify or indicates multiple operating systems, versions, and editions of QuickBooks are supported, the baseline configuration used for testing will be the most current versions of Windows XP and QuickBooks Premier. |
Test ID | Test Case Description/Steps |
---|---|
4.1 | If the application provides its own database, verify that the application uses encryption when saving sensitive data. Description: The application successfully encrypts and saves sensitive data before it is integrated with QuickBooks. |
4.3 | Verify the application does not cache sensitive data. Description: The application does not cache or create local copies of sensitive data. However any caching must be done in the form of strongly encrypted files. |
5.1 | Verify that the application does not fail when attempting to install on a system without QuickBooks. Description: Installing the application on a system that does not have QuickBooks installed does not fail. |
5.2 | Verify that the application installation cancels “cleanly”. Description: The application installer restores the system to its original state when the user has canceled the installation. |
5.3 | Verify that the application gracefully handles unsupported data with QuickBooks. Description: The application gracefully handles invalid character strings (e.g. phone numbers or email addresses), unsupported characters, carriage returns, grammar, syntax, and differences in field length within integrated data. |
5.4 | Verify the program termination is clean and without data loss. Description: The test will attempt to close down the application and/or QuickBooks in the middle of an active process. It will verify that QuickBooks will not close while the application is still running, and that the application response is clean if requested to close while processing. 1A. Begin a (integrated) process/transaction in the integrating application. 1B. Check the transactions to make sure they are all completed without corruption. 1C. Check the last transaction. Verify the application handles the scenario gracefully and that there is no data loss, duplication, or corruption. 1D. Verify that the application recovers, the specific process that was interrupted can be re-run, and the application continues to function as expected. 2A. Begin a (integrated) process/transaction in the integrating application. 2B. If the application closes, verify there is no corruption in the transactions. 2C. If the application refuses to close, it must do so in a reasonable way. 2D. Verify that the integrating application recovers, the specific process that was interrupted can be re-run, and the application continues to function as expected. Verify the application gracefully handles closing the application itself and QuickBooks while a process is running. |
Test ID | Test Case Description/Steps |
---|---|
6.1 | Verify that the application does not exhibit awkward workflow. In case of sending large quantity of data, the transfer should be made in reasonable time. Description: The application does not exhibit awkward workflow and/or performance issues during the course of testing. Sending large quantities of data, performing large queries, and user interface should reflect a reasonable response time. |
7.1 | The application’s About screen contains accurate information. Description: The About screen and/or UI contains correct and accurate information. |
7.2 | Verify that all updated applications use a unique version number. Description: If a previous version of the application has been submitted, this test will verify that the updated application also has a new/updated and unique version number. |
Test ID | Test Case Description/Steps |
---|---|
8.1 | Verify that the application does not violate the QuickBooks “End User License Agreement” or “qbXML License and Developer Agreement” Description: The application does not distribute or duplicate copies of QuickBooks to individuals who have not purchased appropriate licenses per the “End User License Agreement” (“EULA”) and “qbXML License and Developer Agreement”. If the application does distribute QuickBooks to licensed users, verify that the EULA is included with the application.
See: - EULA: General section - qbXML Agreement: Section 5 Proprietary Rights |
8.2 | Verify the application meets the requirements outlined here: |