Developing and Deploying Siebel Business Applications > Overview of Developing a Siebel Application > About Developing a Siebel Application >

Testing You Perform When You Develop a Siebel Application


Figure 2 illustrates testing activities. These activities help to make sure you use proper project management and control techniques during the project.

Figure 2. Testing You Perform When You Develop a Siebel Application

Developing a Siebel application includes the following parts:

  1. Testing strategy. Makes sure that testing provides useful information, minimizes risk, and provides a way to track progress. Proper planning helps to make sure you perform the correct amount of testing. You do the following work:
    • Identify project objectives and develop plans according to those objectives.
    • Develop a testing strategy and coordinate project stakeholders
    • Develop test cases. Developers and testers finalize the test cases according to approved technical designs. The written test cases can also serve as a blueprint to develop automated test scripts. To make sure test cases are realistic, you must include input from business analysts.
    • Evaluate the design. Business analysts and developers verify that the design meets the business unit requirements. Do not start development work until team members agree that the designed solution meets the project objectives. It is more cost effective to prevent problems or omissions during the design stage than addressing them later. If a design is flawed from the beginning, then the cost to redesign later can be high.

      You begin testing when you start to configure the Siebel application. You develop a testing strategy to meet the following goals:

    • Defines environmental simulation requirements
    • Identifies testing methods
    • Establishes priorities
    • Defines and creates functional and load test scripts
    • Provides a comprehensive test plan
  2. Functional test. Validates units of the Siebel application. Begins the same time as prototyping and continues during unit testing. Developers and the test team do the following work:
    • Perform functional tests progressively on units, modules, and business processes to verify that the Siebel application functions correctly. Developers test units and resolve problems.

      The unit test makes sure an individual unit of the overall application can function correctly, and prevents introducing unstable units in the larger application. The developer tests their code against a design specification. A unit test is an isolated test that is often the first test that the developer performs in their own environment before checking changes in to the configuration repository.

    • Move units to the testing environment and combine units to form a module.
    • Verify module functionality. For example, the team makes sure the module includes the correct layout, such as list menus and text fields, and returns the correct values. The team develops features and tracks problems to manage quality.
    • To verify modules work together correctly, performs functional tests that use business processes and scenarios.
  3. System and integration test. Validates that the Siebel application works correctly with new modules or other applications and interfaces. Tests the Siebel application in a test environment. This environment allows the Siebel application to interoperate with other required applications. You must verify integration with backend, middleware, and third-party applications. You perform integration testing on the entire system to make sure that the Siebel application functions properly when connected to related applications and other infrastructure components.
  4. User Acceptance test. Tests Siebel application usage with business owners and users. You perform this testing on the complete system. You perform usability tests, which test how well the application works during user interactions with the Siebel client when the user attempts to complete specific tasks. You validate how the application supports business processes in the user community in the lines of business and the IT organization. You make sure the application meets performance requirements and that there are no user task failures or prohibitive response times. This is typically a very busy time in the project, when people, process, and technology prepare for the rollout.
  5. Performance test. Determines if the infrastructure performs and scales to your requirements. You perform a stress test, which is a type of test that identifies the maximum load the hardware configuration can handle. Test scenarios simulate expected peak loads. You usually use an automation tool to measures client and server response time. This stage requires an image of the full database and all interfaces with the Siebel application, such as computer telephony integration, middleware, or email. You must perform this test in an environment that uses realistic test data. You do the following:
    • Complete a performance test to establish a performance benchmark.
    • Complete a capacity test. You add users until you reach the number of users that you expect will use the Siebel application during peak usage over the lifetime of the application.
    • Perform a longevity test, which tests the Siebel application over an extended period of time. This test determines application durability, and it identifies problems that become visible over time.
  6. Post production tuning. Testing is not complete when you roll out the application. After you complete the initial deployment, Oracle delivers regular maintenance and major software releases that you might apply. You review the test strategy, test objectives, test plans, and test cases to identify any areas for improvement. You must update test cases to include scenarios that you discovered during testing.

    You also perform regression tests, which is a type of test that makes sure predefined and custom features function correctly together. Code additions or changes can unintentionally introduce errors or regressions. You must periodically perform integration and regression testing. These tests make sure your changes do not prevent predefined features from working, and make sure that the Siebel application can interact with other applications and products. If a test fails, then you must locate the faulty configuration and make the required corrections. If you perform these tests too infrequently, then troubleshooting might become problematic.

Reasons to Test Software

Testing is an important part of any application development project. The testing process determines the readiness of the application. Testing determines if application development meets design requirements. Testing helps to make sure the project team makes informed decisions and does not expose the business to undue risk. Thorough planning and testing can provide the following benefits:

  • Reduce deployment cost. Identifies problems early in the project to reduce total cost of ownership. The cost of resolving a problem increases significantly in later development stages. A problem discovered during the discover stage can be significantly less expensive to address than the same problem discovered after you deploy the application. When in production, a serious problem can result in lost business and affect the success of the project.
  • Improve user acceptance. User perception of quality is important to the success of a deployment. Functional testing, usability testing, and performance testing can identify problems early enough so that you can correct these problems before you release the application to the larger user community.
  • Improve deployment quality. An application that performs reliably is critical in delivering consistent service to users and customers. Inadequate hardware and software resources can cause an outage and lead to lost business. Performance, reliability, and stress testing can determine how the application handles a production load and allows your information technology organization to plan accordingly.

Performing testing early and often can lower the total cost of ownership. A software project that attempts to save time and money by lowering the initial investment in testing often results in a higher cost of ownership.

Developing and Deploying Siebel Business Applications Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices.