skip to main content
research-article

Testing functional requirements using B model specifications

Published: 27 March 2010 Publication History

Abstract

Testing is very important part of software development. Almost 80% software fails because of the improper or inefficient testing. Testing is performed by different types of strategies. Generally testing is performed on code, but if the software can be tested in the earlier phases then most of the errors can be eliminated and can be stopped from propagating to next phase. Thus there is a need to explore testing possibilities in earlier phases.
This paper present a novel requirement based testing approach that can fix errors in initial phase. Formal Specification languages play a vital role in software testing. Formal models provide a precise specification of the system, and can be used as a vehicle for driving the development process. To perform requirement based testing, we need a formal language that can deal with the requirement specification efficiently.
Many researchers have proposed various approaches to generate test cases from formal specifications. These approaches include test case generation from various state based languages like Z, VDM and B specifications.
In this paper we proposed a technique that can provide better coverage of requirements as compared to other approaches. For maximizing the coverage of requirements in our model, we annotate our specifications with requirement identifiers, which help in later stages to detect which requirements are covered and which are yet to be tested. Test cases are generated by extracting invariants and post conditions from our specification, and are transformed in a generalized form. Using test selection criteria, we can cover all parts of our model and generates test cases for each of our test objective

References

[1]
B. Beizer. "Software Testing Techniques", Van Nostrand Reinhold, 2nd edition, 1990.
[2]
R.S.Pressman. "Software Engineering: A Practitioner's Approach", 3rdEdition, McGraw Hill, New York (1992), p. 559.
[3]
Bender RBT Inc. Requirements Based Testing Process Overview, www.BenderRBT.com.
[4]
BOWEN, J.P., BOGDANOV, K., CLARK, J., HARMAN, M., HIERONS, R.M. KRAUSE, P. 2002. FORTEST: Formal methods and testing. In 26th IEEE Computer Software and Applications (COMPSAC 2002). 91--101.
[5]
HOARE, C.A.R. 1996. How did software get so reliable without proof? Lecture Notes in Computer Science.
[6]
KEMMERER, R.A. 1985. Testing formal specifications to detect design errors. IEEE Transactions on Software Engineering 11, 1, 32--43.
[7]
SPIVEY, J.M. 1988. Understanding Z: A Specification Language and its Formal Semantics. Cambridge University Press.
[8]
AMLA, N. AND AMMANN, P. 1992. Using Z specifications in category partition testing. In COMPASS '92, 7th, Annual Conference on Computer Assurance.Gaithersburg, MD, USA, 15--18.
[9]
R.M. Hierons. Testing from a Z specification. Software Testing, Verification and Reliability, 7:19--33, 1997.
[10]
S. Burton, "Automated Testing from Z Specifications," Departtment of Computer Science, University of York, 2000.
[11]
ABRIAL, J.-R. 1996. The B-Book: Assigning Programs to Meanings. Cambridge University Press.
[12]
Lionel Van Aertryck, Marc Benveniste, and Daniel Le Métayer. CASTING: a Formally Based Software Test Generation Method. Published in IEEE International Conference on Formal Engineering Methods (ICFEM'97).
[13]
Manoranjan Satpathy and S. Ramesh. Test Case Generation from Formal Models through Abstraction refinement and Model Checking. Published in AMOST'07, July 9-12, 2007, London, UK, ACM 978-1-59593-850-3/07/0007.
[14]
Clarke E., Grumberg O., Jha S., Lu Y., Veith H. (2003). Counterexample-Guided Abstraction Refinement for Symbolic Model Checking, Journal of ACM, Vol 50(5), pp.752--794.
[15]
He, J., Hoare, C.A.R., Sanders J.W. (1986). Data refinement refined, ESOP'86, LNCS 213, pp. 187--196.
[16]
Mandeep Singh Gill, Rajesh Kumar Bhatia: Formal Specification Based Software Testing: An Automated Approach. Software Engineering Research and Practice 2003: 656--659.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 35, Issue 2
March 2010
113 pages
ISSN:0163-5948
DOI:10.1145/1734103
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 March 2010
Published in SIGSOFT Volume 35, Issue 2

Check for updates

Author Tags

  1. B specifications
  2. Z
  3. formal languages
  4. software testing

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Test Path Identification for Virtual Assistants Based on a Chatbot Flow SpecificationsSoft Computing for Problem Solving10.1007/978-981-15-0184-5_78(913-925)Online publication date: 28-Nov-2019
  • (2016)An empirical study of test generation with BETAJournal of the Brazilian Computer Society10.1186/s13173-016-0048-122:1Online publication date: 28-Oct-2016
  • (2012)BETAProceedings of the 15th Brazilian conference on Formal Methods: foundations and applications10.1007/978-3-642-33296-8_6(51-66)Online publication date: 23-Sep-2012
  • (undefined)Software Test Path Identification for Virtual Assistants Based on Natural Language Conversation Flow ChartSSRN Electronic Journal10.2139/ssrn.3356358

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media