软件测试面试(题带答案)

合集下载

软件测试面试问答题及答案

软件测试面试问答题及答案

软件测试面试问答题及答案
1、请根据”V”模型分别概述测试人员在软件的需求定义阶段、设计阶段、编码阶段、系统集成阶段的工作任务及其相应生成的文档?
需求定义阶段:根据工程需求提取测试需求并形成测试需求文档,根据提取的测试需求和工程方案进展测试方案的拟定,测试方案文档,设计:根据测试需求拟订测试方案并形成测试方案文档;根据测试方案制定测试用例,并形成测试用例文档,编码阶段:执行测试并完善测试用例文档,系统集成阶段:测试总结报告,阶段问题统计报告,测试问题报告
2、怎样衡量一个测试用例的质量?
测试的覆盖率,功能点,性能,风险等
3、集成测试的集成顺序有哪些?如何选择?
4、考察软件的平安可靠性时,一般从那些方面来判断?
5、列举你用过的自动化工具并说明用测试自动化工具有什么好处。

速度快,效率高,可靠性好,能按标准及标准执行
6、如果一个软件不能继续测试下去,在停顿测试之前,需要考虑哪些问题?
7、如果一个界面没有明显的对与错,怎么开始测试?
看界面的美观,易用性等
8、你认为一个好的测试工程师应具备那些素质?
善于发现问题,能很好的与同事沟通,
9、一个输入框,要求输入一个1-8位的标识符做为系统系统唯一标志,怎样设计测试用例?
10、请根据下面的交互模型写出一测试用例。

软件测试人员面试笔试题及答案

软件测试人员面试笔试题及答案

软件测试笔试试题一、单选题1.关于HTTP协议中状态码的表示,下列说法错误的是( A)A.1**:表示服务器错误B.2**:表示请求成功地接收C.3**:表示重定向D.4**:表示客户端错误2.在Linux中.要解包bugzilla.tar.gz并详细报告tar命令处理的文件名,应使用命令(A )A.tar –xvzf bugzilla.tar.gz B.tar –cvzf bugzilla.tar.gzC.tar –cvzf bugzilla.tar.gz D.tar –cxvf bugzilla.tar.gz3.有如下C程序#include <stdio.h>void main(){int n;int s = 0;int t = 1;for( n = 1 ; n <= 20 ; n++){_______s += t;}printf(“%d\n”, s);}若使该程序实现计算1!+ 2!…….+20!的功能,则在程序横线上应填语句(D )A.n*=tB. n=n*(n-1)C. t=t*(n-1)D. t*=n;4.有如下IP地址(1)192.168.1.1 (2)10.10.0.0 (3)165.100.0.0 (4)202.255.0.255 则下列说法中正确的是(C )A.(1)是C类地址可以直接出现在互联网上B.(2)是A类地址,主机号为0.0,不可以直接出现在互联网上C.(3)是B类地址,不可以直接出现在互联网上D.(4)是D类地址,不可以直接出现在互联网上5. 下列常用的测试用例设计技术中,不属于白盒测试技术的是(D )A.信息流分析法B.数据流分析法C.逻辑覆盖测试和基本路径测试D.状态图法6、关于冒烟测试,下列说法错误的是(C )。

A.冒烟测试指软件经过修改后,对其关键功能进行的测试B.为防止出现时间、人力的浪费,在通过冒烟测试后系统方可进入全面测试阶段C.进行冒烟测试时,需要返测上一版本中所有已知的缺陷。

软件测试工程师面试题目以及答案

软件测试工程师面试题目以及答案

软件测试工程师面试题目以及答案软件测试工程师面试题目和答案1、开发犯低级错误怎么办?开发首先要规范好编码,出低级错时不要指责,内心指出错误。

让他们自己进行测试,反思找出错误。

2、你进行过哪些测试,擅长什么?我主要从事web测试,搭建环境,对程序进行集成测试、系统测试、回归测试。

还有编写测试用例,使用手册,功能测试文档。

单元测试:测试的最早期阶段,焦点在于被测软件的最小的组成部分。

集成测试:确保最小单元被(部分)整合后能正常操作的测试执行阶段系统测试:当应用作为整体运行时的测试执行阶段(测试最终的应用)回归测试:修改了旧代码后,重新进行测试以确认修改操作没有引入新的错误或导致其他代码产生错误。

验收测试:以用户为主,由用户参加设计测试用例,对程序的功能、性能,以及可移植性、兼容性、可维护性、错误的恢复功能等进行确认。

主要运用黑盒测试的方法,对系统主要流程、重要功能进行有效性测试,验证所测试的软件是否满足需求规格说明书列出的要求3、开发说不是bug怎么办?将自己的见解告诉开发,不行就把见解和bug提交项目经理决定。

4、你的职业规划?巩固基础测试知识,提高理解需求能力。

学习自动化测试,并且运用。

技术到位后学习带领测试团队。

最后争取达到测试经理水平。

5、什么测试用例才是合格?能覆盖到所有测试点6、缺陷测试报告组成?缺陷编号、缺陷标题、缺陷描述、缺陷优先程度、缺陷所属模块、缺陷所属版本、缺陷所属开发人员、输入数据、输出结果、缺陷分析等。

C/S模式,使用交替方法确认是client还是server端问题。

7、测试用例包括哪些?用例编号、测试项描述、操作步骤、输入、预期结果、实际结果、测试人、测试时间、备注8、软件评审的人员和目的人员:客户、项目经理、开发人员、测试人员目的:查看软件是否还存在问题。

是否在不同平台正常运行,是否有和客户理解不一致的地方,是否有改进的地方9、什么是软件测试?目的?使用人工或自动化手段运行程序,为了发现软件的错误而执行检验的一个过程目的:以最少的人力、物力、时间找到软件中的缺陷并修改,从而回避风险。

软件测试面试题及答案【史上最全】

软件测试面试题及答案【史上最全】

软件测试⾯试题及答案【史上最全】以下是软件测试相关的⾯试题及答案,欢迎⼤家参考! 1、你的测试职业发展是什么? 测试经验越多,测试能⼒越⾼。

所以我的职业发展是需要时间积累的,⼀步步向着⾼级测试⼯程师奔去。

⽽且我也有初步的职业规划,前3年积累测试经验,按如何做好测试⼯程师的要点去要求⾃⼰,不断更新⾃⼰改正⾃⼰,做好测试任务。

 2、你认为测试⼈员需要具备哪些素质 做测试应该要有⼀定的协调能⼒,因为测试⼈员经常要与开发接触处理⼀些问题,如果处理不好的话会引起⼀些冲突,这样的话⼯作上就会不好做。

还有测试⼈员要有⼀定的耐⼼,有的时候做测试很枯燥乏味。

除了耐⼼,测试⼈员不能放过每⼀个可能的错误。

 3、你为什么能够做测试这⼀⾏ 虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个⼯作的,因为做软件测试不仅是要求技术好,还有有⼀定的沟通能⼒,耐⼼、细⼼等外在因素。

综合起来看我认为我是胜任这个⼯作的。

 4、测试的⽬的是什么? 测试的⽬的是找出软件产品中的错误,是软件尽可能的符合⽤户的要求。

当然软件测试是不可能找出全部错误的。

 5、测试分为哪⼏个阶段? ⼀般来说分为5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试 6、单元测试的测试对象、⽬的、测试依据、测试⽅法? 测试对象是模块内部的程序错误,⽬的是消除局部模块逻辑和功能上的错误和缺陷。

测试依据是模块的详细设计,测试⽅法是采⽤⽩盒测试。

 7、怎样看待加班问题 加班的话我没有太多意见,但是我还是觉得如果能够合理安排时间的话,不会有太多时候加班的。

 8、结合你以前的学习和⼯作经验,你认为如何做好测试。

 根据我以前的⼯作和学习经验,我认为做好⼯作⾸先要有⼀个良好的沟通,只有沟通⽆障碍了,才会有好的协作,才会有更好的效率,再⼀个就是技术⼀定要过关,做测试要有⾜够的耐⼼,和⼀个良好的⼯作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试⼯作。

 9、你为什么选择软件测试⾏业 因为之前了解软件测试这个⾏业,觉得他的发展前景很好。

软件测试面试(题带答案)

软件测试面试(题带答案)

企业面试题试卷 测试基础 附带答案软件测试试述软件的概念和特点?软件复用的含义?构件包括哪些?1.瀑布模型和螺旋模型的主要区别是什么?2.3.软件生存周期及其模型是什么?什么是软件测试?软件测试的目的与原则4.净室软件工程的策略是什么?5.软件配置管理的作用?软件配置包括什么?6.什么是软件质量?软件包是什么?7.目前主要的测试用例设计方法是什么?8.软件的安全性应从哪几个方面去测试?9.1、 答案如下:a)软件是计算机系统中与硬件相互依存的另一部份,它是包括程序、文档的完整集合。

是将已有软件的各种有关知识用于建立新的软件, b)软件复用(Software Reuse)以缩减软件开辟和维护的花费。

软件复用是提高软件生产力和质量的一种重要技术。

早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开辟经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。

可以被复用的软件成份普通称作可复用构件c)2、 答案如下:页的讲解,参考一下书上的说法进行对照即可。

考参照TP书上第六章45/46a)虑弹性、风险、成本,等几个方面。

3、 答案如下:a)软件生存周期是软件开辟全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。

在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,b)直到最后由于缺少维护费用而逐渐消亡。

这样的一个过程,称为”生命周期模)。

型”(Life Cycle Model4、 答案如下:a)使用人工或者自动手段,来运行或者测试某个系统的过程。

其目的在于检验它是否满足规定的需求或者弄清预期结果与实际结果之间的差别。

软件测试的目的:b)测试是程序的执行过程,目的在于发现错误i.一个成功的测试用例在于发现至今未发现的错误ii.一个成功的测试是发现了至今未发现的错误的测试iii.确保产品完成为了它所承诺或者发布的功能,并且用户可以访问到的功能都有明iv.确的书面说明。

软件测试面试题及答案

软件测试面试题及答案

软件测试面试题及答案在软件测试领域中,面试常常是一个关键的环节。

面试官会通过提问,以了解面试者对软件测试的理解、经验和技能水平。

本文将介绍一些常见的软件测试面试题,并给出相应的答案。

一、基础知识类面试题1. 什么是软件测试?答:软件测试是指通过设计测试用例,运行测试用例并分析测试结果,以评估软件系统是否满足预期要求的过程。

2. 软件测试的目的是什么?答:软件测试的目的是发现软件系统中的缺陷,并确保软件的质量和可靠性,以满足用户的需求和期望。

3. 请介绍一下软件测试的生命周期。

答:软件测试的生命周期包括测试计划、测试设计、测试执行和测试评估四个阶段。

在测试计划阶段,制定测试策略和测试计划;在测试设计阶段,根据需求和设计文档编写测试用例;在测试执行阶段,运行测试用例并记录测试结果;在测试评估阶段,评估测试结果并生成测试报告。

4. 请解释一下黑盒测试和白盒测试的区别。

答:黑盒测试是基于软件功能需求的测试,测试者不需要了解软件系统内部的实现细节;白盒测试是基于软件内部结构的测试,测试者需要了解代码实现和程序逻辑。

5. 什么是单元测试?答:单元测试是对软件系统中最小的可测试单元进行的测试,如函数或模块。

它的目的是验证这些单元在独立运行时的正确性。

二、测试方法与技巧类面试题1. 请列举一些常见的软件测试方法。

答:常见的软件测试方法包括黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、功能测试、性能测试、压力测试、安全测试等。

2. 请解释一下边界值分析和等价类划分。

答:边界值分析是一种测试方法,通过测试边界值和边界值附近的输入数据,来检测潜在的错误;等价类划分是一种测试方法,将输入数据划分为若干等价类,选择代表性的测试数据代表每个等价类进行测试。

3. 请解释一下冒烟测试。

答:冒烟测试是针对软件系统的主要功能或核心功能进行的初步测试,其目的是确认主要功能是否可用,以决定是否进行后续的详细测试。

4. 请介绍一下自动化测试的优势和限制。

软件测试面试(题带答案)

软件测试面试(题带答案)

公司面试题试卷测试基础附加答案软件测试1.试述软件的观点和特色?软件复用的含义?构件包含哪些?2.瀑布模型和螺旋模型的主要差异是什么?3.软件生计周期及其模型是什么?4.什么是软件测试?软件测试的目的与原则5.净室软件工程的策略是什么?6.软件配置管理的作用?软件配置包含什么?7.什么是软件质量?软件包是什么?8.当前主要的测试用例设计方法是什么?9.软件的安全性应从哪几个方面去测试?1、答案以下:a)软件是计算机系统中与硬件互相依存的另一部分,它是包含程序、文档的完整会合。

b) 软件复用 (Software Reuse) 是将已有软件的各样有关知识用于成立新的软件 , 以减少软件开发和保护的花销。

软件复用是提升软件生产力和质量的一种重要技术。

初期的软件复用主假如代码级复用,被复用的知识专指程序,以后扩大到包含领域知识、开发经验、设计决定、系统结构、需求、设计、代码和文档等全部有关方面。

c)能够被复用的软件成分一般称作可复用构件2、答案以下:a)参照 TP 书上第六章 45/46 页的解说,参照一下书上的说法进行对照即可。

考虑弹性、风险、成本,等几个方面。

3、答案以下:a)软件生计周期是软件开发所有过程、活动和任务的结构框架,是从可行性研究到需求剖析、软件设计、编码、测试、软件公布保护的过程。

b)在经历需求、剖析、设计、实现、部署后,软件将被使用并进入保护阶段,直到最后因为缺乏保护花费而渐渐消亡。

这样的一个过程,称为”生命周期模型”( Life Cycle Model)。

4、答案以下:a)使用人工或自着手段,来运转或测试某个系统的过程。

其目的在于查验它能否知足规定的需求或弄清预期结果与实质结果之间的差异。

b)软件测试的目的:i.测试是程序的履行过程,目的在于发现错误ii.一个成功的测试用例在于发现到现在未发现的错误iii.一个成功的测试是发现了到现在未发现的错误的测试iv.保证产品达成了它所承诺或宣布的功能,而且用户能够接见到的功能都有明确的书面说明。

软件测试面试题及答案

软件测试面试题及答案

软件开发——软件测试1、测试的关键问题是()A.如何组织对软件的评审 B.如何验证程序的正确性C.如何采用综合策略 D.如何选择测试用例2、下面不属于软件测试步骤的是A.集成测试 B.回归测试 C.确认测试 D.单元测试3、自底向上集成需要测试员编写驱动程序。

请判断这句话的正确与否。

A.T B.F4、测试人员要坚持原则,缺陷未修复完坚决不予通过。

请判断这句话的正确与否。

A.T B.F5、软件测试类型按开发阶段划分是?A.需求测试、单元测试、集成测试、验证测试B.单元测试、集成测试、确认测试、系统测试、验收测试C.单元测试、集成测试、验证测试、确认测试、验收测试D.调试、单元测试、集成测试、用户测试6、如果我们可以通过覆盖率检测来判断我们是否对所有的路径都进行了测试,但是仍然可能存在未被检测出来的缺陷,原因是()A.全部选项B.程序可能因为缺某些路径而存在问题C.穷举路径的测试可能不好暴露数据敏感的错误D.就算穷举路径测试也不能保证程序符合需求7、下面哪些属于网游的测试内容?A.客户端性能B.服务器端性能C.从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法D.界面8、下述有关负载测试,容量测试和强度测试的描述正确的有?A.负载测试:在一定的工作负荷下,系统的负荷及响应时间。

B.强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。

C.容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。

D.容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

9、集成测试的过程包括有以下哪些?A.构建的确认过程 B.系统集成测试测试组提交过程C.测试用例设计过程 D.Bug的报告过程10、下面关于软件测试,描述正确的是?A.软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

企业面试题试卷测试基础附带答案软件测试1. 试述软件的概念和特点?软件复用的含义?构件包括哪些?2. 瀑布模型和螺旋模型的主要区别是什么?3. 软件生存周期及其模型是什么?4. 什么是软件测试?软件测试的目的与原则5. 净室软件工程的策略是什么?6. 软件配置管理的作用?软件配置包括什么?7. 什么是软件质量?软件包是什么?8. 目前主要的测试用例设计方法是什么?9. 软件的安全性应从哪几个方面去测试?1、答案如下:a) 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。

b) 软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。

软件复用是提高软件生产力和质量的一种重要技术。

早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。

c) 可以被复用的软件成分一般称作可复用构件2、答案如下:a) 参照TP书上第六章45/46页的讲解,参考一下书上的说法进行对比即可。

考虑弹性、风险、成本,等几个方面。

3、答案如下:a) 软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。

b) 在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。

这样的一个过程,称为”生命周期模型”(Life Cycle Model)。

4、答案如下:a) 使用人工或自动手段,来运行或测试某个系统的过程。

其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

b) 软件测试的目的:i. 测试是程序的执行过程,目的在于发现错误ii. 一个成功的测试用例在于发现至今未发现的错误iii. 一个成功的测试是发现了至今未发现的错误的测试iv. 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。

v. 确保产品满足性能和效率的要求vi. 确保产品是健壮的和适应用户环境的c) 软件测试的原则:教材的说法:i. 软件测试应尽早执行,并贯穿于整个软件生命周期ii. 软件测试应追溯需求iii. 测试应由第三方来构造iv. 穷举测试是不可能的,要遵循Good-enough原则v. 必须确定预期输出(或结果)vi. 必须彻底检查每个测试结果vii. 充分注意测试中的群集现象viii. 缺陷的二八定理ix. 严格执行测试计划,排除测试的随意性x. 注意合法合理的输入,也要注意非法的非预期的输入xi. 检查程序是否是否做了不该做的xii. 测试应从“小规模”开始,逐步转向“大规模”xiii. 反复使用同样的测试会使软件具有抵抗力xiv. 关注缺陷的修复另一种说法:i. 应当把“尽早和不断地测试”作为开发者的座右铭。

ii. 程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。

iii. 设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。

iv. 一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。

v. 对测试错误结果一定要有一个确认的过程。

一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。

vi. 制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。

vii. 回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。

viii. 妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。

5、答案如下:a) 增量计划。

开发一个采用增量策略的项目计划,建立每个增量的功能、它的项目大小、以及净室开发进度表。

必须特别小心以保证通过认证的增量将被定时集成。

b) 需求收集。

使用类似于在第11 章引入的技术,为每个增量开发一个客户级需求的更详细的描述。

c) 盒结构规约。

使用一个运用盒结构的规约方法[HEV93]来描述功能规约。

遵从操作分析原则,盒结构“在每一个精化级别上分离和分开行为、数据及过程的创造性定义”。

d) 形式化设计。

使用盒结构方法,净室设计是规约的自然的无缝的扩展。

虽然,在两个活动间可进行清楚的区分,但是,规约(称为“黑盒”)是被递进地求精(在一个增量内)以成为类似于体系结构的和过程的设计(分别称为“状态盒”和“清晰盒”)。

e) 正确性验证。

净室小组对设计及代码进行一系列严格的正确性验证活动。

验证从最高层次的盒结构(规约)开始,然后移向设计细节和代码。

正确性验证的第一层次通过应用一组“正确性问题”[LIN88]来进行,如果这没有证明规约是正确的,则使用更形式化的(数过学的)验证方法。

f) 代码生成、检查和验证。

以某种专门语言表示的盒结构规约被转换为合适的程序设计语言。

然后,使用标准的走查或检查技术(第8 章)来保证代码和盒结构的语义相符性,以及代码的语法正确性。

然后,对源代码进行正确性验证。

g) 统计性测试计划。

分析软件的项目级使用情况,计划和设计一组执行用途的“概率分布”的测试用例(25.4 节)。

如图25-1 所示,这个净室活动是和规约、验证及代码生成并行进行的。

h) 统计性使用测试。

记住,对计算机软件进行彻底测试是不可能的,因此,总需要设计有限数量的测试用例。

统计性使用技术[POO88]执行一系列由特定对象的所有用户的所有可能的程序执行的统计样本(上面提到的概率分布)所导出的测试。

认证。

一旦完成验证、检查和使用测试(并且所有错误被修正),则开始进行增量集成前的认证工作。

6、答案如下:a) 软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,贯穿整个软件生命周期,同时对软件开发过程的宏观管理即项目管理也有重要的支持作用。

一个软件开发组织真正有效的实施软件配置管理,将会使软件开发过程有更好的可预测性,使系统具有可重复性,大大提高软件组织的竞争力。

b) 软件配置包括如下内容:i. 配置项识别ii. 工作空间管理iii. 版本控制iv. 变更控制v. 状态报告vi. 配置审计7、答案如下:a) 简单的说:软件质量:软件产品的特性可以满足用户的功能、性能需求的能力。

比较长的说法:现代质量管理认为,质量是客户要求或者期望的有关产品或者服务的一组特性,落实到软件上,这些特性可以是软件的功能、性能和安全性等等。

这些特性决定了软件产品保证客户满意的能力,并且,这些特性应该是可以度量的。

我们还可以从另一个角度,即软件产品是如何生产出来的,来间接的推断软件质量。

我们称之为软件的流程质量,以有别于前面所说的软件产品质量。

所谓流程,我们可以将其理解为一个活动序列和与此相关的输入、输出、约束条件、实现方法、辅助工具等等因素共同组成的系统。

ISO9001 和SW-CMM 都主要是从流程角度来探讨软件质量和质量改进的。

当然,我们还能从其它角度,比如软件的生产者-人的素质,来诠释软件质量,但不管怎样,软件的产品质量是最终的检验标准,而最终的检验者就是客户。

从这个意义上说,软件质量就是客户满意度。

b) 软件包(Software Package)是指具有特定的功能,用来完成特定任务的一个程序或一组程序。

可分为应用软件包和系统软件包两大类。

应用软件包与特定的应用领域有关,又可分为通用包及专用包两类。

通用软件包根据社会的一些共同需求开发,专用软件包则是生产者根据用户的具体需求定制的,可以为适合其特殊需要进行修改或变更。

8、答案如下:a) 白盒测试:i. 逻辑覆盖ii. 循环覆盖iii. 基本路径覆盖b) 黑盒测试:i. 边界值分析法ii. 等价类划分iii. 错误猜测法iv. 因果图法v. 状态图法vi. 测试大纲法vii. 随机测试viii. 场景法9、答案如下:软件安全性测试包括程序、数据库安全性测试。

根据系统安全指标不同测试策略也不同。

a) 用户认证安全的测试要考虑问题:i. 明确区分系统中不同用户权限ii. 系统中会不会出现用户冲突iii. 系统会不会因用户的权限的改变造成混乱iv. 用户登陆密码是否是可见、可复制v. 是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)vi. 用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统b) 系统网络安全的测试要考虑问题i. 测试采取的防护措施是否正确装配好,有关系统的补丁是否打上ii. 模拟非授权攻击,看防护系统是否坚固iii. 采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是 NBSI 系列和 IPhacker IP )iv. 采用各种木马检查工具检查系统木马情况v. 采用各种防外挂工具检查系统各组程序的外挂漏洞c) 数据库安全考虑问题:i. 系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)ii. 系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)iii. 系统数据可管理性iv. 系统数据的独立性v. 系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)1. 试述软件的概念和特点?软件复用的含义?构件包括哪些?2. 瀑布模型和螺旋模型的主要区别是什么?3. 软件生存周期及其模型是什么?4. 什么是软件测试?软件测试的目的与原则5. 净室软件工程的策略是什么?6. 软件配置管理的作用?软件配置包括什么?7. 什么是软件质量?软件包是什么?8. 目前主要的测试用例设计方法是什么?9. 软件的安全性应从哪几个方面去测试?1、答案如下:a) 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。

b) 软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。

软件复用是提高软件生产力和质量的一种重要技术。

早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。

c) 可以被复用的软件成分一般称作可复用构件2、答案如下:a) 参照TP书上第六章45/46页的讲解,参考一下书上的说法进行对比即可。

考虑弹性、风险、成本,等几个方面。

3、答案如下:a) 软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。

b) 在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。

相关文档
最新文档