目录
引言:
内容:
一、Ron patton《软件测试》中谈到的软件缺陷的定义被业界广泛认可,主要包括哪五条?
二、软件测试人员的主要工作职责是什么,一般围绕哪几个重要文档开展工作?
三、什么是软件测试模型,请画出V模型,并指出它的优缺点。
四、又一个饮料自动售货机(处理单价为5元纸币)的控制处理软件,它的软件规格说明如下:
若投入5元纸币,按下“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5元纸币。不能同时投两个纸币,不能一次同时购买2瓶及以上饮品。如果出现错误,给出相应的错误提示信息。
请用黑盒测试中的因果图+判定表法写出上述软件测试时所用的判定表。
五、什么是自动化测试?为什么需要自动化测试?你觉得什么样的项目适合自动化测试?
六、功能自动化测试工具QTP和Selenium测试方法有什么区别?Selenium的八种元素定位方法中那些更具有优势?
七、性能测试中包括负载测试和压力测试,请问二者的区别是什么?
八、阅读下段程序,利用白盒测试中的基本路径法先绘制出程序图、再计算圈复杂度,最后给出测试的主路径和基本路径
参考文献:
引言:
软件质量保证与软件测试是我大四上学期学的一门专业课,这门专业课依然是之前那个声音温柔身材高挑的女老师给我上的课,但是由于疫情的原因这门课大部分的时间都在线上进行,这篇文章用来纪念一下这门课的学习结果和主要(考试)内容。
注:此答案是我试卷上的个人答案,并没有必须要参考的必要性。
内容:
一、Ron patton《软件测试》中谈到的软件缺陷的定义被业界广泛认可,主要包括哪五条?
答:
- 软件没有实现产品的说明书所描述的功能
- 软件实现了产品说明书描述不应有的功能
- 软件执行了产品说明书没讲的操作
- 软件没有实现说明书没讲但应该实现的功能
- 从软件测试员的角度看,软件难以理解、不易使用、运行缓慢或者最终认为用户不对。
二、软件测试人员的主要工作职责是什么,一般围绕哪几个重要文档开展工作?
软件测试主要的工作职责包括两个方面:验证和确认。验证是保证软件正确地实现了一些特定功能的一系列活动,即保证以正确的方式来做了这个事件。
- 确定软件生存周期中的一个给定阶段的产品是否达到了前阶段确立的需求的过程。
- 程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程。
- 评审、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
软件测试一般围绕《测试计划》《测试用例》《缺陷报告》《测试总结报告》
三、什么是软件测试模型,请画出V模型,并指出它的优缺点。
V模型优点:
- 既有底层测试,又有高度测试,底层单元测试,高层系统测试
- 将开发阶段清楚的表现出来,便于控制开发的过程,当所有阶段结束时,软件开发就结束了。
V模型缺点:
- 容易让人误解为测试是在开发完成之后的一个阶段
- 由于它的顺序性,当正确的完成之后,正式进入测试时,这是发现的一些bug可能不容易找到其根源并且代码修改起来很苦难。
- 实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试、返工量大。
四、又一个饮料自动售货机(处理单价为5元纸币)的控制处理软件,它的软件规格说明如下:
若投入5元纸币,按下“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5元纸币。不能同时投两个纸币,不能一次同时购买2瓶及以上饮品。如果出现错误,给出相应的错误提示信息。
请用黑盒测试中的因果图+判定表法写出上述软件测试时所用的判定表。
因果图:
判定表:
五、什么是自动化测试?为什么需要自动化测试?你觉得什么样的项目适合自动化测试?
自动化测试是把人对软件的测试行为转化为由机器执行测试行为的一种实践,对于常见的GUI自动化测试,就是由自动化测试工具模拟之前的各种操作,并验证结果是否符合预期。
自动化测试可以在任何时候反复执行,因此,在质量方面能够给予软件发布后期以及早期质量反馈。由于反馈需要较少的人力参与,自动化测试可以在夜间构建并执行,到了第二天早上,会对测试又一个完整的了解,在资源方面如果您又一个健全的脚本执行平台,您可以通过自动化测试实现更大的价值回报。
- 需求稳定,不会频繁变更。
- 多平台运行,组合遍历型,大量的重复任务。
- 软件维护周期长,有生命力。
- 被测系统开发较为规范,可测试性强。
满足这四个条件的项目比较适合做自动化测试。
六、功能自动化测试工具QTP和Selenium测试方法有什么区别?Selenium的八种元素定位方法中那些更具有优势?
QTP优点:功能强大可以支持Windows窗口,入门门槛低,学习成本低。
QTP缺点:付费产品,不易整合到测试平台。
Selenium优点:产品免费开源,代码小巧简洁灵活,也易于维护,支持多种浏览器和多种编程语言。
Selenium缺点:不支持窗口类北侧系统,只支持web系统,学习成本高,需要编码和了解HTML页面结构。
- 当页面元素有id属性时,最好尽量用id来定位。
- 如果缺失少数元素不好定位,可以选择xpath或cssSelector
- 当要定位一组相同元素时,可以考虑用tagName或name。
七、性能测试中包括负载测试和压力测试,请问二者的区别是什么?
负载测试是一种性能的测试,就是指数据在超负荷环境中运行程序是否能承担得起。
压力测试是一种性能测试,它在系统资源特别低的情况下西安市软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方,包括短时间的极端负重测试,在过量用户下的负载测试,连续执行所有能做的操作。
性能测试(或称多用户并发性能测试)、负载测试、压力测试是性能测试领域里的几个方面,但是概念很容易混淆。下面将几个概念进行介绍。
性能测试(Performance Test):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。
关注点:how much和how fast负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
关注点:how much压力测试(Stress Test): 压力测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。包括
Spike testing:短时间的极端负载测试
Extreme testing:在过量用户下的负载测试
Hammer testing:连续执行所有能做的操作
八、阅读下段程序,利用白盒测试中的基本路径法先绘制出程序图、再计算圈复杂度,最后给出测试的主路径和基本路径
参考文献:
性能测试、负载测试、压力测试有什么区别?_泽众云测试的博客-CSDN博客