skip to main content
research-article

Combining Centralised and Distributed Testing

Published:07 October 2014Publication History
Skip Abstract Section

Abstract

Many systems interact with their environment at distributed interfaces (ports) and sometimes it is not possible to place synchronised local testers at the ports of the system under test (SUT). There are then two main approaches to testing: having independent local testers or a single centralised tester that interacts asynchronously with the SUT. The power of using independent testers has been captured using implementation relation dioco. In this article, we define implementation relation diococ for the centralised approach and prove that dioco and diococ are incomparable. This shows that the frameworks detect different types of faults and so we devise a hybrid framework and define an implementation relation diocos for this. We prove that the hybrid framework is more powerful than the distributed and centralised approaches. We then prove that the Oracle problem is NP-complete for diococ and diocos but can be solved in polynomial time if we place an upper bound on the number of ports. Finally, we consider the problem of deciding whether there is a test case that is guaranteed to force a finite state model into a particular state or to distinguish two states, proving that both problems are undecidable for the centralised and hybrid frameworks.

References

  1. F. Aarts and F. W. Vaandrager. 2010. Learning I/O Automata. In Proceedings of the 21th International Conference on Concurrency Theory (CONCUR 2010). Lecture Notes in Computer Science, Vol. 6269. Springer, 71--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Alur, C. Courcoubetis, and M. Yannakakis. 1995. Distinguishing tests for nondeterministic and probabilistic machines. In Proceedings of the 27th ACM Symposium on Theory of Computing. 363--372. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Brinksma, L. Heerink, and J. Tretmans. 1998. Factorized test generation for multi-input/output transition systems. In Proceedings of the 11th IFIP International Workshop on Testing Communicating Systems (IWTCS) (IFIP Conference Proceedings), vol. 131. Kluwer, 67--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Cacciari and O. Rafiq. 1999. Controllability and observability in distributed testing. Inf. Softw. Tech. 41, 11--12, 767--780.Google ScholarGoogle ScholarCross RefCross Ref
  5. J. Chen, R. M. Hierons, and H. Ural. 2005. Resolving observability problems in distributed test architectures. In Proceedings of the Formal Techniques for Networked and Distributed Systems (FORTE 2005). Lecture Notes in Computer Science, Vol. 3731. Springer, 219--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. W.-H. Chen and H. Ural. 1995. Synchronizable checking sequences based on multiple UIO sequences. IEEE/ACM Trans. Netw. 3, 152--157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. T. S. Chow. 1978. Testing software design modelled by finite state machines. IEEE Trans. Softw. Eng. 4, 178--187. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. D. Davis and E. J. Weyuker. 1993. Computability, Complexity and Languages. Academic Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E. D. Demaine and R. A. Hearn. 2008. Constraint logic: A uniform framework for modeling computation as games. In Proceedings of the 23rd Annual IEEE Conference on Computational Complexity (CCC 2008). 149--162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Dssouli and G. von Bochmann. 1985. Error detection with multiple observers. In Protocol Specification, Testing and Verification V. Elsevier Science (North Holland), 483--494. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. Dssouli and G. von Bochmann. 1986. Conformance testing with multiple observers. In Protocol Specification, Testing and Verification VI. Elsevier Science (North Holland), 217--229.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. En-Nouaary. 2013. A test purpose-based approach for testing timed input output automata. J. Softw. Test. Verif. Reliab. 23, 1, 53--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. Farchi, A. Hartman, and S. S. Pinter. 2002. Using a model-based test generator to test for standard conformance. IBM Syst. J. 41, 1, 89--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. W. Floyd. 1964. New Proofs and Old Theorems in Logic and Formal Linguistics. Computer Associated Inc., Wakefield, MA.Google ScholarGoogle Scholar
  15. M.-C. Gaudel. 1995. Testing can be formal too. In Proceedings of the 6th International Joint Conference CAAP/FASE Theory and Practice of Software Development (TAPSOFT'95). Lecture Notes in Computer Science, Vol. 915. Springer, 82--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. G. Gonenc. 1970. A method for the design of fault detection experiments. IEEE Trans. Comput. 19, 551--558. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. W. Grieskamp. 2006. Multi-paradigmatic model-based testing. In Formal Approaches to Software Testing and Runtime Verification (FATES/RV 2006). Lecture Notes in Computer Science, Vol. 4262. Springer, 1--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. W. Grieskamp, N. Kicillof, K. Stobie, and V. A. Braberman. 2011. Model-based quality assurance of protocol documentation: tools and methodology. Softw. Test. Verif. Reliab. 21, 1, 55--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. L. Heerink and J. Tretmans. 1997. Refusal testing for classes of transition systems with inputs and outputs. In Proceedings of the Joint International Conference on Formal Description Techniques and Protocol Specification, Testing and Verification (FORTE X/PSTV XVII) (IFIP Conference Proceedings), Vol. 107. Chapman & Hall, 23--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. F. C. Hennie. 1964. Fault-detecting experiments for sequential circuits. In Proceedings of the 5th Annual Symposium on Switching Circuit Theory and Logical Design. ACM, New York, 95--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. M. Hierons. 2010. Reaching and distinguishing states of distributed systems. SIAM J. Comput. 39, 8, 3480--3500. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. M. Hierons. 2012a. The complexity of asynchronous model based testing. Theoret. Comput. Sci. 451, 70--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. R. M. Hierons. 2012b. Oracles for distributed testing. IEEE Trans. Softw. Eng. 38, 3, 629--641. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. M. Hierons. 2013. Implementation relations for testing through asynchronous channels. Comput. J. 56, 11, 1305--1319.Google ScholarGoogle ScholarCross RefCross Ref
  25. R. M. Hierons, M. G. Merayo, and M. Núñez. 2012. Implementation relations and test generation for systems with distributed interfaces. Distrib. Comput. 25, 1, 35--62.Google ScholarGoogle ScholarCross RefCross Ref
  26. R. M. Hierons and H. Ural. 2008a. Checking sequences for distributed test architectures. Distrib. Comput. 21, 3, 223--238.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. M. Hierons and H. Ural. 2008b. The effect of the distributed test architecture on the power of testing. Comput. J. 51, 4, 497--510. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. Huo and A. Petrenko. 2004. On testing partially specified IOTS through lossless queues. In Proceedings of the 16th IFIP International Conference on the Testing of Communicating Systems (TestCom 2004). Lecture Notes in Computer Science, Vol. 2978. Springer, 76--94.Google ScholarGoogle Scholar
  29. I. Hwang, A. R. Cavalli, M. Lallali, and D. Verchère. 2012. Applying formal methods to PCEP: An industrial case study from modeling to test generation. Softw. Test. Verif. Reliab. 22, 5, 343--361. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. ISO/IEC. 1995. Information technology - Opens Systems Interconnection, 9646 Parts 1-7. ISO/IEC.Google ScholarGoogle Scholar
  31. C. Jard, T. Jéron, H. Kahlouche, and C. Viho. 1998. Towards automatic distribution of testers for distributed conformance testing. In Proceedings of the TC6 WG6.1 Joint International Conference on Formal Description Techniques and Protocol Specification, Testing and Verification (FORTE 1998) (IFIP Conference Proceedings), Vol. 135. Kluwer, 353--368. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. G.-V. Jourdan, H. Ural, and H. Yenigün. 2006. Minimizing coordination channels in distributed testing. In Proceedings of the Joint International Conference on Formal Techniques for Networked and Distributed Systems (FORTE 2006). Lecture Notes in Computer Science, Vol. 4229. Springer, 451--466. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. Lee and M. Yannakakis. 1994. Testing finite-state machines: State identification and verification. IEEE Trans. Comput. 43, 3, 306--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. D. Lee and M. Yannakakis. 1996. Principles and methods of testing finite-state machines-A survey. Proc. IEEE 84, 8, 1089--1123.Google ScholarGoogle ScholarCross RefCross Ref
  35. Z. Li, J. Wu, and X. Yin. 2004. Testing multi input/output transition system with all-observer. In Proceedings of the 16th IFIP International Conference on Testing of Communicating Systems (TestCom 2004). Lecture Notes in Computer Science, Vol. 2978. Springer, 95--111.Google ScholarGoogle Scholar
  36. T. Miller and P. A. Strooper. 2012. A case study in model-based testing of specifications and implementations. Softw. Test. Verif. Reliab. 22, 1, 33--63.Google ScholarGoogle ScholarCross RefCross Ref
  37. E. F. Moore. 1956. Gedanken-Experiments. In Automata Studies, C. Shannon and J. McCarthy (Eds.). Princeton University Press.Google ScholarGoogle Scholar
  38. N. Noroozi, R. Khosravi, M. R. Mousavi, and T. A. C. Willemse. 2011. Synchronizing asynchronous conformance testing. In Proceedings of the 9th International Conference on Software Engineering and Formal Methods (SEFM 2011). Lecture Notes in Computer Science, Vol. 7041. Springer, 334--349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. G. L. Peterson and J. H. Reif. 1979. Multiple-person alternation. In Proceedings of the 20th Annual Symposium on Foundations of Computer Science (FOCS 79). IEEE, 348--363. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. A. Petrenko, S. Boroday, and R. Groz. 2004. Confirming configurations in EFSM testing. IEEE Trans. Softw. Eng. 30, 1 (2004), 29--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. A. Petrenko, N. Yevtushenko, and J. Huo. 2003. Testing transition systems with input and output testers. In Proceedings of the 15th IFIP International Conference on Testing of Communicating Systems (TestCom 2003). Lecture Notes in Computer Science, Vol. 2644. Springer, 129--145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. O. Rafiq and L. Cacciari. 2003. Coordination algorithm for distributed testing. J. Supercomput. 24, 2, 203--211. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. B. Sarikaya and G. von Bochmann. 1984. Synchronization and specification issues in protocol testing. IEEE Trans. Commun. 32 (April 1984), 389--395.Google ScholarGoogle ScholarCross RefCross Ref
  44. T. J. Schaefer. 1978. The complexity of satisfiability problems. In Proceedings of the 10th Annual ACM Symposium on Theory of Computing (STOC). 216--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. A. Simão and A. Petrenko. 2011. Generating asynchronous test cases from test purposes. Inf. Softw. Tech. 53, 1252--1262.Google ScholarGoogle ScholarCross RefCross Ref
  46. J. Swigart and S. Lall. 2011. Optimal controller synthesis for a decentralized two-player system with partial output feedback. In Proceedings of the American Control Conference (ACC), 2011. 317--323.Google ScholarGoogle Scholar
  47. L. H. Tahat, B. Korel, M. Harman, and H. Ural. 2012. Regression test suite prioritization using system models. Softw. Test. Verif. Reliab. 22, 7, 481--506. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. K.-C. Tai and Y.-C. Young. 1998. Synchronizable test sequences of finite state machines. Comput. Netw. ISDN Syst. 30, 12, 1111--1134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. R. E. Tarjan. 1972. Depth-first search and linear graph algorithms. SIAM J. Comput. 1, 2, 146--160.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. J. Tretmans. 1996. Conformance testing with labelled transitions systems: Implementation relations and test generation. Comput. Netw. ISDN Syst. 29, 1, 49--79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. J. Tretmans. 2008. Model based testing with labelled transition systems. In Proceedings of the Formal Methods and Testing. Lecture Notes in Computer Science, Vol. 4949. Springer, 1--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. M. Veanes and N. Bjørner. 2010. Alternating simulation and IOCO. In Proceedings of the 22nd IFIP WG 6.1 International Conference on Testing Software and Systems (ICTSS). Lecture Notes in Computer Science, Vol. 6435. Springer, 47--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. M. Weiglhofer and F. Wotawa. 2009. Asynchronous input-output conformance testing. In Proceedings of the 33rd Annual IEEE International Computer Software and Applications Conference (COMPSAC 2009). IEEE Computer Society, 154--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. T. C. Yang, J. H. Zhang, and H. Yu. 1999. A new decentralised controller design method with application to power-system stabiliser design. Control Engineering Practice 7, 4, 537--545. DOI: http://dx.doi.org/10.1016/S0967-0661(99)00014-3Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Combining Centralised and Distributed Testing

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Software Engineering and Methodology
            ACM Transactions on Software Engineering and Methodology  Volume 24, Issue 1
            September 2014
            226 pages
            ISSN:1049-331X
            EISSN:1557-7392
            DOI:10.1145/2676679
            Issue’s Table of Contents

            Copyright © 2014 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 7 October 2014
            • Accepted: 1 June 2014
            • Revised: 1 February 2014
            • Received: 1 September 2013
            Published in tosem Volume 24, Issue 1

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader