一:软件测试基础知识:
1:软件测试的定义:
IEEE的定义:使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清楚预期结果与实际结果之间的差别。
通俗一点说软件测试是采用测试用例执行软件的活动,目标是找出失效或演示正确的执行。
2:软件bug产生的原因:主要有三种情况
A:在编码前就产生的错误:作为软件开发依据的需求,在开发初期就提供的不够明确,不能满足用户的实际需求或对用户的需求理解有误。
B:在编码过程中产生的错误:开发人员的逻辑错误或开发过程中没有遵守统一的,公认的方法论或开发规范,开发人员间配合不够严密,约定不够明确。
C:测试过程中可能产生的错误:开发人员对测试当中发现的bug进行修改后,可能产生新的bug。
3:测试的生命周期:
2:集成测试:将测试过的单个模块集成到子系统中,直到测试完整个系统,这里的集成可以是一次性的(非增量式集成),也可以是逐个的扩展(增量式集成)
3:系统测试:充分运行系统,验证系统各部件是否都能正常工作并完成所赋予的任务。常见的系统测试包括:恢复测试、安全测试、性能测试、强度测试。
4:验收测试:用户验收测试是软件开发结束后,用户对软件产品投入实际应用以前进行的最后一次质量检验活动。它要回答开发的软件产品是否符合预期的各项要求,以及用户能否接受的问题。
4:软件测试的信息流:
二:软件错误与软件质量保证:
1:软件错误严重级别分类:
1- Low 低级别:使操作者不方便或遇到麻烦,但它不影响执行软件功能,比如标题或信息提示不正确。
2- Medium中等级别:影响系统的基本功能或简单功能,但软件可以正常运行,比如执行速度缓慢。
3- High 高级别:严重地影响系统要求或基本功能的实现,但存在合理的更正办法,比如信息修改失败或不正确。
4- Very high 严重级别:严重地影响系统要求或基本功能的实现,且没有办法更正,比如遥测、遥控失败。
5- Urgent 致命级别:不能执行正常软件功能或重要功能,软件无法正常运行下去,比如系统崩溃、死机。
2:软件错误的分类:
从错误的性质看,软件错误分为以下几种
1:静态测试和动态测试:
主要从是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要是让测试人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余的变量等),而动态测试则通过运行被测试软件来达到目的。