发布网友 发布时间:2022-05-11 21:42
共1个回答
热心网友 时间:2023-07-27 13:09
1、 软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能得到的最后的技术方法结合起来。
2、基准配置又称为基线配置,是经过阶段评审后的软件配置成分
3、软件工程强调生命周期方法学和各种结构分析及结构设计技术
4、软件工程的七条基本原理(1983年,由B.W.BOEHM提出):
(1)用分阶段的生命周期计划严格管理。(2).坚持阶段评审。(3).实行严格的产品控制。(4).采用现代程序设计技术。(5).结果应能清楚的审查。(6).开发小组人员应少而精。(7).承认不断改进软件工程实践的必要性。
5生命周期应该知道严格的六类计划:
(1).项目概要计划。(2).里程碑计划。(3).项目控制计划。(4).产品控制计划。(5).验证计划。(6).运行维护计划。
6、软件生命周期由软件定义(细分三个阶段问题定义、可行性研究、需求分析)、软件开发(细分总体设计、详细设计、编码、单元测试、综合测试)和软件维护三个时期组成。
7、软件维护通常有四类维护活动:a.改正性维护。b.适应性维护。c.完善性维护。d.预防性维护。
8、软件设计文档包含:构架、数据流示意图、状态变化示意图、流程图、注释代码。
9、软件测试文档:测试计划、测试用例、软件缺陷报告、归纳、统计和总结。
10、开发进度表:Gantt图表
11、软件产品组成:帮助文件、用户手册、样本和示例、标签、产品支持信息、图标和标志、错误信息、广告和宣传材料、软件的安装说明、软件说明文件、测试错误提示信息。
12、软件是计算机系统中硬件相互依存的另一部分,它包括程序、相关数据及其说明文档。
13、测试人员在软件开发过程中的任务:寻找BUG;避免软件开发过程中的缺陷;
衡量软件的品质;关注用户的需求。
14软件测试的目的:第一是确认软件的质量,第二提供信息,第三软件测试包括软件产品的测试还有软件开发过程。
15、软件与工业产品相比具有的特性:软件是一种逻辑实体,具有抽象性;软件没有明显的制作过程;软件在实用过程中没有磨损,老化的问题;软件对硬件和环境有着不同程度的依赖性;软件的开发至今尚未完全摆脱手工式的开发方式生产效率低;软件是复杂的,以后会更加复杂;软件的成本相当贵软件工作的牵涉到很多社会因素
16、软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题,概括地说,主要包含主要包含两个方面:如何开发软件,怎么满足日益发展的需求;如何维护数量不断膨胀的已有软件。
17、软件危机的主要表现:
对软件开发成本和进度的估计常常不准确;用户对已完成的软件系统不满意的现象经常发生;软件产品的质量靠不住;软件常常是不能维护;软件通常没有适当的文档资料;软件成本在计算机系统总成本中所占比例在上升;软件开发生产率提高的速度跟不上计算机应用迅速普及深入的趋势。
18、软件危机的内在原因:软件生产本身存在着复杂性;软件开发使用的方法和技术
19、符合下面任一个就是软件错误:软件未达到产品说明书中已经标明的功能;软件出现了产品说明书中指明不会出现的错误;软件功能超出了产品说明书指明的范围;软件未达到产品说明书虽未指出但应达到的目标;软件测试员认为软件难以理解不易使用或者用户认为软件使用效果不好
20、软件测试使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求,或弄清预期结果与实际结果之间的差别。
21、软件质量的衡量:在正确的时间用正确的方式把一个工作做正确 ;符合一些应用标准的要求;质量本身是软件达到最开始所设定的要求;质量代表它符合客户的需要。
22、软件测试的总目标是确保软件的质量
23、TMM测试成成熟度的5个级别:
Phase 0:.测试和调试没有区别
Phase 1:测试的目的是为了表明软件能工作
Phase2:测试的目的是为了表明软件不能正常工作
Phase3:测试的目的不是为了证明什么,而是为了把软件不能正常工作的预知风险减低到能够接受的程度
Phase4:测试不是行为,而是一种自觉的约束 不用太多的测试投入到产生风险的软件上
23、测试工程师服务对象有四类人:软件用户、项目经理、程序员、技术文档工程师市场开发人员和技术支持工程师
24、软件测试能做好的三件事:
(1)证明
获取系统在可接受风险范围内可用的信心
尝试在非正常情况和条件下的功能和特性
保证产品的完整性
(2) 检测
发现错误和系统不足
定义系统的能力和局限性
提供组件、工作产品和系统的质量信息
( 3 )预防
澄清系统的规格和性能
尽可能减少错误的信息
在过程中尽早坚持错误
确认问题和风险,并提前发现解决问题
25、软件测试的原则:从用户角度是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品。从开发者的角度是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件的信心。
26、达到原则需注意的地方:
(1)应当把“尽早和不断地测试”作为开发者的座右铭
(2)程序员应该避免检测自己的程序,测试工作应该由独立的专业的软件测试机构来完成。
(3)设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况要制造极端状态和意外状态。
(4)一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大关系。
(5)对测试错误结果一定要有一个确认的过程,一般由A测试出来的错误,一定要由一个B来确认,严重的错误可以召开评审会进行讨论和分析。
(6)制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
(7)回归测试的关系性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。
(8)妥善保存一切测试过程文档,
27、软件测试的对象:需求分析、概要设计、详细设计以及程序编码等各段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序。所以软件测试贯穿整个软件定义与开发期间。
28、软件测试过程模型
(1)V模型,单元和集成测试应检测程序的执行是否满足软件设计者的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户的要求。局限:他仅仅把测试作为爱编码之后的一个阶段,是针对程序进行的寻找错误的活动,而忽略了测试活动对需求分析、系统设计等活动的验证和确认的功能。
(2)W模型,测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。有利于今早的、全面的发现问题。局限:无法支持迭代的开发模型。对与当前软件开发复杂多变的情况,W模型并不能解决管理面临的困惑。
(3)H模型,软件测试是一个独立的流程,贯穿产品的整个周期,与其他流程并发的进行。
29、黑盒测试的定义:黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试,把测试对象看做一个黑盒子在不考虑程序内部结构和内部特性,测试者只知道该程序输入和输出之间的关系或程序功能的情况下,依靠能够反映这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结果的正确性。
30、白盒测试定义:白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。它依赖于程序细节的严密检验,针对特定条件和循环设计测试用例,对软件的逻辑路径进行测试。在程序的不同点检验程序的状态,来判定其实际情况是否与预期的状态相一致。
31、最常见的程序覆盖有:
(1)语句覆盖。它要求被测试程序的每一条可执行语句在测试中至少执行一次,这是最弱的逻辑覆盖准则。(2)分支覆盖或判定覆盖。要求程序中所有判断的分支至少执行一次。(3)条件覆盖。当判断式中含有多个条件时,要求每个条件的取值至少一次为真。一次为假(4)判定/条件覆盖。设计足够的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。(5)路径覆盖。设计测试用例,覆盖程序中所有可能的路径 (6)条件组合。设计测试用例,使得每个判定条件结果的所有可能组合至少出现一次。
32、黑盒测试主要发现的错误:是否有不正确或遗漏的功能、在接口上输入是否能正确地接受能否输出正确的结果、是否有数据结构错误或外部信息访问错误、性能上是否能够满足要求、是否有初始化或终止性错误。
33、白盒测试主要检查的地方:对程序模块的所有独立的执行路径至少测试一遍、对所有的逻辑判定真假取值各至少测一遍、在循环的边界和运行的界限内执行循环体、测试内部数据结构的有效性。
34、两都比较 比较内容 黑盒测试 白盒测试 规划方面 针对功能的测试 针对结构的测试 优势方面 能确保从用户的角度出发进行测试 能够对程序内部的特定部位进行覆盖测试 欠缺方面 无法测试程序内部特定部位如果规划说明有误,则无法发现问题 无法检验程序的外部特性,无法对未来实现规格说明的程序内部欠缺部分进行测试 应用举例 边界值分析、等价值划分、
错误推断法、因果图法 语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、路经覆盖 35、 静态分析技术:是一种不通过执行程序而进行测试的技术。功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。工具有:语法分析器、符号执行器