机器学习在软件测试领域的应用


测试组
1、拆原型条件:原型设计依赖于定义的标签定义标签5-10种,如add,update,delete,search,list,input,button,img,link,password通过dom树识别元素类型,降噪、二值化原型图片,分类到各个标签,多次深度学习训练,多次演练生成原型类型、附加元素特征。
2、原型如何生成一套前端代码
前置条件:多次演练生成的原型类型、附加元素特征标签。根据原型类型和附加元素特征标签:add,update,delete,search,list,input,button,img,link自动转变成前端css,nodejs,react代码。
3、原型如何生成一套后端代码
前置条件:多次演练生成的原型类型、附加元素特征标签。根据原型类型和附加原型特征标签如add,update,delete,search,list,input,button,img,link,自动转变成后端如java,python,php代码。
4、原型如何生成自动化、功能测试案例
前置条件:多次演练生成的原型类型、附加元素特征标签。根据原型类型和附件原型特征标签,如post,get,delete转化成接口自动化案例,根据特征标签如add,update,delete,search,list生成功能测试案例。

思考的出发点基于这个原型
讨论的出发点也是基于这个原型

整体的分为两点,

1,做,要怎么做

怎么按照这个思路来做?
这个思路值得仔细讨论一下,我还是没有明白你的思路,

1,可以看出这个思路的核心是这个原型
但是有三个现实问题

  • 1,原型大量缺失,
  • 2,很多没有原型,比如接口,渠道,
  • 3,提到的这个原型,是什么样子的,我感觉这种不是普通的吧,原型设计需要新的规范吗?

2,思路落脚点是什么?

  • 1,是为了生成测试用例?
  • 2,可以生成接口自动化案例,和功能测试案例,生成的测试用例是什么样?
  • 3,怎么能根据原型生成接口自动化案例的?

3,从中得到的需要侧重的点

  • 1,其中一定有一个过程就是给元素分类,可以使用聚类算法,k-means聚类算法,
  • 2,降噪,二值化,就是机器学习的第一步,特征工程,拿到数据之后就行处理,
  • 3,二值化原型图,这就是要涉及到图像处理了,深度学习,卷积神经网络,如果有涉及还需要学习这个,

4,从中疑问的点:

  • 1,输出是生成原型类型、附加元素特征?这是什么?怎么理解?原型类型不理解,附加元素特征,大概理解,就是元素的特征,
  • 2,输入应该就是一个dom?最终是只要输入一个页面,就能识别出来元素的类型,打上标签,如果是这样到不用特别考虑这个数据来源的问题,因为有图片和dom很多,
  • 3,整体的一个思路是怎么样的?最终是要解决什么问题?

5,下一步

  • 1,特征工程,降噪,二值化,
  • 2,聚类算法,做一个小的demo案例,机器学习算法的,
  • 3,图片分类,神经网络,做一个小的案例,图像聚类算法的,这种很好找,我有信息,

特征工程:特征工程的处理流程为首先去掉无用特征,接着去除冗余特征,如共线特征,并利用存在的特征、转换特征、内容中的特征以及其他数据源生成新特征,然后对特征进行转换(数值化、类别转换、归一化等),最后对特征进行处理(异常值、最大值、最小值、缺失值等),以符合模型的使用。
如果你以前用scikit-learn实现过这个算法,
https://blog.csdn.net/qq_42994177/article/details/116932451
观察数据--->找特征(特征提取、向量化、归一化)--->设计算法(建模型)--->算法验证--->洗数据--->工程化--->上线看效果---> 观察数据

2,做,要考虑到风险,

1,有三点风险

  • 1,技术积累不够,难度太大,跨度太大,创新,先要模仿
  • 2,这还不是最要命,最要命的是需求不清,需求过于模糊
  • 3,短期不能出成果,投入和产品比的问题,最终是要解决什么问题,

2,其他思考

  • 1,我不想否定这个方向这的确是一个好的方向
  • 2,是不是一定要这个方向,是否考虑其他的方向,
  • 3,理性来看只能在一个点应用这个机器学习,目前看起来只能解决软件测试中一个单点的问题,不能完全解决,
    如果按照这种方案,做出来离不需要人工,离得很远,如果完全解决,测试就失业了

3,我需要一些机器学习应用到软件测试的案例

接口平台只是为了申请软著,不想把这个当重点
机器学习把这个作为2022年的重点,

好处
1,专利申请,的确是一个硬技术,
2,可以开公司
3,测试变革,革命