软件测试课后作业

软件测试课后作业

1、 论述关于软件测试的正反两方面观点所带来的利弊。
Myers观点:反
    测试不应该着眼于验证软件是工作的。相反,应该用逆向思维去发现尽可能多的错误。
    即,一个成功的测试必须是发现了软件问题的测试,否则测试就没有价值。
    '优点':能够发现不易发现的问题,使测试更具意义。
    '缺点':可能使测试人员容易忽视软件产品的某些基本需求或客户的实际需求,测试活动可能会存在一定的随意性和盲目
 
Bill Hetzel观点:正
    测试是试图证明软件是正确的
    '优点':能够引导程序按照预期的设想运行而建立足够的信心。
    '缺点':难以发现程序隐藏的错误。
    
利弊之分:人类的活动是有高度的目的性的。如果测试的目的是为了证明软件没有错误,人们就会在测试的时候,刻意选择一些易于通过的测试数据,不利于找出软件的问题。相反如果测试的目的是为了证明软件的错误,人们就会刻意的选择一些难以通过的测试的测试数据,这样的测试结果更有意义,对软件的提高有更大的帮助。
 
一方面通过测试来保证质量,另一方面又要改进测试方法和软件测试的效率,软件测试就是在这两者之间的平衡
2、 您认为优秀测试工程师应具备哪些素质要求。

(31条消息) 优秀测试工程师应该具有的基本素质_happmaoo的专栏-CSDN博客

(31条消息) 优秀的测试工程师应该具备哪些素质_测试熊的博客-CSDN博客_优秀的测试工程师应该具备哪些素质

(31条消息) 做一个优秀的软件测试工程师要具有哪方面的能力呢_ly930156123的博客-CSDN博客

责任感、
沟通能力、
技术能力、
自信心、
耐心、
怀疑精神、
适度的好奇心、
洞察力、
反向思维和发散思维能力
记忆力

    
p34
3、 简述软件缺陷产生的原因?
技术问题
	开发人员的技术限制、系统设计不能够全面考虑功能、性能和安全性的平衡
	刚开始采用新技术。解决和处理问题时不够成熟
	由于逻辑过于复杂,很难在第一次就将问题全部处理好
	系统设计不合理或是算法不够科学,造成系统性能低下
	接口参数太多,导致参数传递不匹配
	需求规格说明书的功能在技术上无法实现
	没有考虑系统崩溃后的自我恢复或数据的异地备份、灾难性恢复等需求,导致系统存在安全性、可靠性的隐患。
	一般情况下,对应的编程语言编译器可以发现这类问题;对于解释性语言,只能在测试运行时候发现
软件本身
	不完善的软件开发标准或开发流程
	文档错误、内容不正确或者拼写错误
	没有考虑大量数据使用场景,可能引起强度或负载问题
	对程序的逻辑路径或数据范围的边界考虑不够周全,漏掉某几个边界条件造成的问题。
	对一些实时应用系统,缺乏整体考虑和精心设计,忽视了时间同不得要求,从而引起系统各单元之间不协调、不一致性得问题
	与硬件、第三方系统软件之间存在接口或是依赖性
团队工作
	团队文化,如对软件质量不够重视
	系统分析时对客户的需求不是十分清楚,对客户需求的误解或理解不够全面
	不同阶段的开发人员互相理解不一致
	设计或变成上的一些假定或依赖性,没有得到充分沟通。

p19
4、 简述主动测试和被动测试及它们之间的区别?
'主动测试'
是指测试人员和被测程序系统直接交互,测试人员根据所要测试的目标,主动向被测程序系统发送特定的测试输入信息,同时检查程序的输出结果,看是否符合预期。
    
'被动测试'
是指被测程序系统运行在真实的环境之下,处于正常的工作状态,测试人员不干预被测程序的运行,只是被动地接收被测程序的输入和输出信息,然后通过分析来判断程序运行是否正常。

'区别'
主动测试中,测试程序及其配置和运行环境完全处在测试人员的控制之下,被测程序并不是处于正常的工作状态,而是处于被测状态;
主动测试中,测试人员必须花费大量的精力来设计可执行的测试用例;

被动测试不需要设计测试用例,可以长时间进行测试而无需人工干预,并且不影响被测试线的执行和运行环境;
被动测试需要我们对于结果进行充分的分析和判断;

5、 什么是黑盒测试?
也称为功能测试或数据驱动测试。程序视为一个不能打开的盒子,在完全不考虑'程序内部逻辑结构'和'内部特性'的情况下进行。
测试人员针对软件直接测试,
    检查系统功能
    是否按照'需求规格说明书'的规定正常使用、
    是否能适当的接收输入数据而输出正确的结果,
    检察相应的文档
    是否采用了正确的模板,是否满足规范要求。
6、 什么是白盒测试?
白盒测试也称结构测试或逻辑驱动测试,也就是已知产品的内部工作过程,清楚最终生成软件软件产品的'计算机程序结构'及其语句,按照程序内部的结构测试程序,测试程序内部的变量状态、逻辑结构、运行路径等,
	检验程序内部动作或运行
    是否都能按照预定要求正确工作,
    是否符合设计规格要求,所有内部成分是否按照规定正常运行
7、 简述逻辑覆盖的测试方法?
1.语句覆盖。 这个是起码要做到的覆盖了,程序里的每条可执行的语句都要至少执行一次。这个设计起来比较简单,用例数据很直观的就能看出来。但是语句里的判定,分支等就没什么意义了。可以说这样的 测试 是最低的要求了。

2.判定覆盖。 每个判断的真假分支至少执行一次,就是真要至少取一次,假要至少取一次。这个设计起来也不难,覆盖率要比语句覆盖高近乎一倍,但是也在判定语句中也会遗漏许多路径,因为每个条件的取值是不在考虑范围内的。

3.条件覆盖。 和判定覆盖思路一样,只是把重点从判定移动到条件上来了,每个判定中的每个条件可能至少满足一次,也就是每个条件至少要取一次真的,再取一次假的。同样它也会遗漏许多路径,条件取真假并不能满足判定也取到真假两次。

4.判定条件覆盖。 既然上面的判定和条件多是片面的,那么这个两个覆盖相结合是呼之欲出判定条件覆盖。它要求判断中的每个条件所有可能至少出现一次,并且每个判定本身的判定结果也要出现一次。不要以为这样就行了,要看看条件,条件和判定不一样,判定取真假就覆盖了判定,可是条件取真假两次完全不能满足条件的各种组合。所以才有了5~5.条件组合覆盖。 每个判定中条件的各种可能组合至少满足一次。条件各种可能都出现了,必然把判定给覆盖了,它覆盖了上面的4个哦,可是用例数量大大增加了!看项目情况定吧。

6.路径覆盖。 概念比较好理解,把所有可能路径至少都走一遍,但是用例数量可想而知le
 
	'白盒测试法'的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中'逻辑覆盖'包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
	六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈'由弱至强'的变化。语句覆盖每条语句至少执行一次。 判定覆盖每个判定的每个分支至少执行一次。条件覆盖每个判定的每个条件应取到各种可能的值。判定/条件覆盖同时满足判定覆盖条件覆盖。条件组合覆盖每个判定中各条件的每一种组合至少出现一次。路径覆盖使程序中每一条可能的路径至少执行一次。
    
p49
https://blog.csdn.net/weixin_44048668/article/details/115460791
8、 简述基本路径测试方法及实现步骤?
'基本路径测试法'是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法,设计出的测试用例要保证在测试中程序的语句覆盖100%,条件覆盖100%'实现步骤'1.根据程序设计结果导出程序流程图的控制流图;
流程图用来描述程序控制结构。可将流程图映射到一个相应的流图(对于菱形框内的复合条件,要拆分成单一条件)。在流图中,每一个圆,称为流图的结点,代表一个或多个语句。一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个结点,即使该结点并不代表任何语句(例如:if-else-then结构)。由边和结点限定的范围称为区域。计算区域时应包括图外部的范围

2.计算程序环路复杂度
环路复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。

3.导出基本路径集,确定程序的独立路径
每个圈与圈之间的连线便是一个独立路径,对于单进单出的节点可以使用连线代替。

4.根据独立路径,设计相应的测试用例
根据上面的独立路径,去设计输入数据。
   
https://www.cnblogs.com/bmilk/p/14243817.html    
9、 综合运用边界值分析法和等价类划分法设计相应的测试用例:输入三个参数作为边,分别满足一般三角形,等腰三角形和等边三角形。
'输入三个整数,判断是否构成有效的三角形,针对这个设计测试用例'
首先要设计满足三角形的条件,输入的三个数必须大于0,且同时满足任意两边之和大于第三边。

假设三条边是A/B/C,则要满足的条件为A>0B>0C>0A+B>C,A+C>B,B+C>A。
    
以此为例来进行设计即可 有效等价类:A>0B>0C>0

p39    
https://blog.csdn.net/Jeremy321321/article/details/105714505    
10、使用JAVA编写一个简单的程序,使用代码评审方式进行单元测试,代码评审有哪些方法?测试的主要内容有哪些?
代码评审有哪些方法:
	互查、走查、会议评审

测试的主要内容:
	1. '模块接口'测试:模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。
	2. '局部数据结构'测试:检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确,局部功能是整个功能运行的基础。
	3. '边界条件'测试:边界条件测试是单元测试中最重要的一项任务。众所周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。
	4. '模块中所有独立路径'测试:在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次
	5. '模块的各条错误处理通路'测试:程序在遇到异常情况时不应该退出,好的程序应能预见各种出错条件,并预设各种出错处理通路。

p102
11、单元测试,集成测试与系统测试的联系与区别是?
'单元测试':是指对软件中的最小可测试单元进行检查和验证
'集成测试':在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
'系统测试':将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际使用环境下,对计算机系统进行一系列的组装测试和确认测试的工作。
    
    
根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。体现了测试由小到大、由内至外、循序渐进的测试过程。

'单元测试'的粒度最小。
'集成测试'界于单元测试和系统测试之间,起到“桥梁作用”。
'系统测试'的粒度最大,主要测试系统是否符合“需求规格说明书”。
    	 系统测试同时也是在经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试。

通过定义,你应该可以看到区别
通过测试方法,内容,由小到大,你可以可以看到他们之间的联系
    
p95
12、简述黑客,白客和黑客及它们之间的区别。
'黑客'指研究智取计算机安全系统的人员。利用各种方法,在未经许可的情况下,载入对方系统的被称为黑帽黑客,威胁计算机的信息安全。
'白客'是相对立于“黑客”的。是指那些在网络世界中打击黑客的来保护人们的信息安全的网络人员,他们利用高超的计算机技术帮助企业或者个人保障他们的信息安全
    
'区别'1、性质不同
黑客在现代主流社会,是具有贬义的词语,黑客常常利用计算机技术做一些非法的事;
白客是相对立于“黑客”的,它是“黑客”的反义词。是指那些在网络世界中打击黑客的来保护人们的信息安全的网络人员;

2、起源不同
黑客一词,源于英文Hacker,最初指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员;
白客就是指从事正当行业的黑客,也就是对网络有很深的了解,并且不骚扰别人。

3、影响不同
黑客因为从事违反犯罪的事情,通常会对社会造成危害;白客也是维护网络秩序的技术人员,是值得肯定的。

13、根据GBT/25000.10标准,简述性能质量特性的主要内容及测试要求?
6个特性(功能性、性能效率、易用性、可靠性、维护性、可移植性)
	兼容性、信息安全性、是GBT/25000.51-2016新增加
	
测试要求
    1、功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含要求的功能的能力
    2、可靠性:在指定条件使用时,软件产品维护规定的性能级别的能力
    3、可用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力
    4、效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力
    5、可维护性:软件产品可被修改的能力。包括纠正、改进或对环境、需求和功能规格说明变化的适应
    6、可移植性:软件产品从一种环境迁移到另外一种环境的能力
	
p17	
http://www.cnitpm.com/pm/6274.html
14、 根据GBT/25000.10标准,简述信息安全性质量特性的主要内容及测试要求?
测试要求
	信息安全性一般划分为以下6个子特性:保密性、完整性、抗抵赖性、可核查性、真实性、信息安全性的依从性
    
    保密性
		要求:产品或系统确保数据只有在被授权时才能被访问的程度。
    完整性
    	要求:系统、产品或组件防止'未授权访问、篡改计算机程序或数据'的程度。
    抗抵赖性
		要求:活动或事件发生后可以被'证实且不可被否认'的程度。
    可核查性
		要求:实体的活动可以被'唯一地追溯'到该实体的程度。
    真实性
		要求:对象或资源的'身份标识'能够被证实符合其'声明'的程度。
    信息安全性的依从性
		要求:产品或系统遵循与'信息安全性'相关的'标准、约定或法规以及类似规定'的程度。
    
 
https://github.com/Chaceshadow/Chaceshadow.github.io/blob/4a6091c1055854bf18b99b8ad22b238e4a76324e/source/_posts/The-Security-of-Software-Evaluation.md
15、 用户界面测试有哪些要素?
符合标准和规范
直观性
一致性
灵活性
舒适性
正确性
实用性

p193
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值