首页 > 编程知识 正文

python测试开发实战电子版,软件测试python面试题及答案

时间:2023-05-06 12:41:54 阅读:140875 作者:1786

一、首先我们要了解我门做软件测试的原因,为什么要做软件测试

1、软件产品监测与计量

监控和测量软件产品的特性,主要根据软件需求规格书,验证产品是否满足要求。 开发的软件产品能否交付,要预先设定质量指标,进行测试,满足预设指标才能交付。

2、不符合要求产品的识别和控制

对软件测试中发现的软件缺陷,要认真记录它们的属性和处理措施,并进行跟踪,直到最终解决。 排除软件缺陷后,再次进行验证。

3、产品设计与开发验证

通过设计测试用例验证需求分析、软件设计、程序代码,确保程序代码与软件设计说明书一致,以及软件设计说明书与需求规格说明书一致。 对验证中发现的不合格品,也应同样认真记录处理、跟踪解决。 解决后,必须再次验证。

4、软件过程监控与测量

通过软件测试可以获取有关软件进程及其结果的大量数据和信息。 这些数据可用于确定这些过程的有效性,为软件过程的正常运行和持续改进提供决策依据。

二、为什么要做自动测试?好处是什么?

1、缩短测试周期

2、避免人为错误

说起自动化测试,与之相对应的是手打测试,“人不圣贤,所以无论发生什么都不会错”,这种传统的手打测试大部分依赖于人,简单概括起来有可能是错误的。

用例的执行方法错了

*数据输入错误

用例执行步骤错误

*测试报告数据错误

*我忘记运行一些用例了

*忘记设定预设条件

错误理解被测试系统的动作

通过自动化可以避免这些错误。

3、测试信息存储

测试自动化主要通过脚本自动化实现,与传统的手工用例相比,可以在脚本中记录测试点、测试拓扑图、测试设计思路等信息,是非常理想的测试信息存储位置,即“脚本体现思路” 另外,当新人接受测试时,可以通过运行测试来了解,从而获得对经过测试的飞行员的快速了解。

4、轻松获得覆盖率

在良好的自动化框架下,测试运行自动化脚本,可以轻松获取代码覆盖率,并根据覆盖情况分析进行测试用例的补充。

5、其他

例如,自动生成明确的测试报告、定时执行测试集、复用数据驱动测试的测试集等。 这些都是本人尚未切身感受到的,但在与一位网友交流时获得的。

三、自动化软件测试的学习路线

)1)自动化测试的学习步骤

)2)自动化测试所需掌握的技术能力

)3)自动化测试的识别错误

首先,是自动化测试的学习步骤

1 .手工测试(掌握各种测试知识)2.学习编程语言)3.学习web基础)4.学习自动化测试工具)5.学习自动化测试框架)6.实现自动化测试用例)7.自动化测试

就第二个问题进行说明。 进行自动化测试需要什么技能? 当初,自己做的时候一直是基于Python的自动化。 同时,Python自动化也比java自动化更容易得到。 这里介绍如何按照Python自动化的思路学习自动化。 解决这个问题的话,文章的后半部分也会分享在进行自动化测试上容易出现的问题。 陈规陋习,思维导图放在句末。

一.首先要学会一门语言,java或者Python,这里针对Python去说。如果要能够满足自动化测试的需求,不要求Python的能力上来就达到精通的水平,但是最起码的使用是要有的,然后在后期在逐步根据测试工具进行进阶。

二、需要掌握前端的一些知识,无论学习语言还是前端知识,都是为了接下来的脚本和框架做铺垫。

三、数据库的重要性不言而喻,MySQL必须掌握

四.web端自动化测试工具selenium

五、接口测试自动化工具jmeter、postman等

六、移动端自动化测试appium

自动化测试的12个认识误区

1、自动化软件测试与手工软件测试流程相同

自动化测试所需的技巧与手动测试所需的技巧不同。

通常,您的项目经理会被测试工具的销售人员弄糊涂,认为自动化软件测试只是按下录制的按钮来生成测试脚本。 实际上没那么简单。

区分自动化测试所需的技巧和手动测试所需的技巧是非常重要的。 最重要的是,自动化测试工程师需要掌握软件开发技术。 没有受过任何训练的手动测试人员和没有编程背景的手动测试人员在进行自动化测试时会遇到很多困难。

2、

自动化测试一定会马上大量减少测试人员数量

自动化测试不会马上大量减少测试人员数量。因为开展自动化测试初期需要投入一定的人力进行自动化测试脚本开发,并逐渐将自动化测试脚本用于日常的测试中,逐步减少手工测试人员从事重复劳动的时间和人数。为了缩短自动化测试脚本的开发时间,可以考虑将自动化测试脚本的开发工作借助外包的力量来早日实现大规模的自动化测试。

3、测试自动化就是录制和回放

仅仅录制得到的不是有效的自动化脚本。

很多项目经理仍然把测试自动化等同于使用录制回放工具。而事实上,录制得到的脚本通常是不可重用的脚本,脚本中充满了硬编码的值,这些值应该被参数化,否则脚本仅仅适用于一个测试情况,脚本还应该加入条件判断、循环等结构,以便增强测试脚本的灵活性。

4、自动化测试找不到bug

自动化测试不直接找bug,而是通过解放有经验的测试工程师的生产力,让其从重复的回归测试中解放出来,从事新的测试方法和测试手段的研究。通过自动化测试解放出测试人员的时间和精力来间接地找到更多、更深层次的新bug,将产品质量再提高一个档次。

5、自动化测试工具是“万能”的

很多人一听到自动化测试,就认为自动化测试工具可以完成一切测试工作,从测试计划到测试执行再到测试结果分析,都不需要任何人工干预。显然,这是一种理想状态,现实中还没有哪个测试工具有这个能力,并且将来也不会有。在现实中有关的测试设计、测试案例,以及一些关键的测试任务还是需要人工参与的,即自动化测试是对手工测试的辅助和补充,它永远也不可能完全取代手工测试。

6、自动化测试工具容易使用

对于这一点,很多测试工程师有同样的错误观点,认为测试工具可以简单地通过捕获(录制)客户端操作生成脚本,且脚本不加编辑就可用于回放使用。事实上,自动化测试不是那么简单的,捕获的操作是否正确,以及脚本编辑是否合理都会影响测试结果。因此,自动化测试需要更多的技能,也需要更多的培训。

7、自动化能提供百分百的测试覆盖率

并非所有内容都可以被自动化地测试到。不可能覆盖所有可能的输入,所有可能的组合和路径。

自动化测试可以增加测试的广度和深度,但是仍然无法达到100%的测试覆盖率,因为没有足够的时间或资源。

8、忘记了测试的最终目标:找到BUG

在自动化测试中,同样要注意把边界值分析、等价类分析、基于风险的测试方法、挑选最合适的测试用例等技术应用起来。

通常在自动化测试过程中,我们都忙着搭建自动化框架和编写测试脚本,但是我们往往忘记了测试的本来目的:找bug。

项目经理可能雇佣了最好的自动化开发人员来搭建框架,使用了最新最好的自动化开发技术,创建了成千上万的自动化测试脚本。但是如果BUG仍然被遗漏了,那些本该被自动化测试脚本捕捉到的BUG,结果没有被捕捉到,那么你的自动化测试仍然会被认为是失败的。

9、所有测试用例都可以自动化

不是所有的测试用例和测试步骤都可以转化为自动化测试。在自动化测试投入较多的行业,领先企业的自动化测试率有的能达到80%左右,但仍有20%左右的测试用例需要手工来进行。在国外,通常从开发第一版测试用例时,就同步进行自动化测试脚本的开发,所以自动化测试率普遍比中国企业高。

10、只有性能测试才需要自动化

自动化测试不光进行性能测试,更被大量应用于功能测试验证,在国外超过半数的自动化测试脚本都是用于功能验证测试的。

11、测试工具可适用于所有的测试

每种自动化测试工具都有它的应用范围和可用对象,所以不能认为一种自动化测试工具能够满足所有测试的需求。针对不同的测试目的和测试对象,应该选择合适的测试工具来对它进行测试。在很多情况下,需要利用多种测试工具或者开发自动化测试框架才能达到自动化测试的目的。商业和开源的测试工具能够用来进行自动化测试,但是我们需要根据自身产品的特点,开发自动化测试框架,在框架中提供常用的测试用例,加快测试速度,达到测试用例复用,这是今后测试自动化发展的道路。

12、自动化测试能发现大量新缺陷

发现更多的新缺陷应该是手工测试的主要目的,不能期望自动化测试去发现更多新缺陷。事实上,自动化测试主要用于发现原来的缺陷。自动化测试用于回归测试,而大量的新业务测试更多地还是依赖手工测试。

除了以上列举的常见误区外,还有其他不同的认识误区。自动化测试认识误区的产生,归根到底最本质的原因是由于对自动化测试不现实的期望,也就是期望过高造成的。

如果没有建立一个正确的软件测试自动化的观念,认为测试自动化可以完全代替手工测试,或者认为测试自动化可以发现大量新缺陷,或者不愿在初期投入比较大的开支等,则自动化测试一定会让我们大失所望。

相信通过这样的解答,明白了什么时候用手工测试,什么时候用自动化测试,并且知道了自动化测试的局限性,这样就不会对做自动化测试的意义产生质疑了。

学习路线会根据现实需求做出调整,需要最新的学习路线图[可点这]Q -q - u -n领取

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。