-
定义:
通过手工或自动的手段,对被测对象进行测试,检测被测对象是否实现用户的需求,或者弄清楚实际结果与预期结果之间的差异。
-
目的:
按照用户所需软件的质量,检查开发软件过程中出现的bug,使得开发人员及时修改,可以避免在开发结束的时候发现软件存在质量问题,避免公司不必要的损失,赢得用户对公司产品的认可。(以最少的人力物力时间找到软件中的缺陷并修改,从而回避商业风险)
-
对象
软件源代码
与源代码匹配的文档
支撑软件源代码运行的配置数据
需求阶段:需求文档,测试是否正确实现了用户的需求
系统设计:概要设计文档、详细设计文档,是否有设计或逻辑上的错误
编码阶段:测试源代码,发现编程上的错误
系统测试:被测对象是否满足用户需求
-
作用
发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心
记录软件运行过程中产生的一些数据,从而为决策提供数据支持
降低同类型产品开发遇到问题的风险
-
原则
所有测试追溯到用户需求
不能执行穷尽测试
缺陷存在群集现象
测试应尽早介入
杀虫剂现象
不存在缺陷谬论
设计测试用例时要考虑各种情况,妥善保存一切测试文档
-
主要工作
进行测试设计,编写测试文档(测试计划、测试用例、测试报告)
执行测试,发现软件缺陷,提交缺陷报告,确认缺陷最终得到了修复
通过测试度量软件质量
-
危机
体现:
缺乏大型软件开发经验和软件开发数据积累,开发工作计划很难制定
开发早期需求分析不够明确,造成开发后期矛盾集中暴露
不遵循开发规范,开发文档不完整,软件难以维护
缺乏严密有效的软件质量检测手段,交付给用户的软件质量差
后果
软件质量不高,很难确定
软件项目延期,进度无法控制
成本增加,无法控制预算
根源
软件系统复杂性提高,需多人合作
软件开发是人的智力活动,无法用已有的产业工程方法来组织管理
原文地址:https://www.cnblogs.com/mind18/p/12693324.html
时间: 2024-09-30 03:31:18