Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 5 additions & 22 deletions testgeneration/modelbased.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -86,24 +86,7 @@
"\n",
"Creating a model means converting your system's functionality and expected behavior into a mathematical model that represents it. There are many ways to model software for this purpose, one example is Finite State Machines (FSM).\n",
"\n",
"Transforming a system into an FSM has a huge importance for software testing. <span style=\"color:red\">Besides turning able to translate these models to create automated tests having these precise translations guarantee to the developer that the system works as intended as those models are very specific for defining functionalities.</span>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Hands on\n",
"\n",
"<a \n",
"href=\"\" target=\"_blank\"> \n",
"<img alt=\"Open In Colab\" src=\"https://colab.research.google.com/assets/colab-badge.svg\"></a>\n",
"\n",
"## Model-based testing with PyModel [5]\n",
"\n",
"<span style=\"color:red\">TODO</span>\n",
"\n",
"### Creating a Finite State Machine"
"Transforming a system into an FSM has a huge importance for software testing. Besides turning able to translate these models to create automated tests, having these precise translations guarantee to the developer that the system works as intended, as those models are very specific for defining functionalities."
]
},
{
Expand All @@ -114,7 +97,7 @@
"\n",
"### Pros\n",
"\n",
"As the demand for software with a high level of complexity increases, the necessity for developing tests for those softwares increases too. A huge problem with these <span style=\"color:red\">consequence</span> is how long the process of creation execution and verification of test takes. Considering that, the usage of model-based testing shows a huge relevance due to the automation of most parts of this process.\n",
"As the demand for software with a high level of complexity increases, the necessity for developing tests for those softwares increases too. The usage of model-based testing shows a huge relevance due to the automation of most parts of it's build.\n",
"\n",
"To put into perspective the difference between testing software by hand, using scripts to automate the tests and using model-based testing considering the parameters of:\n",
"\n",
Expand All @@ -124,11 +107,11 @@
"* execute the test\n",
"* check the outcome \n",
"\n",
"Model-based testing is the only of those three that automates the whole process with the exception of creating the system specification. In the day-to-day of software development this represent a huge saving on the time developing the software.\tBesides that the creation of a mathematical model to represent the system, necessary for the model-based testing, also increases the strictness of the testing and decreases the cost of maintenance of the tests.\n",
"Model-based testing is the only of those three that automates the whole process with the exception of creating the system specification. In the day-to-day of software development this represent a huge saving on the time developing the software. Besides that the creation of a mathematical model to represent the system, necessary for the model-based testing, also icreases the strictness of the testing and d creases the cost of maintenance of the tests.\n",
"\n",
"### Cons\n",
"\n",
"In order to be able to use model-based testing, you first have to use formal methods to create a model. This process might take quite some time, and your system must be mature enough. If the system is not mature, creating a model may add more complexy than help eliminate, since model-based testing makes changes a bit more difficult. Changing the requirements will impact the model, which will impact the validations that are needed to make sure the model is sound."
"In order to be able to use model-based testing, you first have to use formal methods to create one. This process might take quite some time by its long duration of creation execution and verification, also your system must be mature enough, else it will add more complexity instead of eliminating it, since model-based testing turns constant changes a bit more difficult than usual. Modifying the requirements will impact the model, which will influence the validations that are needed to make sure the model is according to its principles."
]
},
{
Expand Down Expand Up @@ -177,4 +160,4 @@
},
"nbformat": 4,
"nbformat_minor": 4
}
}