51Testing软件测试论坛

标题: 人工智能在自动化测试中的一点小实践 [打印本页]

作者: 小皮球的故事    时间: 2017-6-1 15:48
标题: 人工智能在自动化测试中的一点小实践
本帖最后由 小皮球的故事 于 2017-6-1 15:49 编辑

楼主在自学完人工智(ruo)能(zhi)后,一直都没有在测试工作中找到可施展的地方。碰巧最近再和360的同行交流后,灵光一闪,有了今天的文章。
背景花椒相机是360发布的一款拍照APP,可以在照片中加入各种小插件来美化照片。尽管自动化可以搞定该APP拍照的大部分功能,但是对于加入插件后的照片是否正确却无法验证,只能通过保存到本地,进行人工检查。无法使自动化形成一个闭环,未能使自动化的价值最大化。
可行性分析既然可以拍照把照片保存到本地,当照片变多后,就形成了大量的照片数据,这些照片完全就可以再利用起来,用人工智能来玩。
工具选择工欲善其事必先利其器这里简单的写下所需要的工具包的安装,如果安装的时候遇到了各种莫名其妙的报错问题,那么Google一下
其他那我们就从这里开始进入正文因为楼主的目的是要对图片进行多分类,因为楼主的数据里面已经有X -> Y了,所以这是一种有监督学习。
首先我们要确定的是用什么算法来训练数据,这里楼主主要试验了两种算法:
代码如下:
  1. import Image
  2. import numpy as np
  3. import os
  4. from sklearn import svm

  5. def getTrainClass(category):
  6.     if category == 'Train':
  7.         classes = {0, 1, 2, 3, 4, 5, 6, 7}
  8.     else:
  9.         classes = {0, 1, 2, 5, 7}
  10.     return classes

  11. def getImageData(path,classes):
  12.     ImageList = []
  13.     LabelList = []
  14.     for name in classes:
  15.         class_path = cwd + path + "/" + str(name) + "/"
  16.         for image_name in os.listdir(class_path):
  17.             image_path = class_path + image_name
  18.             if 'JPG' in image_path:
  19.                 img = Image.open(image_path)
  20.                 ImageList.append(np.asarray(img).flatten())
  21.                 LabelList.append(name)
  22.     return ImageList, LabelList

  23. cwd = '/home/hadoop/Pictures/pic1/'

  24. TrClasses = getTrainClass('Train')
  25. tr_img, tr_label = getImageData('Train',TrClasses)  #加载训练数据
  26. tstClass = getTrainClass('Validation')
  27. tst_img, tst_label = getImageData('Validation',tstClass)  #加载测试数据

  28. svcClf = svm.LinearSVC()    #直接使用默认参数就好了
  29. svcClf.fit(tr_img,tr_label)

  30. Z = svcClf.predict(tst_img)

  31. result = (1 - np.sum(Z==tst_label)/float(len(tst_img)))
  32. print "\nthe total error rate is: %f" %result
复制代码


使用LinearSVC训练数据的时候,效率稍微有点低,比直接使用SVC低,但是别人正确率高呀
结果如下:


剩下要做的是就是固化了,然后就可以直接调用了。
写在最后的话这是时下很火热的人工智(RUO)能(ZHI)在测试中的一种应用,相信在测试工作中,还有很多地方可以使用人工智(RUO)能(ZHI)来提高咱们的工作效率。
那就自己多发现吧。


作者: 小皮球的故事    时间: 2017-6-1 15:54
赞一个!
作者: 小皮球的故事    时间: 2017-6-1 15:56
小皮球的故事 发表于 2017-6-1 15:54
赞一个!


作者: lsekfe    时间: 2017-6-1 15:59
支持下 不错!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2