1、软件测试与质量保证(QA)的区别
质量保证(QA):质量保证的主要工作是通过预防、检查和改进来保证软件的质量。QA通常采用的是全面质量管理和过程改进的原理来开展工作,关注的更多的是软件质量的检查与测量。QA的工作是软件声明周期的管理以及验证软件是否满足规定的质量和用户的需求,因此主要着眼与软件开发活动中的过程、步骤、产物,而不是对软件进行剖析找出问题。
软件测试:软件测试关心的不是过程的活动,而是对过程中的产物以及开发出的软件进行剖析,对过程中的产物---开发文档和源代码进行走查,运行软件找出问题,报告质量。测试必须假设软件是存在问题的,测试中的操作是为了找出更多的问题而不是证明每一件事是正确的。对测试过程中发现的问题进行分析、追踪以及回归测试是软件测试的重要工作。
2、软件测试的目的
Grenford J.Myers就软件测试目的提出了以下关点:
-- 测试时程序的执行过程,目的在于发现错误;
-- 一个好的测试用例在于能发现至今未发现的错误;
-- 一个成功的测试是发现了至今未发现的错误的测试。
总结起来软件测试的目的就是想要以最少的人力、物力、时间来尽可能多的找出软件中潜在的各种错误和缺陷,然后通过通过修正各种错误和缺陷来提高软件质量,回避软件发布后由于潜在缺陷和错误造成的隐患所带来的各种损失。
3、软件测试的原则
1、所有的软件测试都应该追朔到用户需求
2、应当把“尽早地和不断地进行软件测试”作为软件测试人员的座右铭。
3、完全测试时不可能的,测试需要终止。即测试不能无线的进行下去
4、测试不能保证软件中的缺陷和错误全部被找到
5、充分注意测试中的集群现象
6、程序员应该避免检查自己的程序
7、尽量避免测试的随意性。
4、软件测试的对象
软件包括程序、数据和文档,所以软件测试并不仅仅是程序测试。软件测试应该贯穿整个软件生命周期。
5、软件测试的分类
按照开发阶段划分软件测试可分为:单元测试、集成测试、系统测试、确认测试和验收测试
按照测试实施组织划分可分为:开发方测试(α测试)、用户测试(β测试)、第三方测试
按照技术划分可分为:黑盒测试、灰盒测试、白盒测试
6、软件测试模型
V模型
W模型
H模型
X模型
前置测试模型
7、缺陷相关的常识
缺陷严重级:
致命:系统崩溃、数据丢失、数据毁坏。
严重:操作性错误、错误结果、遗漏功能。
一般:小问题、错别字、UI布局、罕见故障。
建议:不影响使用的小瑕疵,或者更好的实现。
缺陷的优先级:
紧急:立即修复,停止进一步测试(版本打回)
高:产品发布前必须修复
中:时间允许的情况,需要修复
低:可以暂时搁置,不影响发布
BUG记录信息主要内容:
1 测试软件名称; 2 测试版本号; 3 bug编号; 4 测试人名称;
5 测试事件; 6 测试软件和硬件配置信息; 7 软件错误类型;
8 错误的严重等级; 9 详细步骤; 10 附图; 11 测试注释。
BUG的状态
打开:确认/待确认的问题
处理中:已确认,相关开发人员正在修改
拒绝:拒绝修改的BUG,或者判定为非bug
延期:本版本不修复,后期版本修复
关闭:BUG已经被修复