软件测试大致工作内容:
- 评审软件需求规格说明书
- 制定测试计划和方案
- 编写、评审测试用例
- 搭建测试环境,准备测试数据
- 执行测试,发现缺陷,提交缺陷报告,并回归测试缺陷
- 分析测试结果,编写测试报告,度量软件的质量
软件测试是什么:
- 程序测试是为了发现错误而执行程序的过程
- 好的测试方案是能够发现难以被发现的错误的测试方案
软件测试的定义:
- 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的区别
- 软件测试的目的不仅是为了发现错误
测试的目标:
- 找出需求不符合的地方
- 找出不符合用户习惯
- 找出不合法的地方
- 找出不符合行业标准的地方
- 找出不符合文化习俗的地方
软件危机:
软件危机的表现:价格贵、文档不完整、不符合需求、质量差、可维护性差
解决方法:研究软件生命周期的各个阶段安装工程化的原则和方法来组织软件开发工作,是摆脱软件危机的主要出路
软件生命周期:
阶段 | 工作内容 |
---|---|
计划 | 确定软件开发目标,给出软件的质量测试的设想,确认项目的可行性,制定实施计划 |
需求分析 | 需求分析员和用户讨论,确认可满足需求和不可满足需求,写出项目需求书 |
设计 | 源代码编写,数据库搭建 |
运行和维护 | 将软件交付给客户后,便进入维护阶段。维护阶段经常对软件进行漏洞修复、升级、功能增加、性能优化等 |
软件项目组成人员:
- 分析人员
- 设计人员
- 开发人员
- 测试人员
- CMO(配置管理人员)
- SQA(软件质量保证)
开发流程:
名称 | 特点 |
---|---|
瀑布模型 | 优点:简单高效适合小型项目;缺点:测试介入晚,修复问题成本高 |
敏捷开发 | 优点:进入开发阶段迅速,迭代周期较短,项目修改方便;缺点:对团队成员的能力要求高 |
常见的引入缺陷的原因:
- 开发过程缺乏有效沟通
- 软件复杂度逐渐提高
- 编程中的错误
- 需求的变更
- 项目进度的压力
- 开发文档不完善
- 开发平台自身的问题
软件缺陷分布:
- 最大的原因:软件产品说明书
- 第二大原因:设计方案
- 代码中的缺陷
- 其他
软件质量:
定义:满足用户规定的和潜在的需求的能力
影响因素:流程、技术、组织
软件质量活动:
说明:软件组织主要的软件质量活动:软件 质量保证(SQA)、软件测试
SQA和测试的关系:
软件质量有组织、流程、技术决定:
- SQA从流程方面保证软件的质量
- 测试从技术方面保证软件的质量
- SQA和测试活动同时进行能够产生更好的软件质量
SQA工作范围:
- 指导并监督项目的实施
- 对项目进行度量、分析,增加项目的可视性
- 审核工作产品,评价工资产品和过程质量目标的符合度
- 进行缺陷分析,缺陷预防,发现缺陷,提供解决方案