软件生命周期

1、 市场需求调研 2、可行性分析3、产品项目立项、 4、需求调研开发 5、设计开发测试 6、发布运行维护

软件公司业务形式:自研公司、外包公司

研发团队人员构成

1、 研发组长 2、美工/页面制作人员 3、系统架构师

4开发工程师

测试团队人员构成

1测试主管 2、测试组长 3、环境保障人员 4、配置管理员

5、 测试设计人员 6、测试工程师

按技术构成可分为黑盒测试技术人员、白盒测试技术人员、自动化测试工程师和项目管理技术人员。

软件研发模型

瀑布模型:(计划、需求分析、设计、编码、测试、运行维护)自上而下相互衔接固定 有序逐级下落

有点:节约成本、分析透彻、详细,设计简单

缺点:试介入晚、人员闲置严重,后续工作跟不上、不适应规模的变更

软件测试

原型模型:在瀑布模型基础上演变而来,再确认用户需求中调整修改、在需求分析环节 评价原型设计

优点:测试介入早、关注需求正确性、及时调整、解决问题、降低开发风险 提高研发效率

缺点:告知用户重新生产该产品、用户接受度低不利于开发

螺旋模型

RUG模型

敏捷模型:将一个大项目分为多个相互联系、也可独立运行的小项目。迭代较快。

优点:灵活更新快 缺点:成本高

软件测试模型

V模型:自上而下,从左至右研发人员进行需求分析、概要设计、详细设计、编码开发 生成对应关系的测试模型。有瀑布模型演化而来。需求对验收、概要对系统、 详细对集成、编码对单元

优点:节约人力、物力 缺点:成本高、滞后性强

W模型:由V模型演变而来、每个阶段都有一个测试和一个计划。强调对文档的测试

优点:测试介入早、能够及时发现、解决问题

缺点:浪费人力物力

X模型:

H模型

敏捷测试模型

软件测试:检验被测对象与预期是否一致

源代码:开发人员开发的代码

验证活动:对软件进行测试是否满足客户需求

数据配置:支撑软件的相关数据

软件测试目的:1、发现、并解决缺陷 2、了解被测对象为决策提供依据3、预防缺陷出现 降低风险

通过测试活动,检测被测对象与预期一致

软件缺陷:检测被测对象与预期不一致

产生原因:1、需求表达理解编写有误 2、系统架构设计有误 3、开发中沟通、监督不到位

软件测试

4、 编程有误 5、开发工具有问题 6、软件复杂度高 7、与用户需求不符

8、 电碱辐射

四种类型:遗漏、错误、冗余、不满意

缺陷报告内容:1、缺陷ID 2、概要描述 3、发现人 4、发现时间 5、修复时间 、

6、所属版本 7、所属模块 8、缺陷状态 9、缺陷严重度 10、修复优先级

11、 下部处理人 12、详细描述 13、附件

缺陷管理流程:有测试工程师、测试负责人、开发负责人、开发人员、项目经理等人员构成

测试人员发现缺陷定义新建(new)状态、发现人自检确认却先后交由下处 理人并将状态表示为打开(open)、开发人员确认缺陷成立修复将状态标记 为fix、测试工程师确认缺陷成功修复后将该缺陷状态表示为close。若修复 未能测地修复礽存在缺陷则将状态标为reopen、并将重新修复处理。再次 叫有测试人员测试处理。标记为reject。

软件测试原则:1、证明软件存在缺陷 2、不可能进行穷尽测试 3、测试应尽早启动、尽早 介入 4、缺陷存在群集现象 5、杀虫剂悖论 6、不同测试活动依赖于不同的 测试背景 7、不存在缺陷的谬论

软件测试对象:文档、源代码、配置数据等。

软件测试级别:需求测试、组件/单元测试、集成测试、系统测试、验收测试、alpha测试、 beta测试、UAT(用户接受度)测试、

软件测试类型:功能测试、性能测试、负载测试、压力测试、容量测试、安全测试、兼容性

测试、可靠性测试、可用性测试、移植测试、维护测试、确认测试、回归测 试

测试方法: 按是否关注逻辑代码变化、输出结果分为:黑盒测试、白盒测试、灰盒测试

按是否执行代码分为:静态测试、动态测试

按是否人工手动操作:自动化测试、手工测试

软件测试流程:计划 范围 标准 时间 人力 风险

设计 测试的策略 测试的方法和类型

实现 环境搭建 测试用例编写 测试用例评审

执行 执行测试用例 缺陷跟踪 回归测试 测试报告

软件质量特性:功能性、可靠性、易用性、效率、可维护性、可移植性

测试用例设计:等价类、边界值、判定表、因果图、正交试验、状态迁移、场景设计法

用例评审:覆盖度、用例结构、优先级、用例冗余、不满意、遗漏

什么是测试用例、

测试人员测试用的文档(测试人员为特定目的去设计的一组输入输出的例子)

为什么要写测试用例?

答:1、加深对需求的理解 2、提高覆盖度 3、帮助测试人员分析问题 4、指导测试执行

5、帮助测试人员后续质量分析