知识总结1-2章

来源:互联网 发布:阿里云备案拍照点 编辑:程序博客网 时间:2024/04/29 22:27

第一章

1.1 软件危机

软件危机出现表现

a. 由于缺乏未找到图形项目表。大型软件开发经验和软件开发数据积累,开发工作计划很难制定;

b. 开发早期需求分析不够明确,造成开发后期矛盾集中暴露;

c. 不遵循开发规范,开发文档不完整,软件难以维护;

d. 缺乏严密有效的软件质量检测手段,交付给用户的软件质量差。

软件危机的后果

a.软件质量不高,很难稳定;

b. 软件项目延期,进度无法控制;

c. 成本增加,无法控制预算。

软件危机的根源

a. 根据摩尔定律,硬件发展很快,相应对软件系统的期望越来越高;

b. 软件系统复杂性提高,需多人合作;

c. 软件开发是人的智力活动,无法用已有的产业工程方法来组织管理。

1.2 软件生命周期

软件生命周期的各个阶段:计划→需求分析→ 设计→ 编码→ 测试→ 运行→ 评价

软件生命周期模型:瀑布模型,快速原型模型,迭代式模型,增量模型,螺旋模型

1.3 软件开发主流技术

软件体系结构:c/s(客户机/服务器)模式     b/s(浏览器/服务器)模式

第二章

2.1 软件测试的基本概念

定义1:评价一个程序和系统的特性或能力,并确认它是否达到预期的结果,检查是否满足规定的定的需求

定义2:为发现错误而执行程序的规程

定义3:是对软件需求分析,设计,编码的最终复查的一系列过程,是软件质量保证的关键步骤

软件测试培训机构定义:使用人工或者自动手段来运行或测试某个系统的过程,其目的是在于检验它是否满足规定的需求或弄清楚预期结果与实际结果的差别

2.2 软件测试的目的

软件测试的目的:证明(表达软件能够工作)→检测(发现错误)→ 预防(管理质量)

1. 发现缺陷提高质量

2. 验证是否满足需求

3. 建立软件质量的信心

2.3 软件测试基本原则

测试显示缺陷的存在 #1

测试可以显示缺陷的存在,但不能证明系统不存在缺陷。测试可以减少软件中存在未被发现缺陷的可能性,但即使测试没有发现任何缺陷,也不能证明软件或系统是完全正确的。

穷尽测试是不可能的 #2

除了小型项目,进行完全(各种输入和前提条件的组合)的测试是不可能的。通过运用风险分析和不同系统功能的测试优先级,来确定测试的关注点,从而替代穷尽测试

测试尽早介入 #3

在软件或系统开发生命周期中,测试活动应该尽可能早的介入,并且应该将关注点放在已经定义的测试目标上

缺陷集群性 #4(80-20原则)

版本发布前进行的测试所发现的大部分缺陷和软件运行失效是由于少数软件模块引起的。

杀虫剂悖论 #5

采用同样的测试用例多次重复进行测试,最后将不再能够发现新的缺陷。为了克服这种“杀虫剂悖论”,测试用例需要进行定期评审和修改,同时需要不断增加新的不同的测试用例来测试软件或系统的不同部分,从而发现潜在的更多的缺陷。

测试活动依赖于测试背景 #6

针对不同的测试背景,进行的测试活动也是不同的。比如,对安全关键的软件进行测试,与对一般的电子商务软件的测试是不一样的。

不存在缺陷(就是有用系统)的谬论 #7

假如系统无法使用,或者系统不能完成客户的需求和期望,发现和修改缺陷是没有任何意义的。

2.4软件测试工作流程及工作内容

 

软件测试过程包括

1.测试计划和控制

2.测试需求分析和用例设计

3.实现和执行测试用例

4.评估出口准则和报告

5.测试结束活动

 

 

测试工作的基本流程

1.需求阅读与评审

2.用例设计与评审

3.环境搭建

4.软件测试

5.编写有关测试文档(测试用例,测试报告,问题报告等)

6.SE与测试经理审核

 

计划:识别测试任务,定义测试目标,定义为达到测试目标和任务所必须的测试活动。

监控:测试过程的监控应该贯穿所有测试活动,应该及时通过监控信息的反馈,适时的调整测试活动,比如调整测试计划,应该制定一些可度量的监控目标,从而监控测试过程。

分析:评审测试依据(比如需求、系统架构、设计和接口说明等),评估测试依据和测试对象的可测性,通过对测试项、规格说明、测试对象行为和结构的分析,识别测试条件并确定其优先级。

设计:设计测试用例并确定优先级,确定测试条件和测试用例所需的必要的测试数据,规划测试环境的搭建和确定测试需要的基础设施和工具。

实现:测试用例的开发、实现并确定它们的优先级,开发测试规程并确定优先级,创建测试数据,同时也可以准备测试用具和设计自动化测试脚本,根据测试规程创建测试套件,以提高测试执行的效率,确认已经正确搭建了测试环境。

执行:根据计划的执行顺序,通过手工或使用测试执行工具来执行测试规程,记录测试执行的结果,以及被测软件、测试工具和测试件的标识和版本,将实际结果和预期结果进行比较,对实际结果和预期结果之间的差异,作为事件上报,缺陷修正后,重新进行测试活动。

评估出口准则:按照测试计划中定义的测试出口准则检查测试日志,评估是否需要进行更多的测试,或是否需要更改测试的出口准则。

报告:依据评估结果,向利益相关者汇报测试情况,通常这样的报告分两个级别:

非正式:例如单元测试的报告可能就是Email的形式提交给测试Leader或者Manager;

正式:例如系统集成测试,用户验收测试的报告可能就是以正式的文档提交给相关人员。

测试结束活动:在以下几种情况下需要进行测试的结束活动:

1.  软件系统正式使用的时候;

2.  测试项目结束(或取消)的时候;

3.  达到里程碑的时候;

4.  维护版本发布完成的时候。

测试结束活动的主要任务

检查提交了哪些测试计划的可交付产品、事件报告是否关闭、或对未关闭的事件报告提交变更需求、以及系统的验收文档状态等等,记录和归档测试件、测试环境和测试基础设备,以备将来项目使用,移交测试件到维护部门,分析和记录经验教训。

2.5软件测试的心理学

开发人员<----->测试人员之间的关系

1.  以合作而非斗争的方式开展项目,共同目标是追求高质量的产品;

2.  以中性的语调和事实为依据的方式来沟通,而不要指责和批评他人;

3.  尽量理解其他成员的感受,以及他们为什么会有这种反应;

1.  4.确信其他成员已经理解你的描述。

0 0
原创粉丝点击