大佬讲MBT[通俗易懂]

大佬讲MBT[通俗易懂]大佬讲MBT网址:https://www.youtube.com/watch?v=TnuiEGS6iyc获取模型:1.手工创建(Manualcreation)2.基于事件接口(Eventbasedinference)ApplyregularlanguagelearningalgorithmstotracesMinimizeover/underapproximat…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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

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.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/203701.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 点云显示工具(超详细教程)

    点云显示工具(超详细教程)

  • fiddler和charles哪个好用_windows一分钟重启解决

    fiddler和charles哪个好用_windows一分钟重启解决前言Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。此时,我们只需网上找一个注册码即可解

  • 怎么查看git的用户名和密码_git修改用户名密码命令

    怎么查看git的用户名和密码_git修改用户名密码命令转载自:https://www.cnblogs.com/xihailong/p/13354628.html一、查看查看用户名:gitconfiguser.name查看密码:gitconfiguser.password查看邮箱:gitconfiguser.email查看配置信息:$gitconfig–list二、修改修改用户名gitconfig–globaluser.name“xxxx(新的用户名)”修改密码gitconfig–globaluse

  • BeanUtils_BeanUtils

    BeanUtils_BeanUtils1.beanUtils工程1.工程目录2.需要的jar包:commons-beanutils-1.9.3.jarcommons-collections-3.2.2.jarcommons-logging-1.2.jar3.转换器DateConverter.java:packagecom.my.model;importjava.text.ParseException;

  • Java中CAS详解

    Java中CAS详解在JDK5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。volatile是不错的机制,但是volatile不能保证原子性。因此对于同步最终还是要回到锁机制上来。独占锁是一种悲观锁,synchronized就是一种独占锁,会导

  • Kafka实战:如何把Kafka消息时延秒降10倍

    Kafka实战:如何把Kafka消息时延秒降10倍

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号