收藏 分销(赏)

IT笔试题全集_软件测试篇_追雨制作_2011版.doc

上传人:xrp****65 文档编号:7691302 上传时间:2025-01-12 格式:DOC 页数:47 大小:244.50KB 下载积分:10 金币
下载 相关 举报
IT笔试题全集_软件测试篇_追雨制作_2011版.doc_第1页
第1页 / 共47页
IT笔试题全集_软件测试篇_追雨制作_2011版.doc_第2页
第2页 / 共47页


点击查看更多>>
资源描述
IT笔试题全集_软件测试篇_追雨制作_2011版 追雨QQ:262300093 追雨QQ:262300093 软件测试题目 一、 判断题 (每题2分,20) 1、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。 (初级) ( × ) 2、发现错误多的模块,残留在模块中的错误也多。( √ ) (初级) 3、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。( × )(初级) 4、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。 ( √ )(中级) 5、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。( √ )(中级) 6、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。(√)(高级) 7、软件测试只能发现错误,但不能保证测试后的软件没有错误。(√) 8、软件就是程序。(X) 9、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(X) 10、I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指对软件做出符合本地需求更改工作。(√)【高级】 二、 选择题 (每题2分 20 ) 1、 进行软件质量管理的重要性有:(ABCD)【中级】 A、维护降低成本 B、法律上的要求 C、市场竞争的需要 D、质量标准化的趋势 E、软件工程的需要 F、CMM过程的一部分 G、方便与客户进一步沟通为后期的实施打好基础2、以测试的形态分测试可以分为:(ABC)【中级】 A、建构性测试 B、系统测试 C、专项测试 D、单元测试 E、组件测试 F、集成测试3、选出属于黑盒测试方法的选项(ABC)【初级】 A、测试用例覆盖 B、输入覆盖 C、输出覆盖 D、分支覆盖 E、语句覆盖 F、条件覆盖4、编写测试计划的目的是:(ABC)【中级】A、使测试工作顺利进行 B、使项目参与人员沟通更舒畅 C、使测试工作更加系统化 D、软件工程以及软件过程的需要 E、软件过程规范化的要求 F、控制软件质量5、依存关系有4种分别是:(ABCD)【高级】 A、开始-结束 B、开始-开始 C、结束-开始 D、结束-结束 E、开始-实施-结束 F、结束-审核-开始6、软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于QC得是:(ABC)【高级】 A、测试 B、跟踪 C、监督 D、制定计划 E、需求审查 F、程序代码审查7、实施缺陷跟踪的目的是:(ABCD)【中级】 A、软件质量无法控制 B、问题无法量化 C、重复问题接连产生 D、解决问题的知识无法保留 E、确保缺陷得到解决 F、使问题形成完整的闭环处理8、使用软件测试工具的目的:(ABC)【中级】 A、帮助测试寻找问题 B、协助问题的诊断 C、节省测试时间 D、提高Bug的发现率 E、更好的控制缺陷提高软件质量 F、更好的协助开发人员9、典型的瀑布模型的四个阶段是:(ABCD)【高级】 A、分析 B、设计 C、编码 D、测试 E、需求调研 F、实施10、PSP是指个人软件过程 ,是一种可用于( A )、( B )和( C )个人软件工作方式的自我改善过程。【高级】 A、控制 B、管理 C、改进 D、高效 E、充分 F、适宜三、 问答题 1、 测试人员在软件开发过程中的任务是什么?(初级)(5分) 答:1、寻找Bug;2、避免软件开发过程中的缺陷;3、衡量软件的品质;4、关注用户的需求。总的目标是:确保软件的质量。2、 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?(初级)(6分)答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。3、 界面测试题及设计题。请找出下面界面中所存在的问题并分别列出;用黑盒测试的任何一种方法设计出此登陆窗体的测试用例。(中级)(6分) 答:1、窗体的标题栏中为空,没有给出标题。 2、用户名和密码控件的字体不一致并且没有对齐。 3、文本框的大小不一致没有对其。 4、确定和取消按钮控件的大小不一致。4、 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!(中级)(5分)答:黑盒测试的优点有: 1)比较简单,不需要了解程序内部的代码及实现; 2)与软件的内部实现无关; 3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 5)在做软件自动化测试时较为方便。黑盒测试的缺点有: 1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%; 2)自动化测试的复用性较低。 白盒测试的优点有: 帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。 白盒测试的缺点有: 1)程序运行会有很多不同的路径,不可能测试所有的运行路径; 2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求; 3)系统庞大时,测试开销会非常大。5、 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。(初级)(5分) 答:软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。 软件测试一般分为单元测试、集成测试和系统测试。6、 根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?(中级)(10分)答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。 测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。 设计测试用例应当从以下几方面考虑:边界值,等价类划分,有效/无效值等。7、 什么是软件质量保证?软件质量保证人员与开发人员的关系如何?(高级) (10分) 答:软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。 软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题 软件测试笔试题 一、 判断题 (每题2分,20)1、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。 (初级) ( × )2、发现错误多的模块,残留在模块中的错误也多。( √ ) (初级)3、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。( × )(初级)4、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。( √ )(中级)5、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。( √ )(中级)6、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。(√)(高级)7、软件测试只能发现错误,但不能保证测试后的软件没有错误。(√)8、软件就是程序。(X)9、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(X)10、I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指对软件做出符合本地需求更改工作。(√)【高级】二、 选择题 (每题2分 20 )1、 进行软件质量管理的重要性有:(ABCD)【中级】A、维护降低成本 B、法律上的要求 C、市场竞争的需要D、质量标准化的趋势 E、软件工程的需要 F、CMM过程的一部分G、方便与客户进一步沟通为后期的实施打好基础2、以测试的形态分测试可以分为:(ABC)【中级】A、建构性测试 B、系统测试 C、专项测试D、单元测试 E、组件测试 F、集成测试3、选出属于黑盒测试方法的选项(ABC)【初级】A、测试用例覆盖 B、输入覆盖 C、输出覆盖D、分支覆盖 E、语句覆盖 F、条件覆盖4、编写测试计划的目的是:(ABC)【中级】A、使测试工作顺利进行 B、使项目参与人员沟通更舒畅 C、使测试工作更加系统化D、软件工程以及软件过程的需要 E、软件过程规范化的要求 F、控制软件质量5、依存关系有4种分别是:(ABCD)【高级】A、开始-结束 B、开始-开始 C、结束-开始D、结束-结束 E、开始-实施-结束 F、结束-审核-开始6、软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于QC得是:(ABC)【高级】A、测试 B、跟踪 C、监督D、制定计划 E、需求审查 F、程序代码审查7、实施缺陷跟踪的目的是:(ABCD)【中级】A、软件质量无法控制 B、问题无法量化 C、重复问题接连产生D、解决问题的知识无法保留 E、确保缺陷得到解决 F、使问题形成完整的闭环处理8、使用软件测试工具的目的:(ABC)【中级】A、帮助测试寻找问题 B、协助问题的诊断 C、节省测试时间D、提高Bug的发现率 E、更好的控制缺陷提高软件质量 F、更好的协助开发人员9、典型的瀑布模型的四个阶段是:(ABCD)【高级】A、分析 B、设计 C、编码D、测试 E、需求调研 F、实施10、PSP是指个人软件过程 ,是一种可用于( A )、( B )和( C )个人软件工作方式的自我改善过程。【高级】A、控制 B、管理 C、改进D、高效 E、充分 F、适宜三、 问答题1、 测试人员在软件开发过程中的任务是什么?(初级)(5分)答:1、寻找Bug;2、避免软件开发过程中的缺陷;3、衡量软件的品质;4、关注用户的需求。总的目标是:确保软件的质量。2、 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?(初级)(6分)答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。3、 界面测试题及设计题。请找出下面界面中所存在的问题并分别列出;用黑盒测试的任何一种方法设计出此登陆窗体的测试用例。(中级)(6分)答:1、窗体的标题栏中为空,没有给出标题。 2、用户名和密码控件的字体不一致并且没有对齐。 3、文本框的大小不一致没有对其。 4、确定和取消按钮控件的大小不一致。4、 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!(中级)(5分)答:黑盒测试的优点有: 1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;5)在做软件自动化测试时较为方便。黑盒测试的缺点有: 1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2)自动化测试的复用性较低。白盒测试的优点有:帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。白盒测试的缺点有:1)程序运行会有很多不同的路径,不可能测试所有的运行路径;2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;3)系统庞大时,测试开销会非常大。5、 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。(初级)(5分)答:软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。 软件测试一般分为单元测试、集成测试和系统测试。6、 根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?(中级)(10分)答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。 测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。设计测试用例应当从以下几方面考虑:边界值,等价类划分,有效/无效值等。7、 什么是软件质量保证?软件质量保证人员与开发人员的关系如何?(高级) (10分)答:软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。 软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题四、 设计题1).输入三个整数,判断三个整数能否构成一个三角形,请用黑盒测试方法中的一种设计出相应的测试用例并详细说明所使用的黑盒测试方法。(中高级) (15分) 外包公司软件测试工程师 1试述软件的概念和特点?软件复用的含义?构件包括哪些? 2瀑布模型和螺旋模型的主要区别是什末 3软件生存周期及其模型是什末 4什末是软件测试 软件测试的目的与原则 5净室软件工程的策略是什末 6软件配置管理的作用 软件配置包括什末 7简述需求分析的过程和意义 8什末是数据的对立性 有几个层次 9网状、层次数据模型与关系数据模型的最大的区别是什末 10dbms读取一条记录时发生哪些事件 11什末是软件质量 软件包是什末 12软件产品质量特性是什末 13什末是软件质量保证 其主要任务是什末 14软件质量保证体系是什末 国家标准中与质量保证管理相关的几个标准是什末 他们的编号和全称是什末 15软件测试的原则与策略是什末 16什末是测试用例 什末是测试脚本 两者的关系是什末 17简述什末是静态测试、动态测试、黑盒测试、白盒测试、a测试 b测试 18测试问题的严重性分为几级 如何区分 19测试用例设计的原则是什末 目前主要的测试用例设计方法是什末 20结构化系统测试和功能性系统测试分别采用了哪些方法和技术 21软件测试分为几个阶段 各阶段的测试策略和要求是什末 22面向对象的测试用例设计有几种方法 如何实现 23在软件测试各个阶段通常完成什末工作 各个阶段的结果文件是什末 包括什末内容 24软件的安全性应从哪几个方面去测试 外企测试工程师面试题 Q1. Write test case of square root 2 or any no.? Ans: focus on if the test case have the use of boundry value analysis and equivalance partioning used or not. Q2. if u have a requirement and u have made 50 test case for that, then how do u say . these test cases are sufficient, nor less nor too much (as while executing they r not wasting time) Ans. Test Setgeies comes in pictures. Q3. if u have 100 test cases left and hv very less time. which test cases u will execute first Q4.can it be possible to live a product with known bugs in it., if yes how we will do it? do we tell the client?id yes how? Killer Questions for Software Tester Interviews What is it about your personality that makes you suited for QA/Testing Roles?How did you get into Software Testing, and what do you enjoy the most about it?How do you know when a Software product has been Tested enough?When does the Software Testing Process begin in the life-cycle, in your opinion?What is the difference between a Test Sategy and a Test Plan?Tell me about the most important bug you ever found?When should you automate a Software Test? 企业面试题试卷 测试基础 附带答案 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) 在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为 生命周期模型 (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)是指具有特定的功能,用来完成特定任务的一个程序或一组程序。可分为应用软件包和系统软件包两大类。应用软件包与特定的应用领域有关,又可分为通用包及专用包两类。通用软件包根据社会的一些共同需求开发,专用软件包则是生产者根据用户的具体需求定
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服