Why Testology?
When any product is developed, it is meant to serve a purpose. But how do you judge the quality of the product itself? How do you know that rather than solving the problem, it won’t cause more it? For software products, it’s no different, and actually could be even worse, because bad quality software might cause serious problems, such as data loss, compromising your computer security, damaging another product or process and so on. Above all, how do you know the product will actually serve the planned purpose or not? All of those questions have one answer – through proper testing.
The next question is what kind of testing? It’s definitely great to be able to test the whole product and all of its components thoroughly. However, that means a lot of different test cases to run from various different angles. For that Test Developer needs to develop test suite(s) with a large number of test cases, and not only that, each test case has to be executed to test certain feature or function of the product. All this needs a lot of time. On top of that, there could be cross dependencies between different parts of the product, where taking one step in one area may have intended or unintended consequences in another seemingly unrelated area of the product. Taking all this into account, doing a thorough testing of a product is quite a challenging task!
Some of that challenge can be handled with automation tools, which help develop and maintain test suites, run test cases automatically or interactively, and log the test results and summary for tester to generate reports. Also, it’s often necessary to change only the data set for the test cases to get more test coverage. However, it’s not trivial, or even easy, to handle different data sets for the same test cases. A properly designed test development and automation tool can address that need too. Testology is a powerful test automation tool for Windows C/C++ developers. It provides an easy way to develop tests – from unit tests for C functions or C++ classes by Software Developers to full test suites by Test Developers – as well as enables Test Runners to execute those test cases to verify the correctness, reliability, and performance of the software product. Testology helps the Test Developers design their required test suite and test cases through a set of easy Wizard-like steps. On the other hand, it enables the Test Runners to execute those test cases as per their choice and needs. The result of tests can be logged to various log targets, such as window, debugger and file. The logging capability and options are provided by another SARANGSoft Developer product – Logastic – a highly-tuned superfast text logging component for use by Windows C/C++ developers.
Important Points about Testology:
- Use of Testology: It’s meant for two types of users:
- Test Developer: Test Developer uses Testology to organize test cases, develop test suites and run those tests.
- Test Runner: Test Runner can use already developed tests for running the various test cases, setting different options which take effect during test run and changing values of different test case parameters.
- During test case organization:
- Test Developer can set various test option which act as default options during test run.
- Testology provides the concept of “Test Groups”. A Test Group may contain another subgroup or a set of individual test cases of similar type. This hierarchical organization helps create a “Test Tree” that can test different components of a system, where tests for each component fall under a specific group.
- Test Developer can create n number of parameters and set their name, data type and value for a specific test case.
- All the settings and the test tree created by the Test Developer during test case organization through Testology are saved in XML format. This file has the extension XTS/XML, and may only be edited through Testology (otherwise the file is invalidated).
- During development of the test suite:
- Testology provides a COM interface to the Test Developer for the development of the test suite. This interface has methods that represent a test suite structure to the Test Developer. Developer has to write codes only in the blank sections of the test structure to implement the test suite.
- The 'Developer Guide' provided under Help menu of Testology gives a step-by-step approach to the Test Developer on how to create a test suite using Testology.
- Test Developer can utilize a built-in mechanism of Testology to retrieve additional custom parameter value(s) for a given data type for specific test case(s).
- Test Developer can log different information through a built-in logging mechanism provided by Testology. The information is logged to various targets, such as window, file or debugger, and can be viewed at runtime.
- Custom Profiles: Test Runner can create own test execution profile – selected test cases and/or groups, custom parameters, execution options etc. – and save those for later / repeated execution, without having to redefine those again and again.
- Command Line Mode: Testology can work in command line mode also. Therefore, you can run a test application with a saved profile and suitable command line options as part of a batch / automated execution arrangement.
- Result Logging and Viewing: After the test suite execution is completed, entire test result is logged in a file, which can be viewed in HTML format with all the formatting details.