Accelerating Container Terminal Software Testing Projects
Starting a software testing project for container terminal information systems from scratch consumes a lot of effort and increases the project duration (and thus the cost). It is best for (Information Technology Service) ITS providers to start the project with a generic template (where possible) that captures the customer needs to a great degree (being a direct result of service provider carrying a vast experience in executing such test projects and having seen sufficient sample-space to find patterns). Such generic templates may then be customized to meet the specific needs of the customer project. The ITS provider should have a large library of these templates and pull-up one that closely relates to the current customer test project. These templates (or generic designs) are based on specific parameters such as container terminal configuration, automation level, equipment used, process models, etc…
In this article I dwell upon the use of generic test designs created using Smartesting Yest as a way of efficiently reducing test project duration, effort and cost. Before I get into it, let me quickly discuss about the use of Business Process Diagrams as a means to capture and validate requirements (a practice used widely in the industry today). This will provide a better picture of how generic test designs extend this approach all the way to test generation (including test automation scripts).
Process Diagrams for Validating Test Requirements
Generic process diagrams (Visio or BPMN diagrams) are a great way to meaningfully engage the customer representatives in a requirement elicitation session. Instead of asking customer representatives open ended questions about requirements, the ITS provider can show process diagrams of similar setting (generic model for the pattern that best represents the customer setting) to accelerate requirements gathering process. If the generic process diagram chosen for the customer project is good enough, the requirements elicitation process will be to agree on most aspects of the model and customize (add/edit/delete) some aspects of the generic process diagram to reflect the way things are at the customer setting.
This results in lots of effort saving by considerably reducing the requirements gathering phase and prevents costly rework down the line. The generic process diagrams are used as a way to understand the customer business processes which the enterprise system under test reflects. This also supports validation of test requirements (end to end workflows and scenarios).
Note however the test design and development (writing of test cases and scenarios) are done manually with these process diagrams as the basis. The process diagrams refined during the course of the project only serves the purpose of clarifying requirements.
Generic Test Designs using Smartesting Yest
The premise here is that the test design is done at a higher abstract level where it is easy to make changes and the test design tool takes care of generating tests once implementation information is added (just like how developers compile high level code to produce machine executable code for various target architectures)
Just like the process diagrams approach, it is very easy for ITS providers to build generic test designs using Smartesting Yest for various categories of terminal setting thereby expediting the requirements elicitation phase. The advantage in this approach is that the use of these generic test design do not stop at requirements phase but extends all the way to test development and test automation scripts publication. These generic test designs are best expressed in the form of visual workflows and tables.
Find below a sample Gate workflow created using Smartesting Yest. Yest helps organize workflows at various levels of view by use of sub-workflows with the ability to drill down (or expand).
The diagram below shows Main In-Gate sub-workflow expanded to better demonstrate the various view levels and the use of sub workflows to unclutter complexity.
The ITS provider project team goes to requirements workshop conducted by the container terminal with a generic test design that is appropriate for this terminal. It is easy for the ITS provider’s BA team and the customer’s team to relate very easily since the test design is in the form of visual workflows and tabulated business rules. The requirements session/workshop is essentially about refining this generic design to the extent that it accurately reflects the high level design.
Testers subsequently add implementation level details such as test conditions, test steps and test data to the visual test design and generate tests from it. The image below shows business rules (and other implementation details) associated with one of the task element in the workflow above.
It is easy to tag user story (US-ID) or requirement ID to the test design thereby ensuring an easy two way traceability with all the tests generated by Yest. Smartesting Yest integrates easily with customer's existing tool chain and supports a wide variety of test management / test repository systems such as ALM, Jira, X-Ray, TestRail, TestLink, etc.
Smartesting Yest acts as a Tester's IDE with lot of features such as test script generation, auto-completion, refactoring, assisted data definition, impact analysis and more to make the testers do more in less time. One of the powerful feature of Yest is its dashboard that provides coverage information in real-time thereby ensuring that all business relevant tests are in place.
Note however that unlike writing test cases manually which has to be done right the first time because it is difficult and expensive to modify later during the project, it inexpensive to refine generic test designs - visual workflows and tables (and generate tests automatically using the tool). Find below one out of the several test cases (for manual execution) generated by Smartesting Yest for the sample Gate flow.
These generic test designs are also an efficient way for the test designers and test automation engineers to work together. While the test designer focuses on the implementation of test logic, the test automation engineers focuses mostly on the keyword implementation (technical logic). Yest can publish automated test scripts to a wide variety of automated execution environments/frameworks such as UFT, Selenium, Robot Framework, Ranorex, Cucumber and Etc.,
This approach ensures that teams collaborate well and the chances of misunderstood requirements is very low. This prevents a costly rework down the line. It also enables the various member groups within the test project to retain their focus and provides a means to capitalize on their strength (core skills). Business teams (business analyst, test analyst, subject matter expert...) work at the abstract level (workflows) of the test project to focus on their strength area which is the business knowledge itself and how it is applied in the current test project. The testers focus on the testability of various SUT features and they achieve this by adding test implementation details to the test design. The test automation engineers focus on the test automation tools and the technical aspects of connecting the tests with the interface controls of the system under test.
Benefits
- Start Early: The project team need not wait for all the requirements to be made available since it is easy & inexpensive to make incremental changes to the test design (and generate tests)
- Faster Response to Changes: Changes to requirements are better handled since it is easy to update the test design and let Yest quickly generate tests
- In-sprint test automation is truly possible
- Capitalizing on team members core strength (since they do more of what they are good at)
- Better collaboration between team members with a visual representation of tests
- Easy tool chain integration
- Double digit productivity gains
Use of generic test designs combined with the power of Smartesting Yest is an excellent approach to make Container Terminal Software Testing projects most efficient. Yest is a proven technology that has brought in double digit productivity gains to test projects in various domains & industry segments and we welcome ITS providers and Container Terminals to explore Smartesting Yest to bring this benefit to Container Terminal Software Testing Projects.
Prabu Annadurai heads the Indian operations of Smartesting, a software product vendor specializing in functional testing solutions. Prabu has experience in leading Software Testing, Test Automation, Testing COE and TA/BA Teams and has delivered consulting services to several reputed organizations
+91 9003063888 | prabu.a@smartesting.com
Hi Prabu, Very interesting to learn that tests can be generated from visual workflows tagged with tabular data. Where can I find more information on the tool and this approach???