一.软件测试目标与测试对象是什么
目标:尽可能早一些找出软件缺陷,并确保其得以修复。&
1.在给定时间内时限内尽可能多的发现缺陷和隐患
2.证实给定的软件产品满足其需求规格说明
3.用最低的成本和投入确认软件测试的质量
4.建立高质量的测试用例,完成有效的测试,提交有用的问题报告
5.为软件开发过程的改进提供数据支持
测试对象:软件测试并不等于程序测试。软件测试应该贯穿整个软件定义与开发整个期间。因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试的对象。
在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中表现出来。
二.什么是大爆炸模式,边写边改模式,螺旋模式?软件测试员为什么喜欢螺旋模式?
大爆炸模式:计划、进度安排和正规开发过程几乎没有,所有的精力几乎都花在开发软件和编写代码上。假如产品需求无需很好理解,而且最终的发布日期可以随便更改,这
样的开发过程很理想。
多数情况下,大爆炸模式几乎没有什么测试。假如有的话,也要挤在产品发布前进行。尽量避免在此情况下进行测试。
边写边改模式:是项目的默认开发模式。这种方法,最初只有粗略的想法,接着进行一些简单的设计,然后开始漫长的来回编写、测试和修改缺陷的过程。等到觉得足够了,就发布产品。及其适合意在快速制作且用完就扔的小项目。
测试在边写边改模式中未特别强调,但是在编写代码和修复缺陷过程中举足轻重。
螺旋模式:一开始不必定义所有细节。从小开始,定义重要功能,努力实现这些功能,接受客户反馈,然后进入下一阶段。重复上述步骤,直到得到最终产品。
软件测试员喜欢该模式,因为通过参与最初的设计阶段,可以尽早的影响到产品,可以把产品的来龙去脉弄得很清楚;并且在项目末期,不至于在最后一分钟还在匆匆忙忙的进行全面测试。软件测试员的测试一直都在进行,所以最后一步只是一个验证表面所有的部分都没有问题。 PS:瀑布模式:从最初构思到最终的产品要经过一系列的步骤。每一个步骤结束时,项目小组组织审查,并决定是否进入下一步。如果项目未准备好进入下一步,则停滞下来直到准备好。测试仅在最后一步进行。
三.采用边写边改模式时,如何得知软件发布的时间?
边写边改模式没有真正的退出标准,除非某人或者进度决定该结束了。
作为边写边改的项目的软件测试员,需要和程序员一样清醒的认识到自己将陷入无休止的循环往复。几乎每一天都会拿到新的软件版本着手进行测试。当新版本出来时,旧版本的测试可能尚未完成,而新版本还可能包含新的或者经历过修改的功能。最后,终于有机会对几乎所有功能进行测试了,并且发现软件缺陷越来越少,这时某人(或者进度)决定该发布软件了。
四.名词解释
精确、准确:精确注重稳定性,如飞镖紧紧聚在一起,准确注重命中率。
确认、验证:确认是保证软件符合产品说明书的过程;验证是保证软件满足用户要求的过程。
测试与质量保证:测试是找出软件缺陷并确保缺陷得以修复;质量保证是创建和执行改进软件开发过程并防止软件缺陷发生的标准和方法。
五、有没有质量很高但可靠性很差的产品?请举例说明。
有可能,但是它取决于客户对质量的期望。不少人购买高性能跑车,认为提速、时速、式样、舒适度和装饰好就是高质量。此类汽车一般可靠性差,经常抛锚,修理费用昂贵,而车主不把可靠性差当做严重的质量问题。
六、假如周一测试软件的某一功能,每小时发现一个新的软件缺陷,你认为周二将会以什么样的频率发现软件缺陷?
这里有两个基本因素。首先——余下的软件缺陷与发现的软件缺陷成正比例——意味
着周二不会比周一的情况好多少。其次,杀虫剂现象表明,除非增加新的测试,否则反复执行同样的测试,不会发现不同的新软件缺陷。综合这两个软件要素,可能发现软件缺陷的速度继续保持原有的频率,甚至更低。
七、什么是黑盒测试、白盒测试?什么是静态测试、动态测试?
黑盒测试、白盒测试:在黑盒测试中,软件测试员只需知道软件要做什么——而无法看到盒子里的软件是如何运行的。只要进行一些输入,就能得到某种输出结果。黑盒测试又称功能性测试或行为测试。
在白盒测试中,软件测试员可以访问程序员的代码,并通过检查代码的线索来协助测试——可以看到盒子里面。测试员根据代码检查结果判断或多或少可能出错的数目,并据此定制测试。
静态测试、动态测试:静态测试是指测试不运行的部分——只是检查和审核;动态测试是指通常意义上的测试——使用和运行软件。
八、软件测试员可以根据产品说明书进行白盒测试吗?
是的,白盒测试就是使用如何设计影响如何测试的概念进行的。测试员可以参加焦点人群、易用性研究和市场会议,了解用于定义功能特性和整个产品的过程。但是这存在一定的风险,因为这些信息诱使测试员倾向于假定说明书是正确的。
九、解释软件测试员应该担心下述产品说明的哪些内容:尽管通常连接不超过一百万个,但是该软件允许多达一亿个并发连接。
可测试性。典型应用只有一百万个倒无关紧要。如果产品说明书声明有一亿种可能性,那么,一亿个连接都要测试。测试员需要设法测试这么多可能性,或者让说明书作者把最大可能性降低到接近典型应用的数目。
十、什么是等价类划分?什么是边界条件?什么是次边界条件?
等价类划分是指分步骤地把海量(无限)的测试用例集减得很小,但过程同样有效。等价类划分是指选择测试用例的方法,有时称为等价分类。
一个等价类或者等价划分是指测试相同的目标或者暴露相同软件缺陷的一组测试。
在寻找等价划分时,考虑把软件具有相似输入、相似输出、相似操作的分在一组。这些组就是等价划分。
边界条件是指软件运行在计划操作界限的边界的情况。
次边界条件(内部边界条件)是指有些边界在软件内部,最终用户几乎看不到,但是软件测试员仍有必要进行检查的边界条件。
十一、状态图
十二、什么是重复测试,压迫测试与重负测试?
重复测试是不断执行同样的操作。最简单的是不停地启动、关闭程序。还可以反复读写数据或者反复选择同一操作。
压迫测试是使软件在不够理想的条件下运行——内存小、磁盘空间少、CPU运行速度慢、调制解调器速率低等。观察软件对外部资源的要求和依赖程度。压迫测试就是将支持降到最低限度,目的在于尽可能地软件的必要条件。
重负测试与压迫测试相反。压迫测试是尽量软件,而重负测试是尽量提供条件任其发挥。让软件处理尽可能大的数据文件。最大限度的发掘软件的能力,让它不堪重负。时间也是一种重负测试。
十三、判断是非:在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。
对。该技术称为探索测试,基本上把软件用做产品说明书。这不是理想的过程。但是急了也能用。最大的风险是不知道特性是否被遗漏。
十四、.判断是非:在进行压迫测试的同时进行重负测试是不合情理的。
错。任何测试都是合理的。软件测试员的任务是发现软件缺陷。但是,由于软件测试的实质,在这种情况下发现的任何缺陷可能都不会修复。
十五、说出进行静态白盒测试的几个好处。
静态白盒测试在开发过程早期发现软件缺陷,使修复的时间和费用大幅降低。软件测试员可以得到软件如何运作的信息,存在哪些弱点和缺陷,而且可以与程序员建立良好的伙伴关系。项目状态可以传达给参与测试的所有小组人员。
十六、缓冲区溢出错误作为一个常见的安全问题属于哪一级错误?是由什么原因引起的?
数据引用。它们是由于使用了未正确声明或未进行初始化的变量、常量、数组、字符串或记录。
十七、动态白盒测试和调试有何区别?
这两个过程存在交叉。但是动态白盒测试的目的是为了发现软件缺陷,而调试的目的是修复软件缺陷。在分离和查找软件缺陷原因是发生交叉。
十八、测试桩和测试驱动有何差别?
测试桩用于自顶向下的测试。它用自己替换低级模块。其对于要测试的高级代码,外表和行为就像低级模块一样。
测试驱动和测试桩相反,用于自底向上的测试。它是代替高级软件,更有效地运行低级模块的测试代码。
十九、在本章描叙的三种代码覆盖中,哪一种最好?为什么?
条件覆盖是最好的。因为它综合了分支覆盖和语句覆盖,它保证决策逻辑中的所有条件(例如if-then语句等),以及来自这些语句的所有分支和代码行都得到验证。
二十、什么是代码覆盖?什么是程序语句和代码行覆盖?什么是分支覆盖?什么是条件覆盖?
代码覆盖测试是一种动态白盒测试。它测试程序的状态以及程序流程,设法进入和退出每一个模块,执行每一行代码,进入软件每一条逻辑和决策分支。
程序语句和代码行覆盖是代码覆盖最直接的形式。如果在测试软件的同时监视语句覆盖,目标就是保证程序中每一条语句最少执行一次。
试图覆盖软件中的所有路径称为路径覆盖。路径测试最简单的形式称为分支覆盖测试。
条件覆盖测试将分支语句的条件考虑在内。
二十一、什么是单元测试与集成测试?
在底层进行的测试被称为单元测试或者模块测试。单元经过测试,底层软件缺陷被找出并修复之后,就集成在一起,对模块的组合进行集成测试。
二十二、工具与自动化之间有何差别?
测试工具有助于测试,简化手工完全测试任务。自动化也是一种工具,但是它的执行不需要人工干预。想一想在木匠呼呼大睡时电锯和钉锤能盖好房子吗?
二十三、测试计划的目的是什么?
为了解释IEEE 829的定义,测试计划的目的是定义测试活动的范围、方法、资源和进度,明确要测试的条目,要测试的功能特性,要执行的测试任务,每个任务的负责人,以及与计划相关的风险,简而言之,使项目小组其他成员在测试小组如何测试软件上取得一致。
二十四、说出软件缺陷可能不修复的几个原因
进度中没有安排足够的时间,或不是软件缺陷,或修复风险太大不值得修复,以及软件缺陷没有正确报告。
二十五、什么是软件缺陷生命周期的3个基本状态和2个附加状态?
基本状态为打开、解决和关闭。两个附加状态是审查和推迟。
二十六、软件缺陷的分类
常用的方法是给软件缺陷划分严重性和优先级。
严重性表示软件缺陷的恶劣程度,当用户碰到该缺陷时影响的可能性和程度。
1系统崩溃、数据丢失、数据毁坏、安全性破坏。
2操作性错误、结果错误、功能遗漏。
3小问题、拼写错误、UI布局、罕见故障。
4建议。
优先级表示修复缺陷的重要程度和紧迫程度。
1立即修复,阻止了进一步测试,立竿见影。
2在产品发布之前必须修复。
3如果时间允许应该修复。
4可能会修复,但即使有产品也能发布。
二十七、如果某公司在软件中编入ISO 9000-3标准,那么它的CMM级是多少?为什么?
它们可能处于CMM3级,也许达到CMM4级的某些要求。它们的CMM级不是2级,因为2级只到项目级。3级达到整个组织或者公司级。4级开始运用统计控制。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务