Presentation is loading. Please wait.

Presentation is loading. Please wait.

Model Based Testing Venkata Ramana Bandari, Expert Software Engineer

Similar presentations


Presentation on theme: "Model Based Testing Venkata Ramana Bandari, Expert Software Engineer"— Presentation transcript:

1 Model Based Testing Venkata Ramana Bandari, Expert Software Engineer
Thrivikram Reddy, Expert Software Engineer Allscripts India LLP

2 Abstract The complexity of software applications continues to increase, and the user’s aversion to software defects is greater than ever, so the functional testing should become more efficient at discovering bugs. The cost and time of testing is a significant dimension of any projects and sometimes topping the costs of development.

3 Model of Software A Model of Software is a representation of its behavior. Behavior can be described in terms of the Input sequences accepted by the system The actions performed by the system as designed Conditions applied on the actions performed by the system as designed Output logic or the flow of data through the application’s modules and procedures By using modeling, a shareable, reusable, detailed description of the system is acquired.

4 What is Model Based Testing
“Model-based testing is a process for derivation of test cases from a model that describe functional aspects of the system under test (SUT) and executing those test cases.” This approach renews the whole process of functional software testing from business requirements to the test repository with test execution. It supports the phases of designing and generating tests, documenting the test repository, producing and maintaining the bi-directional traceability matrix between tests and requirements. Test Requirements Exit Test Derivation Test Execution Executable test Suite Compilation Abstract Test Suite Executable test Suite Reports Model

5 Fundamental tasks of MBT
Understanding The System: Forming a intellectual representation of the system’s functionality is a prerequisite to building models. Determine the components/features that need to be tested based on test objectives. Establish communication with requirements, design, and development teams if possible. Identify the users of the system. Enumerate the inputs and outputs of the Application. Study the sequences of inputs and Outputs that need to be modeled. Understand internal data interactions and computation. Choosing the Model: There are no software models today that fit all intents and purposes. Consequently, for each situation decisions need to be made as to what model (or collection of models) are most suitable.

6 Fundamental tasks of MBT(cont’d)
Building the Model: The general procedure that underlies many MBT methodologies: Make a list of the inputs and Outputs. Input applicability constraints for each input. For example, consider a simple telephone. The input “take the handset off the hook” can only be applied when the handset is hung up. (It is impossible to pick up the handset if the handset has already been picked up.) Input behavior constraints for each input according to the current state context. For example, the input “take the handset of the hook” can cause a number of behaviors. If the context is that the phone is idle, the resulting behavior will be that the system will generate a dial tone. If the context is that the phone is ringing due to an incoming call, then the system will connect the two phones to allow conversation. Two different behaviors are caused by the same input.

7 Example: How to Design model for Calculator
Select Standard Not Running Standard Start Stop Running Standard Running Scientific Not Running Scientific Select Scientific Not Running Running Start Stop

8 What Does This Model Care About?
Application status Standard Scientific? Mode status Running Not Running Display status Empty Not Empty In Natural Language If the Calculator is Not Running then the user can execute ‘Start’. When the user executes ‘Start’, the Calculator goes to ‘Running’ mode If the Calculator is Running then the user can execute ‘Standard’. When the user executes ‘Standard’, the Calculator goes to ‘Standard’ mode and the display is cleared. When the User Executes ‘Scientific’, the calculator goes to ‘Scientific’ mode and the display is cleared When the user enter number the display will show with number When the user click on off button, calculator will move to not running mode.

9 Benefits of Model-Based Testing
It helps to detailed understanding of the system behavior Easy test case maintenance, Test suite grows with the product Reduced costs/Time/more tests, Manage the model instead of the cases Systematic coverage, Helps early bug detection When a new feature is added, a new action is added to the state machine to run in combination with existing actions. Improved tester job satisfaction

10 Drawbacks of MBT Excessive amount of skills is required from the testers. They need to be familiar with the model, which means knowledge of different forms of application. Large initial effort in terms of man-hours is required to get into modeling and selecting the level for modeling.

11 Conclusion Models are an excellent way to represent and understand system behavior. Testers construct intellectual models anyway during their testing. Those mental models can be transformed to models on paper. This helps testers to achieve readability and re-usability Models provide an easy way to create and update tests.

12 Venkata Ramana Bandari
Author’s Biography Venkata Ramana Bandari Working as Expert Software Engineer in software industry having 12+ years of experience in software testing. Extensive experience in Database testing, Product testing, Regression testing, Functional testing, UAT testing, integration testing, Patch Management. Good knowledge of Testing Methodologies (V- Model, Agile) Well Versed in conducting different kind of tests such as User acceptance Testing (UAT), Regression, Integration, Smoke, Sanity and Cloud based applications testing. Thrivikram Reddy Working as Expert Software Engineer in software Industry having 11+ years of experience in software testing. Experienced Quality Engineer in automation with a demonstrated history of working in the healthcare software industry. Skilled in Test Automation, Selenium WebDriver and C#. Also, exploring usage of python to automate things. Passionate about learning the new technologies and implementation.

13 Thank You!!!


Download ppt "Model Based Testing Venkata Ramana Bandari, Expert Software Engineer"

Similar presentations


Ads by Google