-
软件测试的分类
按测试模型分类
瀑布模型
传统的瀑布模型
敏捷测试
基于脚本的测试
基于风险的测试
探索式测试
。。。。。。
查看全部 -
软件测试手段
按对象可见度:
黑盒测试
系统测试使用较多
主要测试:
是否有不正确或遗漏的功能
在接口上,输入是否能正确的结束。能否输出正确的结果
是否有数据结果错误或外部信息访问错误
性能上是否满足要求
优点:
容易实施、不需要关注内部实现
更接近用户的使用角度
缺点:
测试覆盖率低,一般只能覆盖到代码量的不到40%
针对黑盒的自动化测试,复用率较低,维护成本较高
白盒测试:
优点:
迫使测试人员仔细思考软件的实现,理解原理
可以检测代码中的每条分支和路径
揭示隐藏在代码中的错误
对代码的测试比较彻底
缺点:
昂贵
无法检测代码中遗漏的路径和数据敏感性错误
不能直接验证需求的正确性
按状态:
静态测试
动态测试
按执行方式:
手工测试
自动化测试
查看全部 -
软件测试的分类
按阶段
单元测试:对软件中的最小可测试单元进行检查和验证
原则:
1.尽可能保证各个测试用例是相互独立的
2.一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求
益处:
1.能尽早发生缺陷
2.有利于重构
3.简化集成
4.文档(减少)
5.用于设计
局限:
1.不可能覆盖所有的执行路径,所以不可以保证捕抓到所以路径的错误
2.每一行代码,一般需要3-5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。
测试框架:XUnit\Junit\PHPUnit\CPPUnit\NUint
集成测试
主要实施方案:
1.Big Bang:大爆炸集成是属于非增值式集成的一种方法,也叫一次性组装或者整体拼装。该集成测试在辅助模块的辅助下,一次性把所有系统组件集合到被测系统中,不考虑组件之间的相互依赖性或者可能存在的风险,一般一次性成功的几率不大。
2.自顶向下
单元、模块之间在集成时有高底层之分,而子系统、系统的由单元、模块组成时就像树结构一样,接口是它们的连接,单元、模块的实现是节点
深度优先的测试:按照结构,用一条主控制路径将所有模块组合起来
广度优先的测试:逐层组合所有下属模块,在每一层水平地沿着移动
桩模块:是指模拟被测试的模块所调用的模块,而不是软件产品的组成的部分。主模块作为驱动模块,与之直接相连的模块用桩模块代替。在集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。
缺点:柱的开发量大;底层验证被推迟;底层组件测试不充分。
3.自底向上
自底向上的集成测试是最常用的一种集成测试方案,自底向上测试是从最地层的模块、单元进行组装的测试,而模块单元已经经过了单元测试,所以不再需要开发桩模块,由于没有著驱动那个程序,所以需要开发驱动程序。
是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果。
优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的工作量;支持故障隔离。
缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。
4.核心系统集成
先对核心内容进行集成测试,再逐步扩展到其他模块
5.高频集成
每隔一段时间对现有代码进行一次集成测试。
系统测试
验收测试
查看全部 -
兼容性测试分为:软件本身的兼容性;不同平台下的兼容性;软件对运行设备的兼容性;软件互操作性。
浏览器内核:IE6-8——Trident4-6;FirFox——Gecko;Safari、Chrome——WebKit;opera——presto。
浏览器兼容性测试工具:BrowserShots; Browser Sandbox; Google浏览器兼容测试插件:http://www.w3help.org/
查看全部 -
开放的web应用安全项目 www.owasp.org
重点模块:TOP 10;Testing Guide
安全测试工具:Appscan(针对web应用);Webinspect(惠普);Nessus(针对服务器,主机类,有免费版);Nmpa(端口嗅探工具);MetaSploit(攻击框架);WebScarab(owasp提供);Fortify(惠普,白盒测试工具);W3AF(开源的漏洞扫描工具,针对web应用)
查看全部 -
开放的web应用安全项目 www.owasp.org
重点模块:TOP 10;Testing Guide
安全测试工具:Appscan(针对web应用);Webinspect(惠普);Nessus(针对服务器,主机类,有免费版);Nmpa(端口嗅探工具);MetaSploit(攻击框架);WebScarab(owasp提供);Fortify(惠普,白盒测试工具);W3AF(开源的漏洞扫描工具,针对web应用)
查看全部 -
开放的web应用安全项目
重点模块:TOP 10;Testing Guide
安全测试工具:Appscan(针对web应用);Webinspect(惠普);Nessus(针对服务器,主机类,有免费版);Nmpa(端口嗅探工具);MetaSploit(攻击框架);WebScarab(owasp提供);Fortify(惠普,白盒测试工具);W3AF(开源的漏洞扫描工具,针对web应用)
查看全部 -
开放的web应用安全项目 www.owasp.org
重点模块:TOP 10;Testing Guide
安全测试工具:Appscan(针对web应用);Webinspect(惠普);Nessus(针对服务器,主机类,有免费版);Nmpa(端口嗅探工具);MetaSploit(攻击框架);WebScarab(owasp提供);Fortify(惠普,白盒测试工具);W3AF(开源的漏洞扫描工具,针对web应用)
查看全部 -
开放的web应用安全项目 www.owasp.org
重点模块:TOP 10;Testing Guide
安全测试工具:Appscan(针对web应用);Webinspect(惠普);Nessus(针对服务器,主机类,有免费版);Nmpa(端口嗅探工具);MetaSploit(攻击框架);WebScarab(owasp提供);Fortify(惠普,白盒测试工具);W3AF(开源的漏洞扫描工具,针对web应用)
查看全部 -
性能测试:负载测试、压力测试、稳定性测试。
性能测试是通过判断一些性能指标来判断测试结果。
性能指标:并发用户数VU、每秒事务署TPS、系统响应时间、设备性能。
性能测试工具:LoadRunner; Sikperformer; Jmeter; WebLoad; Apache Bench; LoadUI
静态性能评估:开发Web应用时,基于一系列Web应用页面性能优化的最佳实践对Web应用的页面进行静态分析,并给出评估结果的性能分析方法。
评估标准/工具:YSlow、PageSpeed(均为浏览器插件)
应用性能管理(APM):提供对系统的实时监控以实现性能管理、故障管理的解决方案。(听云官网www.tingyun.com)
查看全部 -
功能测试:根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
针对的问题:功能错误或遗漏、界面问题、 性能错误(软件本身的性能错误)、数据及访问错误、初始化及终止错误。
自动化测试工具:商用:QTP winrunner;silk Test; Rational robot
开源:selenium; Watir; Sikuli
查看全部 -
负载测试:指的是在我们测试过程中,来逐步的增加负载,并且记录下被测系统相应的性能表现,最终确定出,系统在正常指标下的一个最大的负载
压力测试:指的是测试系统在极限情况下的压力情况,也就是确定我们的系统,在什么样的负载压力下,会导致我们系统的失效,不能够正常运行,确定出系统所能承受的最大的一个极限
稳定性测试:指稍大于一个正常业务量的负载,对系统进行持续的,长时间的测试,比如24*5,连续五天的对这个系统施加压力,以确定系统在较长运行时间的情况下,这个系统的稳定性情况查看全部 -
软件测试所遵循的原则
一、测试显示缺陷的存在,但不能证明系统不存在缺陷
二、穷尽测试是不可能的,应设定及时终止的条件
三、软件测试应尽早进行:缺陷更多是在研发前期引入,缺陷修复的成本是随着研发周期的推移不断攀升的
四、缺陷具备群集特性:越是发现越多缺陷,往往也意味着这个模块中有越多的缺陷没有被发现
五、杀虫剂悖论:如果采用同样的测试用例,同样的测试方法多次重复的测试某一个模块,那最后就不能在发现新的缺陷,测试用例和方法应不定期的评审和修改,并且增加不同的测试用例和方法来测试软件或系统的不同部分。
六、二八原则:将百分之八十的时间用在百分之二十的重点模块上。
七、测试活动依赖于测试背景:例如金融类软件对安全性要求较高
查看全部 -
软件工程中的测试用例是一组条件或变量,测试者根据它来确定应用软件或软件系统是否正确工作。
查看全部 -
软件测试 课程回顾
查看全部
举报