软件测试技术问题总结.docx
- 文档编号:5544565
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:12
- 大小:38.49KB
软件测试技术问题总结.docx
《软件测试技术问题总结.docx》由会员分享,可在线阅读,更多相关《软件测试技术问题总结.docx(12页珍藏版)》请在冰豆网上搜索。
软件测试技术问题总结
软件测试技术基础常见问题总结
1软件测试基础
1)什么是软件测试?
软件测试是通过手工或自动化的手段运行或测定被测对象是否满足所对应的需求;被测对象包括需求分析、设计规格说明书,系统编码等;在测试过程中,要根据相应的规格说明书设计一组测试用例,通过对测试用例的执行来发现系统中相应的错误保证软件质量的一项活动。
2)软件生命周期是什么?
1.项目规划
2.需求定义分析
3.软件设计
4.程序编码
5.软件测试
6.运行维护
3)软件测试目的是什么?
1.发现系统的错误
2.验证系统是否满足需求
3.保障产品质量
4.改进开发进程
4)软件缺陷(bug)与软件错误(error)的区别和联系?
区别:
软件缺陷是存在于软件之中的不希望或者不可接受的偏差,而软件错误是由于人为的原因产生的错误。
缺陷是在软件中抽象存在的,而错误是人的行为问题。
联系:
由于人的错误行为,在设计或者编码过程中的失误,导致了软件内部的缺陷。
人为错误是引发软件缺陷的直接原因。
一个软件错误必定引发一个或多个软件缺陷。
5)软件测试如何改进软件开发过程?
软件测试和软件开发是不同的两个过程,但是通过软件测试发现软件的缺陷,然后通过缺陷的分析确定错误产生的原因从而发现软件开发过程中存在的缺陷。
同时通过对测试结果的分析整理,还可以修正软件开发规则。
因此,软件测试在一定程度上可以改进软件开发流程。
6)分析“软件测试没有什么技术含量,不就是点击按钮,对系统进行操作吗?
”。
分析:
在上述问题中只所以出现这样的言论,是对软件测试理解的片面性和对软件测试理解的偏激造成的。
对于一个规范的软件测试过程包括了软件测试的计划、系统分析、测试设计、开发等技术。
软件测试是一个发现软件缺陷的过程,要想发现软件缺陷必须对被测对象有足够的了解,而不是简单的对被测对象的执行,更不是只是点击“按钮”。
这里边包括了如何设计测试场景、测试数据、测试执行等过程。
同样的通过软件测试发现系统的问题,通过问题的改进可以提高软件产品的质量,赢得用户的口碑,从而提高产品的市场竞争力,提高公司的利益。
因此软件测试是一项非常有意义的关系公司存亡的活动。
7)软件测试对象包括什么?
1.需求规格说明
2.概要设计规格说明
3.详细设计规格说明
4.源程序
5.系统
6.用户手册
7.帮助文档
8)主要的软件测试手段分别是什么,如何理解?
软件的测试手段包括验证和确认;验证是对前一个阶段的验证;确认是对原始开发需求的确认,任何一个阶段的确认都应追溯到需求。
9)软件测试的原则包括那些方面?
1.尽早的不断的测试
2.测试过程中要设计测试用例
3.程序员避免检查自己的程序
4.彻底测试是不可能的
5.测试应追溯到需求
6.从“小规模”到“大规模”
7.注意群集现象
8.严格执行测试计划
9.测试结果进行全面检查
10.测试维护
10)软件测试的局限性包含哪些?
11)为什么说软件测试不能保证软件质量
高质量的软件不是测试出来的,而是开发出来的;软件测试是保证软件质量的手段之一,不是唯一手段。
要想提高软件质量必须提高开发质量。
12)常见的软件测试模型有哪些,分别具有什么样的特点?
测试中常见的模型有V、W、H、X等模型;
其特点如下:
1.V模型适用于产品,描述的是开发和测试的对应过程
2.W模型是V模型,强调的是针对需求,设计的测试
3.V、W模型不支持迭代
4.x模型增加了探索性测试
13)什么是V(或者W模型),它的特点是什么?
V模型是软件测试的一个基础应用模型,包括了软件开发和软件测试的两个阶段,并且两个阶段是串行的,V模型的左边是:
需求分析、概要设计、详细设计、编码;右边包括:
“单元测试”、“集成测试”、“系统测试”、“确认测试”和“验收测试”。
V模型的特点:
1.测试对象是程序本身
2.实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现
3.测试深度高
4.评审深度低
14)什么是敏捷开发和敏捷测试?
他们的特点是什么?
敏捷开发:
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。
在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
2软件测试过程概述
1)软件开发的生命周期是什么?
软件的开发生命周期包括:
需求分析→系统设计→软件编码→运营维护
2)软件测试的生命周期(过程、流程)是什么?
软件测试生命周期包括:
测试计划、测试设计、测试开发、测试评估、测试报告、缺陷跟踪。
3)软件测试流程中的里程碑分别是什么?
1.测试计划通过评审
2.测试设计完成
3.测试脚本开发完成
4.测试用例执行完成
5.测试报告通过评审
4)测试计划的主要内容包括那些?
1.测试的目的与范围
2.测试的策略和方法
3.人力物力资源的安排(角色及职责)
4.测试进度的安排(什么样的事情应该在那个时间点完成,由谁来做,产物等)
5.测试风险分析
6.停测标准
7.完成标准
5)测试计划应该完成那些目标?
1.合理的管理和组织测试资源
2.指导测试工作的正常进行
3.配合研发部门调整相关资源
6)测试设计阶段设计的是什么?
测试设计阶段的设计包括测试方案的设计和测试用例的设计,主要是做测试用例的设计。
7)什么是测试开发,测试开发过程中开发的是什么?
测试开发指的是在测试用例设计完成后,对测试用例中需要进行自动化测试的测试用例进行的脚本开发过程。
测试开发过程中开发的主要是测试脚本。
8)什么是测试执行?
测试执行过程中应该具备那些基础技能?
测试执行指依据测试用例运行测试脚本(自动化测试)或者运行被测对象,发现被测系统中的缺陷的过程。
在测试执行过程中一个合格的测试人员需要具有以下这些技能:
1.被测对象的操作能力,保证可以正确的运行和操作你的被测对象;
2.敏锐的观察能力,可以快速有效的识别BUG;
3.BUG确认能力
4.系统背景知识和相关业务知识
9)软件测试的两种方法是什么?
软件测试的两种方法是:
黑盒测试和白盒测试。
10)BUG确认的一般方法?
1.确认不是因为操作问题;
2.确认不是因为系统环境问题
3.确认不是配置问题
11)测试评估的主要内容是什么?
1.对软件需求评估
2.需求覆盖评估
3.基于代码的测试覆盖评估
4.软件性能评估
12)软件测试阶段分为那些?
1.需求审查
2.设计审查
3.程序审查
4.单元测试
5.集成测试
6.确认测试
7.系统测试
8.验收测试
13)如何确定单元测试中的“单元”?
1.采用面向过程开发的语言的系统单元可以是一个函数或者过程来组成;
2.采用面向对象技术开发的软件,单元可以是一个类或者一个类的示例等。
3.对于网页和用户窗口界面,单元可以是一个文字输入窗口或一个按钮
14)什么是回归测试?
回归测试的策略是什么?
回归测试就是验证发现的缺陷是否真正的被开发人员修复,同时测试是否由于代码的修改而引入新的缺陷。
回归测试的策略包括:
1.完全回归测试
2.基于风险评估的回归测试
3.基于缺陷修改的回归测试
3单元测试与集成测试
1)什么是白盒测试?
白盒测试是对软件的过程性细节多细致性的检查,是把测试对象看做是一个打开的盒子它允许测试人员利用程序内部的逻辑结构和相关信息设计或选择测试用例,对程序的所有逻辑进行测试,通过在不同点检查程序状态,确定程序的实际状态是否与预期状态相一致
注:
白盒测试又称为结构测试和逻辑驱动测试
2)白盒测试用例设计的方法有哪些?
1.语句覆盖
2.判定覆盖
3.条件覆盖
4.判定/条件覆盖
5.条件组合覆盖
6.路径覆盖
3)白盒测试的主要技术有哪些?
1.静态分析
2.动态分析
3.逻辑覆盖
4.基本路径测试
4)什么是静态测试,静态测试的主要方法?
静态测试是指在不运行被测对象情况下的测试;静态测试的方法主要有,以及编码规范和标准,对代码进行走查、审查和评审。
5)什么是动态测试,动态测试的主要方法?
动态测试指在运行被测对象情况下的一种测试方式。
动态测试的方法包括:
黑盒测试和白盒测试。
6)常见的白盒测试工具有哪些?
比如商业白盒测试工具IBM的PureCoverage、Purify、Quantify,开源工具:
JUnit、CppUnit、HttpUnit、NUnit等。
7)什么是集成测试,集成测试的关注点是什么?
集成测试是将通过单元测试的单元按照设计要求组合起来进行测试
集成测试关注的是模块与模块之间的接口问题
4系统测试测试过程
1)什么是系统测试,系统测试中常见的测试类型有哪些?
系统测试是将已经通过集成测试后的软件作为计算机系统的一部分与计算机硬件、某些支持的软件、数据、人员等元素结合起来在实际运行环境中对计算机系统进行严格有效,来发现软件潜在的缺陷,保障系统运行
系统测试的类型有:
功能测试、性能测试、裸机测试、BVT测试、安装卸载测试、安全性测试、兼容性测试、易用性测试、容错测试、配置测试
2)什么是功能测试,功能测试的测试要点是什么?
功能测试是指验证系统的功能是否满足用户需求的测试,功能测试的主要关注点是功能点和功能逻辑。
功能点是指某一个功能的具体实现的点包括页面上的设置输入设置等。
功能逻辑指需要完成的功能在系统执行过程中如何去实现,实现的是否正确符合需求。
3)功能测试和性能测试有哪些不同?
1.功能测试和性能测试关注的要点不一样,
功能测试主要关注系统在功能模块上的实现或者功能逻辑上的实现是否正确,是否存在问题。
性能测试关注系统执行的效率、响应速度、能够承受的负载等。
2.在测试方法上不一样
功能测试一般应用手工测试,也可以根据具体的情况应用自动化测试,功能自动化测试的主要技术要点是实现目标对象的识别,仿真用户的真实的鼠标和键盘的操作。
性能测试一般应用自动化测试手段,主要是通过协议的仿真来模拟多用户情况下,测试被测系统的响应情况。
4)什么是兼容性测试?
兼容性测试的测试要点是什么?
兼容性测试又叫做配置测试,是指测试软件在特别的硬件、软件、操作系统、网络等环境中是否能很好的运行。
测试的要点是1)软件之间兼容性2)数据之间兼容性3)硬件兼容性等
5)什么是UI?
一个优秀的UI通常包含哪些要素?
UI(UserInterface)用户界面
优秀的UI包括以下几个要素:
界面标准和规范、直观、一致、灵活、舒适、正确、实用等
6)什么是验收测试?
什么是α测试?
什么是β测试?
验收测试是验证系统能否达到用户需求说明书中的要求;
a测试是软件开发公司组织内部人员,模拟各类用户,对即将上市的软件产品进行测试,试图发现错误并修复的过程。
β测试是由软件的多个用户在实际使用环境中进行的测试,这些用户返回有关错误信息给开发者。
5测试用例设计
1)什么是测试用例?
测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行的最小实体;体现测试方案、方法、技术和策略。
内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,测试用例的目的是为测试某个程序路径或核实是否满足某个特定需求的一份指导测试有效执行的文档。
2)什么是黑盒测试?
黑盒测试用例设计方法一般有哪些?
这些测试方法如何综合应用?
是把测试对象看做一个打开的黑盒子程序员完全不考虑程序内部的逻辑结构和内部特征,只依据程序的需求规格说明书,检查程序的功能是否符合功能说明(黑盒测试又叫做功能测试或者数据驱动测试,所谓数据驱动是指它需要一组数据来验证功能的完善)
用例设计方法有:
等价类划分、边界值、因果图、功能图、场景分析、错误推测法
黑盒测试用例设计方法如何综合应用
1)一般情况下需要根据需求划分等价类进行分析;
2)然后根据等价类应用边界值方法设计测试用例;
3)应用错误推断法补充测试用例
4)如果输入和输出之间存在着很强的逻辑关系,一般应用因果图方法设计测试用例。
3)什么是测试方案,测试方案在测试过程中起到的作用是什么?
测试方案是一个对测试计划进行细化的文档,测试方案用来指导测试用例的设计,测试方案的内容包括细化测试目的、细化测试方法、细化测试环境、细化测试工具、细化测试范围。
测试方案在测试过程中的作用是:
实现对测试计划的细化,指导测试用例的设计。
4)测试用例在软件测试过程中起到的作用?
使用测试用例的好处?
1.指导测试的实施
2.规划测试数据的准备
3.编写测试脚本的“设计说明书”
4.评估测试结果的度量基准
5.分析缺陷的标准
好处
1.在开始实施测试之前设计好用例可以避免盲目测试,提高测试的效率
2.测试用例的使用令软件测试的实施重点突出,目的明确
3.在软件版本更新后只需要修改少量的测试用例即可开展测试工作,降低工作强度,缩短项目周期
5)测试用例设计的一般过程是什么?
1.测试需求分析
2.业务流程分析
3.测试用例设计
4.测试用例评审
5.测试用例完善
6.测试用例维护
6)测试用例的主要要素包含哪些?
软件名称、版本模块名称、功能特性、预置条件、用例编号、参考信息、用例说明、输入数据、预期结果、测试结果环境要求、特殊规程要求、缺陷编号。
7)测试用例设计的原则是什么?
1.测试用例的代表性
2.测试结果的可判定性
3.测试结果的可重现性
8)没有测试用例是否可以执行测试,如果可以测试工作应该如何展开?
9)在测试工作中如果没有需求及其相关文档测试工作是否可以进行,如果可以,应该如何进行?
6缺陷管理
1)什么是软件缺陷?
1.软件未达到产品说明书表明的功能
2.软件出现产品说明书指明不会出现的错误
3.软件产品功能超出说明书指明的功能
4.软件未到达产品说明书未指明但应该达到的目标
5.软件测试人员认为软件难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
2)软件缺陷一般分为哪些类型?
1.用户界面错误
2.程序的错误
3.计算错误
4.需求错误
5.外部错误
6.测试错误
3)缺陷可以划分为哪几种严重等级,分别是什么?
致命级:
造成崩溃、死机,并且不能通过其他方法实现功能;
“杀手锏“功能失效;
导致客户利益巨大损失的失效
严重级:
基本、重要功能无法实现;
操作安全方面存在漏洞;
系统缺少必要的负载限制导致大容量系统失效
一般级:
查询数据时,数据显示错误;
告警信息不全面,不准确;
次要功能失效
提示级:
界面不友好,操作不方便;
缺少必要的缺省信息;
错误提示不直观
4)缺陷的优先级有哪些?
分别简单描述?
缺陷的优先级可以分为高、中、低三个层次,高优先级的缺陷必须及时修改,不修改系统测试就不能进行下去,中优先及可以放在正常的BUG修改队列中进行修改;低有限级的缺陷可以在有时间的时候修改,如果时间紧张可以带在产品中进行发布。
5)一个缺陷中包含哪些要素?
分配给缺陷的ID号、对缺陷的详细描述、缺陷发生的条件、缺陷发生的次数、缺陷发生的现象、提示缺陷的测试ID号、执行测试的人、测试工作站ID号、发现缺陷的时间和日期、发生缺陷的计算机、硬件平台、发生缺陷的子系统、软件的版本号、缺陷发现的数据库、缺陷是否再现、缺陷的重要性、分配修改这个缺陷的优先级、其他
6)如何提交一份好的缺陷报告?
书面的、已编号的、易于理解的、可重现、易读、不要带有情绪化
7)一个缺陷的生命周期是什么?
状态如何转换?
New、Open、close、Fixed、rejected、Reopen等
1)当测试人员发现Bug时提交到Bug管理库,此时状态为New;
2)测试管理人员对New状态的缺陷进行评审,如果通过评审则为Open,如果不能通过评审则为:
Close;
3)研发人员对于Open状态的缺陷进行验证,如果认为确实是一个缺陷,则至为Fixed,如果认为不是一个缺陷则改变为:
Rejected;
4)测试人员对于置于Fixed的缺陷进行验证,如果缺陷真的被修改则置于:
close状态,如果没有修改则置于Reopen状态。
【全文结束】
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 技术 问题 总结