软件测试基本知识Word文档下载推荐.docx
《软件测试基本知识Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件测试基本知识Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
初始级
Ø
在初始级,企业一般不具备稳定的软件开发与维护的环境。
常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。
第二级:
可重复级
在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。
基于过往的项目的经验来计划与管理新的项目。
第三级:
定义级
在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。
同时,这些过程是集成到一个协调的整体。
这就称为企业的标准软件过程。
第四级:
定量管理级
在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。
作为企业的度量方案,要对所有项目的重要的过程活动进行生产率和质量的度量。
软件产品因此具有可预期的高质量。
第五级:
优化级
在这个等级,整个企业将会把重点放在对过程进行不断的优化。
企业会采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。
同时,分析有关过程的有效性的资料,作出对新技术的成本与收益的分析,以及提出对过程进行修改的建议。
7.【基础题】测试工作的基本原则?
✧所有的软件测试都应追溯到用户需求
✧应当把“尽早地和不断地进行软件测试”作为软件测试者地座右铭
✧完全测试是不可能的,测试需要终止
✧测试无法显示软件潜在的缺陷
✧充分注意测试中地群集现象
✧程序员应避免检查自己地程序
✧尽量避免测试的随意性
8.【中等题】测试工具分类及常用测试工具?
功能测试工具—QTP
性能测试工具—LoadRunner
测试管理工具—TestDirector
白盒测试工具—Nunit,Junit,C++Test,JTest,BoundsChecker,Logiscope
第三章缺陷管理
1.【基础题】缺陷的严重等级划分与描述?
严重:
系统崩溃、数据丢失、数据毁坏
较严重:
操作性错误、错误结果、遗漏功能
一般:
小问题、错别字、UI布局、罕见故障
建议:
不影响使用的瑕疵或更好的实现
2.【基础题】缺陷的优先级别划分与描述?
最高优先级:
立即修复,停止进一步测试
次高优先级:
在产品发布之前必须修复
中等优先级:
如果时间允许应该修复
最低优先级:
可能会修复,但是也能发布
3.【中等题】缺陷的严重等级和优先级别之间的关系?
一般地,严重等级高的软件缺陷具有较高的优先级。
严重等级高说明缺陷对软件造成的质量危害性大,需要优先处理,而严重等级低的缺陷可能只是软件不完美,可以稍后处理。
严重等级高优先级不一定高。
这有两种情况:
一种是如果某个严重的软件缺陷只在非常极端的条件下产生,则没必要马上解决;
还有一种情况是,如果修正一个软件缺陷需要修改软件的整体架构,可能会产生更多潜在的缺陷,而且软件由于市场压力必须尽快发布,那么即使缺陷严重等级很高,是否要修复还需要全盘考虑。
严重等级低优先级不一定低。
比如软件名称或公司名称拼写错误,虽然属于界面错误,严重等级不高,但是关系到软件和公司的市场形象,必须尽快修正。
由此可见,缺陷严重级别和优先级之间没有必然的联系。
实际操作时要根据具体情况来判断缺陷严重级别和优先级。
4.【中等题】缺陷的一般处理流程?
第四章测试方法
1.【基础题】黑盒测试方法有哪些?
等价类划分法,边界值分析法,因果图法,判定表驱动法,决策表法,错误推测法,
正交试验法,功能图法,场景法。
2.【基础题】简述黑盒测试的综合策略?
首先应用场景法画出被侧软件的总体业务流程。
然后针对某个具体页面或模块进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有效测试,这是减少工作量和提高测试效率最有效的方法。
在任何情况下都必须使用边界值分析方法。
经验表明,用这种方法设计出的测试用例发现程序错误的能力最强。
可以用错误推测法追加一些测试用例,这需要依靠测试工程师的智慧和经验。
对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。
如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法和判定表驱动法。
对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。
功能图法也是很好的测试用例设计方法,我们可以通过不同时期条件的有效性设计不同的测试数据。
3.【基础题】等价类划分法中等价类分为有效等价类和无效等价类
4.【基础题】场景法中流程分为基本流和备选流。
5.【基础题】因果图法中基本状态有恒等非或与,约束条件有E(互斥)I(包含)
O(唯一)R(要求)M(屏蔽)
第五章测试策略
1.【基础题】常见的测试策略有哪些?
界面测试
功能测试
易用性测试
安装卸载测试
兼容性测试
数据库测试
可靠性测试
安全性测试
文档测试
2.【基础题】Web应用测试的功能测试主要测试哪几个方面?
链接测试
表单测试
Cookies测试
设计语言测试
3.【基础题】Web应用测试的性能测试主要测试哪几个方面?
连接速度测试
压力测试
负载测试
4.【基础题】Web应用系统客户端兼容性测试主要测试哪几个方面?
平台测试
浏览器测试
5.【提高题】Web应用系统的安全性测试区域主要有哪些?
现在的Web应用系统基本采用先注册,后登录的方式。
因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登录而直接浏览某个页面等
Web应用系统是否有超时的限制,也就是说,用户登录后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登录才能正常使用
为了保证Web应用系统的安全性,日志文件是至关重要的。
需要测试相关信息是否写进了日志文件、是否可追踪
当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性
服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。
所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题
6.【中等题】数据库测试包括哪些方面?
数据库容量测试,包含大容量测试和大记录量测试
数据完整性测试,包括主键,外键,数据类型,长度,索引等合理性的测试
7.【中等题】兼容性测试包括哪些方面?
硬件兼容性,包括CPU,内存,硬盘,打印机等测试
软件兼容性,包括操作系统,浏览器,数据库,以及其他软件等兼容性测试
8.【基础题】界面测试包括哪些方面?
整体界面测试,包括易用性,规范性,合理性,美观与协调,一致性
界面元素测试,包括窗口,菜单,图标,鼠标,文字,辅助系统等
第六章测试分类
1.【基础题】分别解释什么是单元测试、集成测试、系统测试、验收测试以及它们之间的关系?
单元测试中,单元是认为规定的最小的被测功能模块,其具体含义需要根据实际情况来判定。
如:
在C语言中单元一般指一个函数;
在Java中单元一般指一个类;
在图形化软件中单元也可以指一个窗口或一个菜单。
单元测试的依据主要有两个:
一是源程序本身,包括代码和注释;
还有一个是项目的《详细设计》文档。
集成测试是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试。
重点测试不同模块的接口部分,检查各个单元模块结合到一起能否协同配合,正常运行。
集成测试一般由白盒测试工程师或开发人员进行。
集成测试应该在单元测试之后进行。
但实际项目中,如果等到所有单元测试都完成再进行集成测试则效率太低,所以往往单元测试和集成测试同步进行。
也即是:
在单元测试中先测试几个单元的自身功能,然后再集成测试一下这几个单元的接口(即参数传递)。
集成测试的依据是单元测试的模块以及《概要设计》文档。
集成测试之后,就进行系统测试。
系统测试是为了验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试。
系统测试是在真实或模拟系统运行的环境下,检查完整的程序系统是否能和系统(包括硬件、外设、网络和系统平台、支持平台等)正确配置、连接,并满足用户需求等。
系统测试将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
主要依据是《系统需求规格说明书》文档。
验收测试是指按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,用户决定是接收或拒收系统。
验收测试在系统测试后期进行,以用户测试为主,或者有测试人员等质量保障人员共同参与的测试。
它是软件正式交给用户使用的最后一道工序。
2.【中等题】什么是α测试和β测试?
α测试指的是由用户、测试人员、开发人员等共同参与的内部测试
β测试指的是内测后的公测,即完全交给最终用户测试
3.【基础题】功能测试分为哪几种?
逻辑功能测试
安装测试
4.【提高题】性能测试主要有几种并逐一解释?
时间性能:
主要指软件的一个具体事务的响应时间
空间性能:
主要指软件运行时所消耗的系统资源
一般性能测试:
指的是让被测试系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试
稳定性测试:
也叫可靠性测试,是指连续运行被测系统,检查系统运行时的稳定程度
负载测试:
指让被测试系统在其能忍受压力的极限范围之内连续运行,来测试系统的稳定性
压力测试:
指持续不断给被测试系统增加压力,直到将被测试系统压垮为止,用来测试系统所呢承受的最大压力
5.【提高题】分别解释什么是回归测试、冒烟测试、随机测试?
回归测试是指对软件的新的版本测试时,重复执行上个版本测试时的用例。
回归测试可以用在任何测试阶段进行,既有黑盒测试的回归,也有白盒测试的回归。
冒烟测试就是先保证系统能跑的起来,不至于让测试工作做到一半突然出现错误导致业务中断。
目的就是先通过最基本的测试,如果最基本的测试都有问题,就直接打回开发部了,减少测试部门时间的浪费。
随机测试是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性错误。
在实际项目中,一般都是先做大规模正规测试,再辅助一些随机测试。
随机测试可能发现一些隐蔽的错误,但是无法统计代码覆盖率和需求覆盖率,很难进行回归测试。
我们应该先做正规测试,如果时间允许的话,再辅助一些随机测试。
第七章测试管理
1.【中等题】简述需求分析的任务?
确定对系统的综合要求(功能需求,性能需求,出错处理需求,接口需求,约束,将来可能提出的需求)
分析系统的数据要求(软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化)
导出系统的逻辑模型(分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型)
修正系统开发计划(根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划)
2.【基础题】测试过程会产生哪些文档?
测试计划
测试用例
缺陷报告
测试总结报告
3.【基础题】测试计划应包含哪些内容?
对测试范围的界定
(在有时间约束,工作产品质量约束的情况下,唯一能够调整就是测试范围)
对风险的确定
(项目中总是有不确定的因素。
这些因素一旦发生之后记录对项目的顺利执行产生相当大的消极影响。
所以在项目中,首先需要识别出存在的风险。
风险识别的原则可以有很多,常见的一种就是如果一件事情发生后,会对项目的进度产生较大影响,那么就可以把该事件作为一个风险。
风险识别出之后,管理者需要按照这些风险制定出规避风险的方法)
对资源的规划
(确定完成任务需要消耗的人力资源,物资资源)
时间表的制定
(在识别出子任务和资源之后,我们便可以将任务,资源和时间关联起来形成时间进度表)
4.【基础题】编写测试计划应该注意哪些事项?
增强测试计划的实用性
(在制定测试计划时一定要注意针对实际项目、实际情况制定一个实用的计划,以便指导和规划整个测试过程)
明确内容与过程
(明确测试的范围和内容,测试的目的,测试的开始和结束日期,给出测试文档和软件的存放位置,测试人员的分配,指出测试的方法和工具)
采用评审和更新机制,保证测试计划满足实际需求
(评审是指需要采取相应的评审机制对测试计划的完整性、正确性、可行性进行评估)
分别创建测试计划和测试策略
(有时为了避免测试计划篇幅过长,重点不突出,也可把测试策略从测试计划中分离出来,单独撰写一个文档)
5.【中等题】测试总结报告的作用是什么?
说明编写目的,范围,参考资料,专业术语的定义
指明实际进行的测试工作内容与测试计划中预先设计的内容之间的差别,说明作出这种改变的原因
描述软件测试的结果和发现
确定软件的功能能力和缺陷
给出建议和评价
总结测试资源的消耗
测试总结也即是测试评估,是软件测试生命周期的最后一个环节。
在这一环节里面,测试主管需要对测试的过程和结果一个系统的评价,判定软件产品能否最终发布或是交给用户进行验收。
第八章TestDirector
1.【基础题】TestDirector的总体管理流程?
SpecifyRequirements:
分析并确认测试需求。
PlanTests:
依据测试需求制定测试计划。
ExecuteTests:
创建测试实例并执行。
TrackDefects:
缺陷跟踪和管理,并生成测试报告和各种测试统计图表。
2.【中等题】TestDirector确认需求阶段的流程?
DefineTestingScope:
定义测试范围阶段,包括设定测试目标、测试策略等内容。
CreateRequirements:
创建需求阶段,将需求说明书中的所有需求转化为测试需求。
DetailRequirements:
详细描述每一个需求,包括其含义、作者等信息。
AnalyzeRequirements:
生成各种测试报告和统计图表,来分析和评估这些需求能否达到设定的测试目标。
3.【中等题】TestDirector制定测试计划的流程?
DefineTestingStrategy:
定义具体的测试策略。
DefineTestSubjects:
将被测系统划分为若干个分等级的功能模块。
DefineTests:
为每一个模块设计测试集,也就是测试实例。
CreateRequirementsCovrage:
将测试需求和测试计划作一个关联,使测试需求自动转化为具体的测试计划。
DesignTestSteps:
为每一个测试集设计具体测试步骤。
AutomateTests:
创建自动化测试脚本。
AnalyzeTestPlan:
借助自动化生成得测试报告和统计图表来分析和评估测试计划。
4.【中等题】TestDirector执行测试的流程?
CreateTestSets:
创建测试集,一个测试集可以包含多个测试项。
ScheduleRuns:
制定执行方案。
RunTestResults:
借助自动生成的各种报告和统计图表来分析测试的执行结果。
5.【基础题】TestDirector缺陷跟踪的流程?
AddDefects:
添加缺陷报告。
质量保障人员、开发人员、项目经理、最终用户,都可以在测试的任何阶段添加缺陷报告。
ReviewNewDefects:
分析评估新提交的缺陷,确认哪些缺陷需要解决。
RepairOpenDefects:
修复状态为Open的缺陷。
TestNewBuild:
回归测试新的版本。
AnalyzeDefectData:
通过自动生成的报告和统计图表进行分析。
第九章自动化测试
1.【基础题】业务组件(或组件):
一种易于维护且可重复使用的单元,该单元包含执行特定任务的一个或多个步骤。
业务组件可能需要来自外部源或其他组件的输入值,并可向其他组件返回输出值。
2.【基础题】业务流程测试:
由一系列业务组件组成的场景,用于测试应用程序的特定业务流程。
3.【中等题】下列哪种方法不能用来在不同的Action之间进行值的传递(B)
A.利用ActionParameters功能
B.把变量放入datatable
C.自定义环境变量(Test>
Settings>
Environment)
D.使用全局变量
4.【基础题】在下列哪个对话框中可进行录制页面或应用程序地址设定(B)
A.Settings
B.RecordandRunSettings
C.Option
D.EditerOption
5.【基础题】常用的五种检查点类型为:
标准检查点、图像检查点、表检查点、页面检查点、文本/文本区域检查点
6.【中等题】创建RecoveryScenario需要以下几步:
SelectTriggerEvent、RecoveryOprations、Post-RecoveryTestRunOptions、NameAndDescriptions、Save
7.【中等题】关键字视图包括以下几列:
Item、Operation、Value、Assignment、Comment、Document
8.【基础题】在VBScript中,返回一个字符串在另一个字符串中位置的函数为:
instr(string1,string2)
9.【基础题】QTP中对象识别机制是什么?
QTP识别对象有两种方式:
第一种:
QTP可通过录制或添加的方式将对象的属性及对应属性值存放在对象库中。
在脚本回放时,QTP会查找与对象库中记录最相符合的对象实行操作。
第二种:
如果使用对象本身的接口来识别对象,QTP不通过对象库,而是直接根据脚本中对于对象属性及属性值的描述来查找符合的对象并执行操作。
这种方式也就是我们所熟知的描述性编程。
10.【基础题】请简述使用QTP进行自动化测试的优点?
快速
QuickTest运行测试比实际用户快得多。
可靠
测试每次运行时都会准确执行相同的操作,因此消除了人为的错误。
可重复
您可以通过重复执行相同的操作来测试网站或应用程序的反应。
可编程
您可以编写复杂的测试来找出隐藏的信息。
全面
您可以建立一套测试来测试网站或应用程序的所有功能。
可重用
您可以在不同版本的网站或应用程序上重复使用测试,甚至在用户界面更改的情况下也不例外。
11.【提高题】QTP如何连接到QualityCenter项目?
请写出详细描述步骤
1)选择“工具”>
“QualityCenter连接”,或单击“QualityCenter连接”工具栏按钮
。
将打开“QualityCenter连接”对话框。
2)在“服务器”框中,键入安装有QualityCenter的Web服务器的URL地址。
注意:
您可以选择可通过局域网(LAN)或广域网(WAN)访问的Web服务器。
3)在“服务器连接”区域中,单击“连接”。
建立与服务器的连接后,服务器名将以只读格式显示在“服务器”框中。
4)在“域”框中,选择包含QualityCenter项目的域。
5)在“项目”框中,选择要使用的项目。
6)在“用户名”框中,键入用于打开选定项目的用户名。
7)在“密码”框中,键入选定项目的密码。
8)在“项目连接”区域中,单击“连接”,将QuickTest连接到选定项目。
建立到选定项目的连接后,“项目连接”区域中的字段将以只读格式显示。
9)要在下次打开QuickTest时自动重新连接到QualityCenter服务器和选定项目,请选中“启动时重新连接”复选框。
如果没有选中“启动时重新连接”复选框,则下次尝试创建或打开业务组件或应用程序区域时,系统将提示您连接到QualityCenter项目。
10)如果选中了“启动时重新连接”复选框,则“保存启动时重新连接使用的密码”复选框处于启用状态。
要保存启动时重新连接使用的密码,请选中“保存启动时重新连接使用的密码”复选框。
如果不保存密码,则启动过程中在QuickTest连接到QualityCenter时将提示您输入密码。
当首次连接到QualityCenter服务器时,QuickTest将在您的QualityCenter项目中设置默认的BusinessProcessTesting文件夹和文件。
11)单击“关闭”以关闭“QualityCenter连接”对话框。
状态栏中将显示QualityCen