大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
大佬讲MBT
网址:https://www.youtube.com/watch?v=TnuiEGS6iyc
获取模型:
1.手工创建(Manual creation)
2.基于事件接口(Event based inference)
- Apply regular language learning algorithms to traces
- Minimize over/under approximation through multi objective optimization
2012 ICST-Finding the Optimal Balance between Over and Under Approximation of Models Inferred from Execution Logs.
Grammer learning:Algorithms to learn a regular language from its sentences(e.g.,k-tail)
两个问题:Over-approximation:behaviors that are admitted by the model,but are impossible in reality最小化模型尺寸
Under-approximation:behaviours that are possible,but are not admitted by the model 多目标优化算法
Metrics:SIZE,UNOBS,UNREC
unobserved even sequences and a small number of unrecognized traces
take all the traces that are available and to put them in parallel as an only mystic choice among them if you do that
多目标优化
select non dominated models->update paretofront->Model union/intersection
Add trace/merge states
we cycle and after a number of iterations we get minimized
Model union & intersection
Non-deterministic union/union+powerset construction/intersection
可以将模型转换为非确定有限自动机转换为确定
3.基于状态接口(Stated based inference)FSM
- Manually define the abstraction function
- Infer the abstraction function through clustering and multi-objective optimization
Automated Generation of stated abstraction functions using data invariant inference.AST-2013
ReAjax:a review engineering tool for Ajax Web applications.2012.
State clustering -> Invariant inference
Automated generation based on clustering & data invariant inference
Partitioning problem
Given a set of concrete states,find a partition such that the invariants obtained from each subset in the partition produce an optimal model when used as abstraction functions
减少模型尺寸,减少非确定性转换
select non dominated partitions->update pareto front->apply genetic operators
Evolving the model
1.Manual evolution
2.Inference from scratch,using the new traces
3.Automated,incremental model update
a new state and new transitions are added to the model
Revolution : Atumatic Evolution of Mined Specifications.2012
Using the model
1.test sequence generation
- Random,depth-first,breadth first
- Semantic interactions
- Maximum diversity
BFS/DFS First Algorithm
the notion of semantic interactions
<text,submit >
<submit,text>
<subject,submit>
<submit,subject>
the coverage of pairs of events interact semantically
test suite diversity
Frequency based diversity is maximized
Distance metrics:minimum Euclideon distance between event execution frequencies of test cases or sum of distances from the average frequency
DIV多样性矩阵
2.test data generation
TC generator -> FSM monitor -> SUT
Transition coverage onModel is satisfied iff branch coverage on FSM Monitor is satisfied
Test generator: Any test case generator supporting branch coverage(Evosuite)
combinatorial input data generation
Each pairwise combination is covered by at least one test sequence
infeasible test sequences
Finite State Models express an abstraction of the semantics
- Not all dependencies and constraints are represented
- Test cases may violate missing dependencies and constraints
3.test case feasibility
infeasibility can cause a lot of trouble in the actual execution of tests against the application it can reduce coverage and for detection substantially and at end it invovle substantial manual effort so
Predicting feasible test sequences
In NLP,N-grams are used for word prediction
In MBT,N-grams can be used to predict the next feasible event in a test sequence.
Test case derivation:2-Grams
Interpolated N-Grams for Model Based TestingICSE
Defining the oracle
1.Manual definition
Add assertions to express:
- Contracts(pre/post conditions,invariants)
- Expected test case results
2.Model as oracle
TC=<add,add,empty>
- Expected SUT state should match actual SUT state
3.Crash oracle
4.Automated oracles
anomaly detectors
图的遍历产生测试序列
N-gram based test sequence generation from finite state models.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/203701.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...