| Software testing is a necessary but costed software activity. In the regression testing of Tuxedo, Manual testing cost a lot of manpower and material resources for the complex environment. Introducing an automated tool for testing, the time and resources will be largely saved during all kinds of configuration and testing, and the reusability also will provide profile for the software production.Tuxedo System is based on non-java language enterprise middleware transaction which is the most widely deployed transaction platform for building high-performance and reliable distributed applications. So for Tuxedo test, it has to meet with the test environment which is flexible, complex, distributed and unstable. Since current status, manual test cost too much resource to be accepted. And the existed test framework can not match Tuxedo's special test environment such as distributed. For the long history of Tuxedo, it is used on many kinds of platforms and it makes the RP testing very complex. So we need to find a testing framework which is efficiency, automated and can work across many platforms. We can decrease workload and increase the precision of test.Megatest using in the team now, can implement part of automatic test, but there is too much lacks in it. For example, it is worked on AWK and shell script, and is too complex to be used. The IPC and port is used is fixed and may generate error by environment. Using a independent and fixed tfslave/tfmaster to communicate. The environment is very complex and need to be control manually. And can't execute test end-to-end.According to the requirement of Tuxedo test, we bring forward ATTE which is an end-to-end test framework for Tuxedo, and implement it by analyzing and comparing the way of automated testing now, and using the components of testing tools in the company.STAF(Software Testing Automation Framework)is open source test framework provided by IBM. It works as a daemon process and work on many platforms. It costs little resource and Customers can choose what they want. It contains internal services and external services, so we can make external services with expected function by ourselves, and don't need much configuration on STAF.STAX(STAF execution engine)is a external service of STAF. It is an execution engine bases on XML. We can use it automating and watching test environment, include setup, distributing test case, executing test case, collecting and analyzing test result.After get the test tool, we analyses tuxedo RP testing to build ATTE. Tuxedo RP testing has following features:1) Tuxedo on different platforms needs corresponding environment variables, to get the PATH and do some setting before executing test.2) There are three modes for Tuxedo test: SHM, MP and Domain. Every mode needs different setting and environment.3) We test for tuxedo basic functions, but need different environment.4) Need to test the interoperation among Tuxedo, jolt and WebLogic.5) And Need to test interoperation between different versions of Tuxedo.During the design and implementation of ATTE, we encapsulate Tuxedo command via STAX XML parse based on STAF, and it brings uniform API of the framework to make sure high-consistency with better expansibility. We use the event service to make all the parts (including install Tuxedo, select platform, setup environment, compiling code, execution, analyzes results etc.) together for the reusability.ATTE is made up of following five modules:1) ATTE entrance moduleFunction main is the entrance of ATTE and is the core part of ATTE. Every test case starts with it. It kicks off the test in ATTE but not start test in test program. It ensures the integrality of ATTE and ATTE control the whole process of test.2) Module for ATTE run modeIn the application of Tuxedo, there are three run modes, SHM MP and DOMAIN. Every mode has its own environment and requirement in test. We encapsulate the corresponding feature of every mode in this module to easy the development of test case.3) ATTE runtime moduleControl of runtime is a very import part in ATTE, all the executing logic is in this module. Function Main invokes this part of functions after doing necessary setting for environment.4) ATTE Utility moduleSTAX can invoke all the services in STAF, but it is too flexible. We need to uniform the format of test code, and make test code easy to be maintained. And Tuxedo API need corresponding environment, there is too much workload without convenient interfaces. So we encapsulate common command of STAF and Tuxedo API. Save much workload and uniform the test code.5) ATTE configuration moduleAll the configuration information is in this module, this is the key of end-to-end test. ATTE runtime module get configuration from here and execute corresponding test. We configuration the test environment here include ATTE, platform information, tuxedo version information, email and tester's information, etc.Comparing with manual testing and quondam test framework, ATTE provides a way with not only high quality and efficiency, but also reusability and better expansibility. On the other side, ATTE needs to be expanded and changed, to meet the requirement of testing in future, and be made more convenient to be used. |