TEST CASE GENERATION FOR MODELING NFRS IN STATE CHART DIAGRAM
229235038544500
By
ASIF RAZA
CMS # 19665
Supervised by
Dr Rizwan Bin FaizA thesis submitted in partial fulfillment of the requirements for the degree of
Masters of Science
In
Software Engineering
at
Riphah International University,
Islamabad, Pakistan
RIPHAH INTERNATIONAL UNIVERSITY, ISLAMABAD
APPROVAL SHEET
SUBMISSION OF HIGHER RESEARCH DEGREE THESIS
The following statement is to be signed by the candidates ‘supervisor (s), Dean/ HOD and must be received by the COE, prior to the dispatch of the thesis to the approved examiners.
Candidate’s Name & Reg#: _Asif Raza__ ___19665_____________________
Program Title: _MS(SE)_______ _________________________________
Faculty/Department: Computing__ ______ ____________________________
Thesis Title: Test Case Generation for Modeling NFRs In State Chart Diagram
I hereby certify that the above candidate’s work, including the thesis, has been completed to my satisfaction and that the thesis is in a format and of an editorial standard recognized by the faculty/department as appropriate for examination. The Thesis has been checked through Turnitin for plagiarism(test report attached).
Signature (s):
Principal Supervisor: __________
Date: _______________________
Co-Supervisor –I ______________
(if any) ______________________
Date: _______________________
The undersigned certify that:
The candidate presented at a pre-completion seminar, an overview and synthesis of major findings of the thesis, and that the research is of a standard and extent appropriate for submission as a thesis.
I have checked the candidate’s thesis and its scope, format, and editorial standards are recognized by the faculty/department as appropriate.
The plagiarism check has been performed. Report is attached
Signature (s):
Dean/Head of Faculty/Department: _______________
Date: ________________
DECLARATION OF AUTHENTICATION
I certify that the research work presented in this thesis is to the best of my knowledge my own. All sources used and any help received in the preparation of this dissertation have been acknowledged. I hereby declare that I have not submitted this material, either in whole or in part, for any other degree at this or any other institution.
Signature……………….
ACCEPTANCE CERTIFICATE
NUMERICAL TECHNIQUE TO SOLVE BLACK-SCHOLE EQUATION
By
Asif Raza CMS # 196652
A thesis submitted in partial fulfillments of the requirements for the degree of
Masters of Science
In
Software Engineering
We accept this thesis as conforming to the required standard
Supervisor :_______________________________________________
External Examiner-1 : ___________________________________________
External Examiner-2 : ___________________________________________
HOD/Incharge :_______________________________________________
Dean :______________________________________________
DEDICATION
This thesis is dedicated to my parents, —– and —, great role models and friends, and my brothers, —-
and —- and the rest of the family, for always believing in me, inspiring me, and encouraging me to reach higher in order to achieve my goals.
Contents
TOC o “1-3” h z u 1.Abstract PAGEREF _Toc517089344 h 72.Introduction PAGEREF _Toc517089345 h 83.Literature Review PAGEREF _Toc517089346 h 94.Threat Modeling PAGEREF _Toc517089347 h 115.Result and Analysis PAGEREF _Toc517089348 h 126.Conclusion PAGEREF _Toc517089349 h 137.Future Work PAGEREF _Toc517089350 h 14References PAGEREF _Toc517089351 h 15
Abstract
IntroductionSoftware testing is one fundamental way to control quality of the software. In order to perform testing, we need to design test cases and generate data against specific requirements may be FR or NFRs. Software testing increase the equality and efficiency and ensure that the software does not contain any bug which can become a reason of software failures. A test suite that is appropriately designed not only detect the bugs in a software, but also support to decrease the cost pertaining to software testing.
UML offers powerful mechanism for describing software and it is widely used in Software Design. UML state chart diagram describes the dynamics of a model element as it changes its internal state as the response of receiving some external stimuli CITATION Shu16 l 1033 (Shubhangi Jagtap, 2016). We can use a State Chart Diagram to model and design software systems by identifying what states the system can be in, what inputs or events trigger state charts, and how the system will behave in each state.
According to the latest version of the UML (version 241) OMG, 2011, the diagrams provided by the UML do not address important NFRs related semantics. Researchers proposed different techniques to Extend State Diagrams so that one can add NFR CITATION MOH15 l 1033 (MOHAMED EL-ATTAR, 2015) CITATION Muh15 l 1033 (Khan, 2015) CITATION Oma11 l 1033 (Ariss, 2011) , CITATION Seo05 l 1033 (Seong Chae Seo, 2005), CITATION Lir05 l 1033 (Lirong Dai, 2005) . Test Cases against FRs are designed / generated by different researchers, but test cases generation against NFRs still require attention.
Test cases pertaining to NFRS cannot be designed using state chart diagram. In order to design test cases, NFRs should be specified at sub factor level CITATION Muh15 l 1033 (Khan, 2015). To generate test cases at sub factor level i.e, authentication in term of security, an extended state diagram can be used.
Object Constraint Language (OCL) is one way to extend UML State Chart Diagram. OCL are used to specify constraints on actions and permissions, these constraints can be used for individual software requirements. Applications of OCL constraints in the UML diagrams are state invariants / guard conditions in state chart diagram, class invariants in class diagrams, and pre- and postconditions of use case CITATION IBM97 l 1033 (IBM, 1997).
Literature ReviewMohamed El-Attar 2015 3 et al . modeled security in extended state chart. He performed an ontological analysis of the security domain to identify the new required semantic constructs. A real-world case study pertaining to the AndroidOS, FakePlayer malware affecting mobile phones is used to demonstrate the application and expressiveness of the new notation. An online industrial survey was conducted to measure the perceptions of the new notation with respect to its semantic transparency as well as its coverage of modeling state based security aspects. Similarly, Seong Chae Seo 5 et al. also modeled security in extended state chart diagram.
Muhammad Umair khan 2015 4 modeled security in extended state chart diagram by using OCL. He stated that OCL Expressions on state chart diagram can be used to design test cases that will include security scenarios at sub factor level. Furthermore, he stated that, languages such as UMLsec and SecureTropos and the vagueness of the documented specification languages have higher level of abstraction that can be an hindering factor for the developers and programmer to actually use mitigations correctly. He describes his claim by using an example, i.e the Test Cases generation against the high-level security specification “lock the user after x incorrect login attempts” will not know the value of x if it is not defined in the design document. The value of x will not be available in the requirements or high level-design document the developer will be free to choose a value of x. However, the security demands of the system being implemented may be too hard to allow a large value. When the software is being tested, the assurance team will not know how many incorrect login attempts should be allowed based on the software’s security profile.
Ranjita Kumari Swain 2 et al. generated test cases using State Chart Diagram. The proposed approach consists of 5 steps: –
Building model of the system.
Constructing the transition graph from state chart diagram.
Extracting the required information from the transition.
Generating test cases.
Minimize a set of test cases by calculating node coverage for each test sequence
Threat Modeling
Result and Analysis
Conclusion
Future Work
References BIBLIOGRAPHY Shubhangi Jagtap, V. G. (2016). Generate Test Cases From UML Use Case and State Chart Diagrams. International Research Journal of Engineering and Technology (IRJET), 873-881.