Loading...
Tailoring Software Testing Techiques for Product Line Engineering
Rezvan, Abolfazl | 2009
672
Viewed
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 39966 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Mirian-Hosseinabadi, Hassan
- Abstract:
- In industry it is usual to develop a family of similar software instead of a single one. Software product-line (SPL) engineering or family-based software engineering is an approach that tries to minimize needed effort and time-to-market and maximize quality of manufactured products through strategic planning for maximizing reuse among members of the family. On the other hand it is known that testing software is an indivisible part of software development process which requires considerable time and effort. With large number of products created from an SPL, it is obvious that testing should be conducted in such a way that needed effort does not maintain a linear relationship with number of products manufactured. Remembering that there exists a lot of similarity between members of a family, this goal can be achieved through increasing reuse and factoring out repetitive human tasks. The goal of this thesis is to propose general approach and required mechansims to reduce cost and increase effectiveness of testing in SPLs. To accomplish this, first a survey of existing literature and methods are done to disclose needs, requirements, and challenges of testing in SPLs. Then feature-oriented programming (FOP) which is a method to define and implement SPLs is selected as the basis of the works. In FOP, features are key elements that are composed to create a product. In order to apply testing to FOP-based SPLs with previously mentioned considerations, first a general framework for testing is proposed and proper methods are designed inside the framework. One part of efforts is focused on defining a measure for quality of SPL itself through proposing a coverage criterion which is based on composition validation rules. Another part is a method to design test-cases for each feature separately and mechanisms for using them with a composed program. Third part is a try to automate generation of parts of test-cases through classification, analysis, and decomposition of saved execution traces of previouly built products. Major achievements of proposed work are: facilitating unit testing in SPLs which is lacking in similar works, increasing confidence in unit accuracy with a factor of 1.5 through reuse of test-cases, automating some steps of test-case design thus reducing needed human effort.
- Keywords:
- Software Testing ; Software Product Line ; Feature-Oriented Programming (FOP) ; Automatic Test-Case Generation
-
محتواي پايان نامه
- view