Існує дуже висока ймовірність того, що процес створення програми-моделі призведе до виникнення помилок. На практиці реалізація таких моделей, як скінченні автомати, займає багато часу. Ви повинні вміти розрізняти помилки в моделі, помилки в тестах, заснованих на цій моделі, і системні помилки. Легше усунути помилки моделювання до того, як ви почнете розробляти тест, ніж шукати їх під час тестування. Нижче ви знайдете інформацію про те, на що слід звертати увагу в моделях і як їх виявляти. Тут наше завдання стає менш складним, оскільки для таких моделей існує теорія, на основі цієї теорії створені алгоритми, і в багатьох випадках існують інструменти, розроблені на основі цих алгоритмів. Однак не поспішайте радіти на душі. Алгоритми, якщо вони реалізовані в інструментах, майже завжди призначені для апаратного забезпечення і повинні бути адаптовані для використання в програмних моделях.
- Повнота та послідовність. How many input symbols do you have? How many states? The product of these two numbers (called the state-symbol product) is equal to the number of cells in the state table. Each cell in the table must correspond to one and only one transition, no more and no less. If any cell is not filled, an uncertainty arises in the model representation. If more than one transition is defined for a cell, a contradiction arises. The program cannot be inconsistent or incomplete. In any state, it must always perform an action for any input, and this action must be unique. Imaginary contradictions are more unpleasant, since if they are available your system with a finite number of states is at least twice as large as you think.
.
- Однозначне кодування вхідних даних. If the input encoding changes from state to state, then you either have an error in the model, or your project is awful. This means that the size of your state table is not fixed. In practice, you will not be able to analyze this nonsense.
- Мінімальна кількість інструментів автоматизації. You create a model in which you have two sets of states with different names, but the same output actions and similar transitions. Suppose you have two states A and B, such that any input sequence starting in state A outputs the same sequence as if it started in state B. In this case, the external observer cannot distinguish between the two states. With the exception of the difference in names, these two states are equivalent and can be combined into one. Similar reasoning applies to a set of states. You should simplify the model by combining all equivalent states. This can be done automatically.
Вас може зацікавити послуги кросбраузерного тестування забезпечити якість роботи сайтів електронної комерції на різних екранах. Якщо так, ви можете звернутися до українських експертів для перевірки веб-дизайну та функціональності, а також тестування на різних пристроях, які будуть використовуватися на ринку та в клієнтській базі.










0 коментарів