美文网首页
自动化测试

自动化测试

作者: 一个燃烧的熊猫 | 来源:发表于2019-01-09 10:57 被阅读0次

    1、自动化测试怎么做?

    参考答案:

    自动化测试,是在手工测试之后进行的,是将手工测试用例转化为自动化测试脚本,用于回归测试。

    首先,我们会对手工测试用例进行评估,一般选取正常场景的,复杂度不高,复用性高手工测试用例来转化为脚本。我们是用selenium工具来实现自动化,采用python脚本语言,基于unittest框架实现。首先,我们会构建测试套,测试套包含public部分(包括测试用例中公共的部分),testCases(存放测试用例),reports(存放测试报告),runAllCases(用于运行项目自动化用例)等,脚本调试完后,我们会用jenkins持续集成工具,设置脚本每天晚上8点跑一遍脚本,跑完后生成html格式的自动化测试报告,并自动把测试结果以邮件的形式发送给指定的脚本负责人,相关人员第二天上班第一时间就要检查测试报告中有没有失败的脚本,如果失败,就定位一下脚本失败的原因,(失败的原因:1)、可能是测试环境不稳定;2)、开发修改了代码没通知到测试人员修改脚本;3)、开发引入了新的问题),如果是脚本问题,就修改脚本,如果是系统的问题,就提交问题单给开发修改。

    2、测试脚本用到了哪些技术?

    参考答案:元素定位,表单切换,模块调用,获取指定文本信息等等,脚本是基于python自带的unittest单元测试框架,采用了模块化方式编写,把复用性高的元素封装到模块中,如果脚本需要用到对应的元素,直接调用就可以了,减少了冗余代码,如果元素发生变化,只需要调整元素封装的代码就可以了,提高测试用例的可维护性。

    xpath和CSS定位方式的区别:

    1、语法不一样;

    2、CSS定位比较稳定。

    3、脚本怎么组织的?

    参考答案:构建测试套,测试套包含public部分(包括测试用例中公共的部分),testCases(存放测试用例),reports(存放测试报告),runAllCases(用于运行项目自动化用例),测试脚本使用的是python的unittest单元测试框架组织管理,将所有测试脚本通过单元测试框架组织起来运行,这样做的好处是,维护起来方便,可以生成测试html格式的测试报告,报告包括:测试用例,通过数,失败数。

    4、自动化率多少?

    一般是30%到40%

    5、问:你们自动化脚本的通过率是多少?(注意这个题目的意思)

    参考答案:这个说不准,如果没有什么异常情况,自动化脚本都是100%运行通过;如果异常情况比较多,比如出现测试环境不稳定,或者开发修改了代码没通知到测试人员及时修改脚本,又或者开发引入了新的问题等等,自动化脚本通过率可能80%都不到。

    6、用那个方法判断元素是否显示

    is_displayed()

    7.你曾经都写过多少自动化测试用例?

    这个具体没有算过。但是只要有时间,模块稳定的功能都会写。就拿上个项目来说,自动化测试用例大概写了将近有70-80条这样子吧。

    8、python3 的数据类型有哪些?

    Number(数字)

    String(字符串)

    List(列表)

    Tuple(元组)

    Sets(集合)

    Dictionary(字典)

    不可变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(集合);

    可变数据(两个):List(列表)、Dictionary(字典)。

    9、面:unittest框架了解吗?

    参考答案:unittest框架,由setUp()--环境预置,testCase()--- 测试用例 tearDown()----环境恢复,三大部分组成,unittest框架可组织执行测试用例,并且提供丰富的断言方法,判断测试用例是否通过,最终生成测试结果。

    10、app自动化做过吗?

    参考答案:没有做过,不过和web端自动化的测试思路差不多的,也要用到元素定位,unittest框架这些,使用appium工具,如果以后工作需要,我会利用工作之外的时间,买这方面的书或到网上找这方面的资料来学习。

    11、怎样用python连接mysql数据。

    参考答案:我们之前主要是用python语言来写web端的自动化测试脚本,没有连过mysql数据库,到时候工作需要的话,学一下很快就能上手了。

    PS:确实没接触过的知识,先告诉人家,你确实没做过,如果以后工作需要,你能够很快学会。

    12、用python做过接口自动化吗?

    参考答案:我们之前主要是用python语言来写web端的自动化测试脚本,接口测试是用Jmeter来做的,用python写接口的脚本也在网上学习过,但是工作中没用用过,到时候工作需要的话,再学一下应该没问题。

    13、元素定位失败的原因

    1)、等待时间太短

    2)、元素不唯一

    3)、元素值是动态值

    4)、元素在另外一个表单

    5)、元素在另外一个页面

    6)、元素在前端是隐藏元素

    面:怎么提高自动化测试用例的稳定性

    我:使用多种定位方式去定位,比如try… except,保证测试环境的独立性,在一些失败处增加等待时长sleep

    面:你觉得自动化有什么缺陷

    我:运行速度比较慢,实现成本高,需要一定的代码能力才能维护

    面:怎么去提升自动化脚本的运行速度

    我:不要盲目增加一些sleep,用一些配置比较好的电脑或者使用一些更加支持自动化的浏览器,比如谷歌,火狐这些

    面:模块化编程有什么优点

    我:减少了一些冗余的代码,让测试更具有可读性,提升了测试用例的可维护性

    面:你自动化的执行策略是什么

    我:每次代码有提交就执行,然后使用持续集成工具每日定时执行

    面:什么样的项目适合自动化

    需求变动不频繁,迭代周期长

    相关文章

      网友评论

          本文标题:自动化测试

          本文链接:https://www.haomeiwen.com/subject/iaywrqtx.html