软件测试-第二章-习题
- 格式:ppt
- 大小:712.50 KB
- 文档页数:14
题目:下列选项中叙述错误的是()。
选项A:对每个测试级别,需在相应开发活动过程中进行相应的测试分析和设计选项B:每个开发活动都有相对应的测试行为选项C:每个测试级别都有其特有的测试目标选项D:软件测试的工作重点应该集中在系统测试上答案:软件测试的工作重点应该集中在系统测试上题目:对于软件的β测试,下列描述正确的是()。
选项A:β测试是在软件公司内部展开的测试,由公司非专业测试人员执行的测试。
选项B:β测试是在软件公司内部展开的测试,由公司专业测试人员执行的测试。
选项C:β测试是在软件公司外部展开的测试,可由非专业测试人员执行的测试。
选项D:β测试是在软件公司外部展开的测试,由专业测试人员执行的测试。
答案:β测试是在软件公司外部展开的测试,可由非专业测试人员执行的测试。
题目:关于测试充分性的描述,正确的是()。
选项A:只有进行完全的测试才充分。
选项B:当全部测试用例都执行完后。
选项C:当继续测试没有发现新缺陷时。
选项D:在有限时间和资源条件下,找出所有的软件的错误,使软件趋于完美,是不可能的。
答案:在有限时间和资源条件下,找出所有的软件的错误,使软件趋于完美,是不可能的。
题目:下列选项中不属于黑盒测试特点的是()。
选项A:黑盒测试可用于软件测试的各个阶段选项B:黑盒测试可以检查出程序内部结构的错误选项C:黑盒测试用例设计可与软件实现同步进行选项D:黑盒测试与软件具体实现无关答案:黑盒测试可用于软件测试的各个阶段题目:下述说法正确的是()。
选项A:穷举路径测试可以查出程序中因遗漏路径而产生的错误选项B:白盒测试又称为“逻辑驱动测试”选项C:一般而言,黑盒测试对结构的覆盖比白盒测试要高选项D:必须根据软件需求说明文档生成用于白盒测试的测试用例答案:白盒测试又称为“逻辑驱动测试”题目:广义的软件测试包括:()。
选项A:需求评审、设计评审、单元测试和综合测试选项B:确认、验证和测试选项C:需求测试、单元测试、集成测试和验证测试选项D:单元测试、集成测试、系统测试和用户测试答案:确认、验证和测试题目:下列选项中,可以作为组件测试的测试对象是()。
第一章测试1.测试Plan包含下面的内容()。
A:确定项目管理机制、预计测试工作量、测试计划评审B:确定测试范围、确定测试策略、确定测试标准、确定测试架构、确定项目管理机制、预计测试工作量、测试计划评审C:确定测试范围、确定测试策略、确定测试标准、预计测试工作量D:确定测试架构、确定项目管理机制、预计测试工作量、测试计划评审答案:B2.()不属于测试计划。
A:测试预期输出B:测试资源C:测试进度D:环境需求答案:A3.Test 计划起到了()的作用。
A:其他都是B:使测试工作更加系统化C:使项目参与人员沟通更舒畅D:使测试工作顺利进行答案:A4.制定test plan时不需要考虑()A:与开发人员没有达成一致B:测试时间不足C:用户不参与D:坚持”5W”规则答案:D5.下面对the flow of software testing 的描述,哪个是正确的?()A:制定测试计划->设计测试方案及测试用例->部署实施测试->执行测试->缺陷跟踪管理->测试总结报告B:制定测试计划->设计测试方案及测试用例->执行测试->部署实施测试->缺陷跟踪管理->测试总结报告C:制定测试计划->部署实施测试->设计测试方案及测试用例->执行测试->缺陷跟踪管理->测试总结报告D:部署实施测试->制定测试计划->设计测试方案及测试用例->执行测试->缺陷跟踪管理->测试总结报告答案:A第二章测试1.设计framework要根据项目需求进行适当change。
()A:对B:错答案:A2.场景分析原则中的E代表()A:用户体验B:使用时间C:必要性D:功能交互答案:A3.性能相关问题常发生在()。
A:子系统层B:功能层C:用户层D:应用层答案:D4.系统安全性作用于()。
A:功能层B:底层C:接口层D:用户层答案:D5.功能测试类型不包括()A:异常处理及容错性B:业务场景测试C:业务功能覆盖D:可维护性测试答案:D第三章测试1.为了提高软件测试的效率,应该()A:在完成编码以后制定软件的测试计划B:随机地选取测试数据C:选择发现错误可能性最大的数据作为测试用例D:取一切可能的输入数据作为测试数据答案:C2.进行软件测试的关键问题是()。
软件测试技术(习题卷2)第1部分:单项选择题,共56题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]( )。
在两种模型的基础上,螺旋模型加入两者所忽略的风险分析,这两者是( )A)瀑布模型和增量模型B)瀑布模型和快速原型模型C)喷泉模型和增量模型D)喷泉模型和快速原型模型答案:B解析:2.[单选题]下列关于软件测试策略的叙述中不正确的是( )。
A)增量测试的主要问题在于需要额外编写很多特殊的测试程序B)静态测试与动态测试都要执行程序C)Myers认为自底向上测试的方法要优于自顶向下测试的方法D)软件性能测试的目标之一是提高性能答案:B解析:3.[单选题]在( )阶段开始进行系统性能测试。
A)验收测试B)单元测试C)系统测试D)集成测试答案:C解析:4.[单选题]下列关于软件缺陷处理说法错误的是( )。
(选择一项)A)只要是发现的缺陷都要提交缺陷报告,不论是否可重现B)一个缺陷的编号在整个生命周期中可能变化C)已经关闭的缺陷可能会由于某种原因而重新打开D)如果发现的缺陷全部属于一个开发人员,则这些缺陷可以写在一个缺陷报告中答案:D解析:5.[单选题]采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。
以下关于产生这些文档的描述中,正确的是()A)外部设计评审报告在概要设计阶段产生B)集成测试计划在程序设计阶段产生C)系统计划和需求说明在详细设计阶段产生D)在进行编码的同时,独立地设计单元测试计划答案:D解析:C)路径测试D)用户界面测试答案:A解析:7.[单选题]在测试计划审核通过后,需要通过以下几个阶段来完成该测试,除了( )。
A)测试设计B)测试评估C)测试预测D)测试执行答案:C解析:8.[单选题]Excel软件可用于()A)文字处理B)电子表格处理C)设计程序D)幻灯片制作答案:B解析:9.[单选题]在重大活动期间,我很少会紧张A)强烈同意B)同意C)不同意D)最不同意答案:A解析:10.[单选题]我倾向于快速决策A)强烈同意B)同意C)不同意D)最不同意答案:D解析:11.[单选题]下列说法中错误的是( )。
第一章软件测试基础课后习题答案1.什么是软件测试?软件测试发现一个应用从开始到结束时的错误,测试是一个过程。
(Glenford J.Myers 提出对软件测试的定义)测试是发现错误而执行的一个程序或系统的过程测试以发现故障为目的,是为了发现故障而执行程序过程2.软件测试涉及哪几个关键问题?软件测试的经济性原则谁来测试(who)测试什么(what)什么时候测试(when)怎样进行测试(how)测试的停止标准是什么(which)3.为什么说软件需求说明是软件故障的最大来源?软件需求是描述了系统有哪些功能,功能操作,性能如何等问题,是开发阶段的重要文档,也是后期软件开发的重要依据。
如果软件需求一开始就错了,在后面处理过程则会把错误放大,这样使得修复起来成本就是提升。
4.简述软件测试的复杂性和经济性。
复杂性1.完全测试是不现实的2.软件测试是有风险的3.杀虫剂现象4.缺陷的不确定性经济性软件测试是软件生命期中费用消耗最大的环节。
测试费用除了测试的直接消耗外,还包括其他的相关费用5.分析最近发生的软件质量事故,并简要分析产生的原因。
具体案例具体分子6.启动Windows计算器,输入“6,000-6=”(逗号不能少),观察计算结果,这是软件故障吗?为什么?这是软件故障中的界面缺陷。
由于无法输入逗号,无法进行输入,当做一个界面缺陷,因为不符合需求,原本是小数点变成了逗号。
7.软件测试应遵循哪些重要的原则或方针?1.完全测试程序是不可能的2.软件测试是有风险的3.测试无法找到隐藏的软件故障4.存在的故障数量与发现的故障数量成正比5.杀虫剂现象6.并非所有软件故障都能修复7.一般不要丢弃测试用例8.应避免测试自己编写的程序9.软件测试是一项复杂且具有创造性的和需要高度智慧的挑战性任务8.假定无法完全测试某一程序,那么在决定是否应该停止测试时应考虑哪些问题?在工作中,常用的停止测试标准有五类:测试超过了预定时间,停止测试执行了所有测试用例但没有发现故障,停止测试使用特定的测试用例方法作为判断测试停止的基础正面指出测试完成要求,如发现并修改70个软件故障根据单位是见查出故障数量决定是否停止测试9 . 假如星期一测试软件的某一功能时,每小时能发现一个新的软件故障,那么星期二会以什么频率发现软件故障?第一感觉就是与第一天(星期一)的一样,既然前一天发现的频率以每小时都有新的故障,说明软件的缺陷很高,所以第二天也可能有同样的频率。
第一章软件质量保证练习答案1、软件质量的定义?软件质量是软件产品满足使用要求的程度。
对于软件质量的衡量,就是高质量的软件系统能够准时地交付给用户,所耗费的成本不超出预算,并且最重要的是,能够正常地运行。
“正常地运行"意味着该软件必须尽可能没有缺陷(bug)。
2、软件质量保证的定义?软件质量保证是一系列系统性的活动,它提供开发出满足使用要求产品的软件过程的能力证据。
3、质量控制中的测试技术有哪些?想一想各自的适用情况。
审查(Inspection):软件的一种基本测试方法,它以一系列典型问题为依据进行检测。
走查(Walkthrough):一对一的审查,比审查更加仔细。
回顾(Review):以发现软件中存在的错误和缺陷为目的的一种软件测试方法,它是在软件证实执行之前完成。
4、SDLC各阶段的文档有哪些,各自的质量目标是什么?请参照学生用书3-5页,对于各阶段的目标,抓住主要的要点。
5、质量计划的手段和技巧分别有哪些?A、效益成本分析B、基本水平标准C、流程图,包括因果图、系统程序流程图等D、试验设计6、质量控制的手段和技巧分别有哪些?有以下控制的手段和技巧:检验、控制表、排列图、抽样调查统计、流程图和趋势分析等。
作业答案1、判断是非:好的测试员不懈追求完美。
错。
好的测试员知道何时完美无法企及,何时达到“够好"。
2、有没有质量很高但是可靠性很差的产品?请举例说明。
有可能,但是它取决于客户对质量的期望。
不少人购买高性能跑车,认为提速、时速、式样、舒适度和装饰好就是高质量。
此类汽车一般可靠性差,经常抛锚,修理费用昂贵,而车主不把可靠性差当作质量问题。
3、请思考,可能完全测试程序吗?除了极短小的简单程序,完全测试需要太多的输入、输出和分支组合。
此外,软件说明书也许不客观,可以用多种方式解释.4、在学习完本章后,判断下列哪种方法会减少成本:a、让客户去找缺陷b、发现缺陷而不是预防它们c、预防缺陷而不是发现它们d、忽视小的缺陷答案:c第二章测试技术练习答案1.对2.错3.代码4.功能5.归纳法、演绎法和回溯法。
第二章练习题一、判断题1. 软件的模块数越少,其软件成本越低。
错2. 软件模块之间的耦合性越弱越好。
对3. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
对4. 耦合是指一个模块内各个元素彼此结合的紧密程度。
错5. 过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。
错6. 在设计模块时,其宽度和深度要适当。
对7. 模块耦合的强弱取决于模块间接口的复杂程度。
对二、名字解释:1. 抽象:抽象是认识复杂现象过程中使用的思维工具,即抽象出事物本质的共同特性而暂时不考虑其他的细节,不考虑其他因素。
2. 模块化:模块化是指解决一个复杂问题自顶向下逐层把软件系统划分成为若干模块的过程。
每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个要求的功能。
3. 逐步求精:4. 耦合:耦合也成模块叫联系,指软件系统结构中各模块间相互联系紧密程序的一种度量。
5. 内聚:内聚又称块联系。
指模块功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量6. 模块独立:模块独立想指每个模块只完成系统要求的独立的子功能,并且与其他模块联系最少且接口最简单。
7. 信息隐蔽:信息隐蔽在设计和确定模块时,使得一个模块内包含信息,对于不需要这些信息的其他模块来说事不能访问的。
三、选择题10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( B)。
BA. 隐藏复杂性B. 信息隐蔽C. 经常类的复用D. 类的开发20、为了提高模块的独立性,模块内部最好是( C )CA、逻辑内聚B、时间内聚C、功能内聚D、通信内聚33、从心理学角度看,一次大模块分解为多少个子模块为宜。
(B )BA、3±1B、7±2C、15±1D、18±238、软件设计启发规则不包括( C )CA、在耦合方式上降低模块间接口的复杂性B、模块功能应该可以预测C、将模块的控制域保持在其作用域内D、设计单入口单出口的模块40、为了提高模块的独立性,模块之间的联系最好的是(D)。
习题二软件测试基本技术(静态分析)1.在代码检查过程中,发现大部分错误的人通常是()。
A.程序员B.测试员C.审查者D.架构师2.桌面检查(Desk Checking)是一种()的检查方法。
A.程序员自己检查自己编写的程序B.有同行帮忙检查自己编写的程序C.几个同行自行组成小组,以小组为单位检查编写的程序D.程序员在桌子上检查编写程序的活动3.下列选项中,不属于桌上检查的检查项目是()。
A.等价性检查B.检查子程序、宏、函数C.功能检查D.风格检查4.下列选项中,不属于静态错误分析的是()。
A.类型和单位分析B.功能分析C.引用分析D.表达式分析5.在代码检查的准备阶段和检查会议阶段都据有发现产品错误责任的是()。
A.检查人员B.开发人员C.协调人员D.讲解员6.下列检查项目中不属于风格检查的是()。
A.编程标准B.变量命名C.结构化程序设计D.命名规则7.下列叙述中,说法正确的是()。
A.桌上检查的文档是最后要公开的文档B.桌上检查是一个完全没有约束的过程,所以通常效率会比较低。
C.代码检查是程序员自己检查自己的程序D.桌上检查最好由程序的编写人员来完成8.在对程序代码进行静态分析时,要生成各种引用表,这些引用表按功能可分为()。
A.为用户提供辅助信息的B.直接从表中查出说明/使用错误C.用来做错误预测和程序复杂性计算D.以上全部9.下列引用表是为用户提供辅助信息的是()。
A.函数引用表B.变量交叉引用表C.循环层次表D.操作符统计表10.在代码检查中,负责提供关于检查项目的资料并回答检查人员问题的角色是()。
A.协调员B.开发人员C.检查人员D.讲解员11.走查的主要目标有()。
○1发现缺陷、遗漏和矛盾的地方○2改进产品○3考虑可替换的实现方法A.○1和○2B.○1和○3C.○2和○3D.○1、○2和○312.通常走查小组中,程序编写者占()个。
A.0 B.1C. 2 D.不确定13.走查程序中的静态分析技术用到调用图,通过调用图我们不可以做的是()。
第一章1 采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。
以下关于产生这些文档的描述中,正确的是(B)A.外部设计评审报告在概要设计阶段产生B.集成测试计划在程序设计阶段产生C.系统计划和需求说明在详细设计阶段产生D.在进行编码的同时,独立地设计单元测试计划2 瀑布模型表达了一种系统的、顺序的软件开发方法。
以下关于瀑布模型的叙述中,正确的是(D)A.瀑布模型能够非常快速地开发大规模软件项目B.只有很大的开发团队才使用瀑布模型C.瀑布模型已不再适合于现今的软件开发环境D.瀑布模型适用于软件需求确定,开发过程能够采用线性方式完成的项目3软件生存周期过程中,修改错误代价最大的阶段是A:需求阶段B:设计阶段C:编程阶段D:发布运行阶段4下列有关测试过程V模型的说法中,正确的是(B)A:验收测试应确定程序的执行是否满足软件设计的要求B:功能测试应确定系统功能是否达到系统要求的指标C:单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求D:集成测试在编码结束前就可以开始5 V模型指出,(47/A)对程序设计进行验证,(48/D)对系统设计进行验证,(49/C)应当追朔到用户需求说明。
(47)A.单元和集成测试B.系统测试C.验收测试和确认测试D.验证测试(48)A.单元测试B.集成测试C.功能测试D.系统测试(49)A.代码测试B.集成测试C.验收测试D.单元测试6渐增式开发方法有利于(B)A.获取软件需求B.快速开发软件C.大型团队开发D.商业软件开发7 下列关于极限测试的说法中,正确的是(D)A:极限测试是一种新型的测试方法,传统的测试技术均不适用于极限测试B:极限测试中所有的测试均是由编码人员完成的C:与传统的软件测试相比,极限测试是一种更严格的测试D:极限测试需要频繁地进行单元测试8 Myers在1979年提出了一个重要观点,即软件测试的目的是为了(B)A:证明程序正确B:查找程序错误C:改正程序错误D:验证程序无错误10下列有关软件测试的叙述中,正确的是(D)A:测试是软件开发中一个单独的阶段,其目的是对已实现的程序编码进行正确性检验B:一个成功的测试能够验证程序的确做了它应该做的事情C:根据80/20的原则,优秀的软件开发人员所编写的程序错误少,因此对于他们的程序,重点不应放在缺陷测试上D:在软件过程的早期寻找尽可能多的错误符合软件测试的原则11软件测试员究竟做些什么。
《软件测试技术》习题参考答案第1章软件测试基础一、判断题1、验证意味着确保软件正确无误地实现软件的需求,开发过程是沿着正确的方向进行。
(T )2、调试的目的是发现bug。
(F )3、软件缺陷主要来自产品说明书的编写和产品方案设计。
(T )4、在实际的软件测试工作中,不论采用什么方法,由于软件测试情况数量极其巨大,都不可能进行完全彻底的测试。
(T )5、测试人员可以不懂编程。
( F )二、选择题1、软件是程序和(B )的集合。
A、代码B、文档C、测试用例D、测试2、严重的软件缺陷的产生主要源自(A)。
A、需求B、设计C、编码D、测试3、Fixed的意思是指:( C )A、该BUG没有被修复,并且得到了测试人员的确认B、该BUG被拒绝了,并且得到了测试人员的确认C、该BUG被修复了,并且得到了测试人员的确认D、该BUG被关闭了,并且得到了测试人员的确认4、降低缺陷费用最有效的方法是(B )。
A、测试尽可能全面B、尽可能早的开始测试C、测试尽可能深入D、让用户进行测试5、以下不属于应用系统中的缺陷类型的是:( B )。
A、不恰当的需求解释B、用户指定的错误需求C、设计人员的习惯不好D、不正确的程序规格说明三、简答题1、请简述一条软件缺陷(或者叫Bug)记录都包含了哪些内容?2、请简述软件测试的定义?第2章软件测试类型一、判断题1、软件测试的目的是尽可能多的找出软件的缺陷。
( T )2、好的测试方案是极可能发现迄今为止尚未发现的错误。
(T )3、测试人员要坚持原则,缺陷未修复完坚决不予通过。
( F )4、负载测试是验证要检验的系统的能力最高能达到什么程度。
( F )5、V模型不能适应较大的需求变化。
( T )二、选择题1、测试环境中不包括的内容是( A )A、测试所需文档资料B、测试所需硬件环境C、测试所需软件环境D、测试所需网络环境2、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证:(1)经过自己测试的软件今后不会再出现问题(2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结(3)承诺不需要其他人员,自己就可以独立进行测试工作(4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证( D )A、(1)(4)是正确的B、(2)是正确的C、都是正确的D、都是错误的3、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。
第一章引论3、软件测试与开发的关系是怎样的为什么这么说答:软件测试和软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标:按时、高质量的完成项目。
【补充题】补1、软件测试要在编程完成后才能开始,这种观点对吗说明原因。
答:P11补2、V模型,测试阶段与开发阶段的对应关系。
答:P11第二章软件测试的基本概念2、如何理解软件质量和软件缺陷的对立统一关系答:P14缺陷是质量的对立面,要了解什么是缺陷(defect),就必须清楚“质量(Quality)”概念,因为缺陷是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷。
5、需求分析、系统设计所存在的问题在软件缺陷中占有较大比例,对软件开发和测试工作有何启发答:P21要尽早发现需求工程、软件设计等各个方面的问题,减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。
【补充题】补1、根据统计数据,缺陷发现越早,修复缺陷的代价越小,这种现象对于软件测试有什么启示(P20)第三章软件测试方法3、针对国内18位身份证号验证,通过等价类划分法设计测试用例。
解:(1)等价类划分表(1)输入40088,覆盖(1)(7)(9)(12);2)输入4009X,覆盖(2)(7)(9)(12);3)输入4009,覆盖(3);4)输入400999,覆盖(4);5)输入AB0203C,覆盖(5)(6);6)输入000000,覆盖(8);7)输入40099,覆盖(10);8)输入40099,覆盖(11);9)输入40099,覆盖(13)。
6、针对程序流程图(图略),用最少的测试用例完成各种逻辑覆盖和路径覆盖的测试设计。
解题要点:分别回答语句覆盖、判定覆盖、条件覆盖、路径覆盖。
其中:前三种逻辑覆盖可以用同样的两个测试用例覆盖(假设图中向右分支为True分支;如果标注向右分支为False分支,语句覆盖可以用一个用例);路径覆盖需要三个用例(两个判定均为True的路径不可能覆盖)。
第一章软件测试理论一、选择题1.软件测试的目的是C。
A.表明软件的正确性B.评价软件质量C.尽可能发现软件中的错误D.判定软件是否合格2.下面关于软件测试的说法,A是错误的。
A.软件测试是程序测试B.软件测试贯穿于软件定义和开发的整个期间C.需求规格说明、设计规格说明都是软件测试的对象D.程序是软件测试的对象3.某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测试工作;④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休;你认为应聘者甲的保证B。
A.①、④是正确的B.②是正确的C.都是正确的D.都不正确4.软件测试的对象包括B。
A.目标程序和相关文档B.源程序、目标程序、数据及相关文档C.目标程序、操作系统和平台软件D.源程序和目标程序5.导致软件缺陷的原因有很多,①-④是可能的原因,其中最主要的原因包括D。
①软件需求说明书编写的不全面,不完整,不准确,而且经常更改②软件设计说明书③软件操作人员的水平④开发人员不能很好的理解需求说明书和沟通不足A.①、②、③B.①、③C.②、③D.①、④二、简答题1.简述软件测试发展的历史及软件测试的现状。
参考答案:软件测试是伴随着软件的产生而产生的。
在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。
到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。
在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA或者SQA部门。
后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。
2、假设你要开发一个软件,它的功能是把73624.9385这个数开平方,所得到的结果应该精确到小数点后4位。
一旦实现并测试完之后,该产品将被抛弃。
你打算选用哪种软件生命周期模型?请说明你做出这样选择的理由。
解答:采用瀑布模型。
原因:软件需求明确,不必使用快速原型模型获取用户的真正需求。
软件的功能简单,不必使用增量模型和螺旋模型。
3、假设你要为一家生产和销售长筒靴的公司开发一个软件,该产品将监控该公司的存货:跟踪从购买橡胶开始,到靴子生产,发货到各个连锁店,直至卖给顾客的全过程。
你在为这个项目选择生命周期模型时使用什么准则?解答:采用螺旋模型。
原因:螺旋模型可以降低产品不能满足用户需求的风险,也可以逐步取得明确的需求,逐步的完善。
4、列出在开发上一题所述软件产品的过程中可能遇到的风险。
你打算怎样排除这些风险?解答:1)需求不明确,在明确需求的过程中延误交工期限。
排除:利用快速原型法,选好快速开发工具,对用户的需求变更做出快速反应,及早确定最后需求。
2)需求越提越多,无法按照计划及时定下需求。
排除:帮助用户对需求进行分析,确定下来近期完成的主要功能。
其它附加功能和次要功能可在升级版本中体现。
确保项目的顺利开展。
3)开发人员不熟悉业务。
排除:在和用户确定需求的过程中,及时向用户请教业务相关的知识,同时也可以请用户针对与业务流程或专业术语进行专门的培训。
5、你为靴类连锁店开发的存货监控软件(见第三题)很受用户欢迎,你所在的软件开发公司决定把它重新写成一个通用软件包,以卖给各种生产并通过自己的连锁店销售产品公司。
因此,这个新产品必须是可移植的,并且应该能够很容易地适应新的运行环境(硬件或操作系统),满足不同用户的需求。
你在选择生命周期模型时使用的准则与在第三题中使用的准则有哪些不同?解答:应采用喷泉模型。
原因:喷泉模型是典型的面向对象生命周期模型。
具有较好的可移植性,容易适应各种运行环境,满足不同用户的需求。