大佬讲MBT

大佬讲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

1554798793706

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值