Test Statements: A Tool for Testers

Writing by Dan on Thursday, 12 of February, 2009 at 12:16 pm

With a scenario of new project development methodologies and the increased speed to market, testing needs to pace up accordingly. To face the pace, to help balance the need for thoroughness and ‘best practice’ with the need for speed and pragmatism, there emerges ‘Test statements’, a technique pioneered by AppLabs.

Test statements are structured, they are self contained tests presented in the form of a sentence or paragraph, containing test objectives, test data and test schedule elements. The test statements are used to guide exploratory testing approach. It is one technique to be considered alongside others as part of a project test strategy.

Test statements comprise of three elements, Test Objective, Test Data and the Schedule. When pulled together, these elements provide a framework for exploratory testing.

Here are ten steps to guide the tester through the Planning, Build, Execution and Completion phases of the process:

In the Planning phase:

  1. Identify test statement structureIn the Build phase:
  2. Brainstorm key test requirements, for each test requirement identified
  3. Generate the data element of the statement
  4. Generate the schedule element for each test requirement identified
  5. Peer review the document by other business Testers
  6. Use the test statements to verify against other functional tests (optional)During the Execution phase:
  7. Schedule tests (optional),
  8. Run tests and Record the results.In Completion, the final phase of the process:
  9. Report the results
  10. Improve the tests (optional).

Leave a comment

Category: Software Testing, Test Plan

Testing Approaches of Dark Pool Trading System

Writing by AppLabs on Thursday, 12 of February, 2009 at 12:05 pm

The Dark Pool Trading System is mainly used by the institutional traders who trade in large volumes. The system helps institutional investors in getting more liquidity and less transaction cost. They also help fund managers’ strategies that are best implemented with the use of algorithmic trading. In spite of these benefits, few issues like inadequate price transparency, regulatory requirements and uniform information access to all kinds of investors are still debatable.

Considering the complexity of these trading systems in terms of technology, speed, functionalities and system performance, it is very important that the functional testing along with the gateways testing and performance testing need to be done.

Functional Testing:

As these applications are multi product, multi segment and multi user, an end to end functionality testing of the application is required, wherein each functionality needs to be identified, smoke and unit test cases of each needs to be developed. As these trading systems are linked and interdependent, authoring integrations test cases is needed. To ensure that the existing functionalities are not affected, regression testing on a continuous basis is needed.

Gateways (Interface) Testing:

Dark Pool Trading systems communicate with various internal and external systems and it is very important that the communication between these interfaces is very fast without any data loss. As these systems are mainly used by the institutional traders and bulk executions occur in a short span of time, interface testing plays a crucial role in validating the data flow.

Testing of the interfaces basically ensures the existence of communication between the client and server. The validation of backend messages is done by connecting to the various FIX gateways like DMA, IDCE, etc. The various message tags are also validated for the protocols like FIX (Financial Information Exchange), SIP (Securities Information Processing) and ITS (Inter market Trading System) in the respective gateways.

So all the gateway testing is to be done using any of the protocols (usually FIX is used for trading applications) to ensure smooth flow of communication between various gate ways associated with the dark pool trading systems.

Performance Testing:

The dark pool trading systems are used mainly by the large investors whose volumes are very high. They want their orders to be executed as and when the opportunity exists for their strategy implementation. As these applications are accessed simultaneously by multiple users, the load testing of the same must be done before implementing them in the production environment.

Leave a comment

Category: Dark Pool Trading, Software Testing

Plan your Approach to Test Automation

Writing by AppLabs on Thursday, 12 of February, 2009 at 11:56 am

For the successful approach to Test Automation, set out guidelines and standards for the structure of the automated test scripts and the test assets.

  • First automate the least business-critical tests. It is better to look at those where there is certainty that the user interface is 100% stable in terms of screens and controls. The manual test scripts for the first iteration become the first set of automated regression scripts for the second iteration of the AUT.
  • Once the initial regression pack is in place, the manual testers can concentrate on writing tests for new functionality. These tests will subsequently be incorporated into the automated regression pack, augmenting its coverage more and more over time. To increase coverage with automated scripts more quickly, take existing scripts and adapt them for varying business scenarios.
  • Modularize the scripts, and create function libraries in order to eliminate code redundancy, maximize reusability and maintainability.
  • Incorporate error handling and reporting functions into the reusable modules. This saves coding time and makes the scripts more consistent, robust, reliable and maintainable. Do not forget to document the scripts and function libraries. If the test engineers don’t know what’s available, then inconsistency and code redundancy will ensue, affecting the maintainability.

With planning and proper use of automated test tools, the cost of testing can be dramatically reduced, and the resulting quality and reliability of the software will bring even more cost benefits to the business.

Leave a comment

Category: Software Testing, Test Automation, Test Plan

Benefits of Test Statements

Writing by Dan on Thursday, 12 of February, 2009 at 11:51 am

Test statements have their own specific benefits:

  • They promote broad and deep test coverage
  • Provide support to help achieve test coverage in a rapid manner.
  • It gives testers ownership of this part of the test cycle
  • Use of this technique hence could be a motivational tool
  • The Test Coverage reporting technique provides easy reportablility and audit-ability facility,
  • It has a structure that can be summarized, and a detail that can be provided in the form of simple metrics.
  • And above all, usage of test statements promotes creativity.

Test statements encourage an exploratory approach, whilst providing structure and general direction. It is worth noting that this is one of many techniques that can and should be used. Test statements have a specific role at a specific time. They are an extra weapon in the armory rather than a replacement for scripted functional tests and are an effective black-box technique to reduce project risk.

Leave a comment

Category: Software Testing

Testing Strategies for SOA Implementation

Writing by Rajesh Patil on Thursday, 12 of February, 2009 at 11:48 am

When IT tunes to SOA for all its significant benefits, certain risks and issues while embarking on re-engineering its IT strategy and project delivery mechanisms, is stumbled upon. To rein in these risks and issues, QA and testing function must stand as the gatekeeper into IT operations. Quality objectives must be set corporately and adhered to, as poorly operating services risk would bring the entire organization to its knees!

Certain testing strategies are:

  • Applying testing centre of excellence concept, so that there is a single repository of requirements, specifications, tools and test assets to understand and test the entire enterprise’s SOA services and supporting infrastructure.
  • Perform a full traceability of the testing back from the user interface through to code level unit testing. Integrated test management, planning and execution allows SOA implementers to have confidence that a defect found at any stage in the development and deployment can be quickly identified, analyzed and resolved.
  • Conducting performance test, security testing and Models Driven Testing are few such important testing strategies, which the SOA implementers should pay particular attention to.

Hence, by implementing modern QA and testing best practice and insisting on high quality delivery can an organization be fully prepared to meet the challenges of SOA implementation, and when the challenges are met, there is every chance of reaping the expected the rewards!

Leave a comment

Category: SOA, Software Testing

Outsource QA and Testing Services?

Writing by RajuB on Thursday, 12 of February, 2009 at 11:44 am

Outsourcing aims at business objectives gained through operational excellence. And one such aspect of this is, QA and testing, which provides many benefits to companies who seek to improve the quality of their production applications, reduce business risk through rigorous testing and augment and improve upon the incumbent testing teams and processes. Given the increase in global IT outsourcing agreements, many companies will be looking at outsourcing QA and testing as an independent validation and acceptance phase in order to ensure high quality deliverables and gain competitive advantages.

To achieve these benefits, organizations select an outsourcing partner who will typically have local and offshore test centers and capabilities as well as a strong onsite consultancy presence. While doing so, the companies should follow the major considerations:

  1. The Engagement Model, a crucial aspect of developing the outsourcing plan.
  2. Service Level Agreement should detail the minimum level of service to be provided by the outsourcing vendor.
  3. Mobilization, a phase which includes setting up of an intensive communication protocol with the client
  4. Integration with all the parties (client, testing vendor and development vendor),
  5. Seamless communication between the client and their stakeholders,
  6. Flexible and scalable approach
  7. Improvements in terms of quality
  8. Comprehensive change and configuration management system
  9. Intellectual property protection
  10. Security

When opting for outsourcing QA and testing engagements companies face certain success factors:

  • The business objectives agreed at the outset of the contract or business case are managed to successful completion.
  • Transition from the “testing today” to “tomorrow’s testing” is seamless in terms of business impact and employee satisfaction
  • Noticeable and continuous improvements in the approach and methods used within your IT organization (not just testing)

While organizations derive value from outsourcing software development, outsourced software testing will maximize returns from their investments and provide the right level of objectivity and rigor required to create a high quality product. If an independent QA and testing service provider is chosen whose focus is on ensuring quality products/systems are implemented, benefits will be fully maximized.

Leave a comment

Category: Software Testing