软件测试
2017-08-07 15:45
363 查看
软错误、缺陷、故障、失效
软件失效的机理可描述为:软件错误→软件缺陷→软件故障→软件失效1、软件错误:在可以预见的时期内,软件仍将由人来开发。在整个软件生存期的各个阶段,都贯穿者人的直接或间接的干预。然而,人难免犯错误,这必然给软件留下不良的痕迹。软件错误是指在软件生存期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。可见,软件错误是一种人为过程,相对于软件本身,是一种外部行为。
2、软件缺陷:软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,如少一个逗号、多一语句等。其结果是软件运行于某一特定条件时出现软件故障,这时称软件缺陷被激活。
3、软件故障:软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态。譬如,软件处于执行一个多余循环过程时,我们说软件出现故障。此时若无时当的措施(容错)加以及时处理,便产生软件失效。显然,软件故障是一种动态行为。
4、软件失效:软件失效是指软件运行时产生 的一种不希望或不可接受的外部行为结果。
软件测试的各阶段
测试存在于各个阶段:需求测试---》单元测试---》集成测试---》系统测试---》性能测试---》用户测试---》回归测试
需求测试
完整性&正确性一致性&可行性
无二义性&健壮性
必要性&可测试性
可修改性
单元测试
又称模块测试,就是对程序代码中最小的涉及模块单元进行测试。在单元测试中主要采用静态测试与动态测试相结合的办法。
单元测试要求需要代码编写经验,并且要十分熟悉当前的被测系统,以及该系统是否与其他系统的接口关联情况。
单元测试在编码阶段占据非常重要的地位。可以降低编码的错误率,提高编码质量
集成测试
又称组装测试,是将软件产品各个模块组装起来,检查接口是否存在问题,以及组装后的整体功能、性能表现。一般可采用非增式集成方法、增式集成方法(自底向上集成、自顶向下集成、组合方式集成)等策略进行测试,利用黑盒测试为主,白盒测试为辅的测试方法进行测试。
主要解决各个组成但源代码是否符合开发规范、接口是否存在问题,整体功能有无错误、界面是否符合设计规范、性能是否满足用户需求等。
系统测试
将通过集成测试的软件部署到某种较为复杂的计算机永华环境进行测试。目的:通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。
这个阶段主要进行的是安装卸载测试、兼容性测试、功能确认测试、安全测试等。
采用黑盒测试法,主要考察被测软件的功能与性能表现。
性能测试
性能测试要求被测软件在业务处理速度、处理能力和所耗用的硬件系统资源比率满足用户的需求。不要尝试用手动方式进行性能测试,应当编写一段相应的程序或者使用专门的工具进行,如利用自动化性能测试工具。
性能测试相对难度较大,要求测试人员掌握编程语言,精通业务流程,拥有深厚的项目经验。
用户测试
可称为用户确认测试。正式验收前,需要用户对本系统做出一个评价,用户可对交付的系统做测试,并将测试结果反馈回来,进行修改、分析。
用户测试环节是被测试软件首次作为正式的系统交友用户使用,用户会根据他们的实际使用情况进行测试、使用,并提出实际使用过程中的问题。
用户测试是软件生产流程中的最后质检关。
回归测试
回归测试是经过一段时间以后再回过头来对以前修复过的Bug重新进行测试,看该Bug是否会重新出现。可采用自动化测试工具来进行回归测试,或者由测试工程师手动的执行以前的测试用例。来检查用例通过情况。
相关文章推荐
- 性能测试分层模型-选自书籍:小强软件测试疯狂讲义
- 软件测试
- 基于Web的系统测试与传统的软件测试
- 软件测试人员也开始使用podcasting了
- 软件测试白盒测试之基本路径测试方法
- 软件自动更新测试
- 安卓软件测试的几个要点
- 软件开发人员和软件测试人员区别
- 什么是软件测试?
- 软件测试--测试计划与测试方案的区别
- 软件测试估算的最佳方法?
- 如何有效又圆满地完成软件测试?
- DNS域名服务 BIND (上)——BIND相关软件包 DNS测试
- 软件测试人员不能避免偏向,但是可以管理偏向
- 亿能软件测试培训,现诚聘专职讲师,有意向的朋友请与我联系!
- 【软件测试自动化-QTP NOTE 13】 == 如何创建高效的Test-Data Dictionary 1st ==
- 转载软件测试总结
- 测试时代软件测试交流会4月15日北京举行
- 软件测试自学与充电指南(升级版)
- 看来SmartBear是要成为软件测试工具领域甚至ALM领域不可小瞧的角色了!