机器学习在软件测试领域的应用
测试组
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,原型生成前端代码/后端代码/测试用例,这4个事情,是整个构思的整体,
- 4,这是一个全新的开发思路,先不要考虑历史需求原型的缺失问题/需求没有原型的情况
- 5,生成接口自动化案例,和功能测试案例,生成的测试用例是什么样?能根据原型生成接口自动化案例的?这都是和原型设计有关系,
2,从中得到的需要侧重的点
- 1,其中一定有一个过程就是给元素分类,可以使用聚类算法,k-means聚类算法,
- 2,降噪,二值化,就是机器学习的第一步,特征工程,拿到数据之后就行处理,
- 3,二值化原型图,这就是要涉及到图像处理了,深度学习,卷积神经网络,如果有涉及还需要学习这个,
3,下一步
- 1,特征工程,降噪,二值化,
- 2,聚类算法,做一个小的demo案例,机器学习算法的,
- 3,图片分类,神经网络,做一个小的案例,图像聚类算法的,这种很好找,我有信息,
- 4,原型设计规范,
- 5,框架学习,Numpy,Pandas,Matplotlib,
sklearn
PyTorch是最大的深度学习库,caffe,keras,tensorflow - 6,调研,市面上的,原型生成前端代码,后端代码,测试用例的情况,
特征工程:特征工程的处理流程为首先去掉无用特征,接着去除冗余特征,如共线特征,并利用存在的特征、转换特征、内容中的特征以及其他数据源生成新特征,然后对特征进行转换(数值化、类别转换、归一化等),最后对特征进行处理(异常值、最大值、最小值、缺失值等),以符合模型的使用。
如果你以前用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,测试变革,革命