Loading...
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 43701 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Ramsin, Raman
- Abstract:
- In the modern software era, testing plays an invaluable role in software development as a quality assurance measure. Estimates have been made that up to 50% of effort and resources in software projects are allocated to testing. Model based testing (MBT) is one of the important stages of model driven development (MDD), which involves creating test cases from software models. When test cases are created from models, they reside at a higher level of abstraction, therefore creating and maintaining them will cost less, and will utilize more automation possibilities. Also, MBT takes a systematic route to test generation; this allows for a more goal-oriented and direct approach in achieving desirable test coverage criteria, especially when compared to ad-hoc testing.Keeping models updated has always been a dire problem in development approaches that are based on models, and MBT is no exception. Also, models that MBT requires, usually involve details that are not considered in normal development processes, or are completely different models than those developed during software analysis and design, which only makes this problem worse.The goal of this research was to introduce a minimal set of structural and behavioral models that can be used as a basis for MBT. Models that are normally produced during the development process or simple models developed solely for testing were given priority. The primary concern in choosing these models was being intuitive and tangible for programmers and modelers.As the first step of this research, the extent to which modeling is actually put to use in the context of agile methodologies was studied. As the second step, various lightweight modeling strategies which can be used in the context of agile methodologies were inspected. Next, the current situation of MBT was surveyed. Afterwards, MBT was approached from a process viewpoint, and guidelines for using MBT in agile contexts were provided in the format of patterns. Then, a lightweight approach to automated acceptance testing was proposed, and the related lightweight models and model transformations were elaborated upon. Finally, this approach was evaluated by application to a case study and comparison to other testing methods. Linear coverage and mutation testing were used as a part of the case study evaluation.
- Keywords:
- Model Based Testing (MBT) ; Model Driven Development ; Software Testing ; Model Inference ; Minimal Modeling
-
محتواي پايان نامه
- view