什么是软件测试? 是一个发现错误的过程,在一定的环境之下,通过一定的手段,找出软件中的问题,对比出预期结果与实际结果之间的差距 什么是软件? 包括:程序,数据,文档 软件运行环境:软件能够进行使用的软件和硬件,网络情况集合;
一、按是否运行程序 静态测试:不运行被测试程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程 包括:代码走查,文档检查 动态测试:动态是运行被测试程序,输入相应的测试数据,检查运行结果与预期结果的差异,判定执行结果是否符合要求。 二、是否检查程序代码 黑盒测试:把程序当做黑色的盒子,不关心程序的代码结构。只验证其功能是否满足要求;注重于测试软件的功能需求。 包括:功能测试,界面测试,兼容性测试。。。。 灰盒测试:既要关注程序的功能也要关注程序的代码结构; 白盒测试:又称结构测试、逻辑驱动测试或基于程序本身的测试 ;把程序当做一个透明的白色盒子,重点关注程序的代码逻辑和结构; 从软件的特性来进行划分: 功能测试:用途;测试一个产品的特性和可操作行为以确定它们满足设计需求;
性能测试:效率;评价一个产品或组件与性能需求是否符合的测试; 包括负载测试:用于检查系统在使用大量数据的时候正确工作的能力,即检验系统的能力最高能达到什么程度。 压力测试(强度测试):获取系统正确运行的极限,检查系统在瞬间峰值负荷下正确执行的能力 数据库容量测试:检查系统在正确工作的能力下的访问量 基准测试:单人单个操作的测试行为 界面测试:指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等; 兼容性测试:测试软件是否和系统的其它与之交互的元素之间兼容; 比如:easybuy 兼容:浏览器 安全性测试:检查系统对非法浸入的防范能力,检查系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞 安装测试:确保该软件在正常情况和异常情况的不同条件下 能够正确安装; 易用性测试:主要从使用的合理性和方便性等角度对软件系统进行检查,发现人为因素或使用上的问题。<人体工程学> 文档测试:主要检查文档的正确性、完备性和可理解性 文档包括:用户帮助手册,在线帮助,产品说明书 恢复测试(容错性测试):主要检查系统的容错能力 可移植性测试:测试软件是否可以被成功移植到指定的硬件或软件平台上。 引导测试 :软件开发中,验证系统在真实硬件和客户基础上处理典型操作的能力 ; 按测试地域代分: 国际化测试:测试软件的国际化支持能力,发现软件的国际化的潜在问题,保证软件在世界不同区域中都能正常运行。 本地化能力测试:本地化能力是指不需要重新设计或修改代码,将程序的用户界面翻译成任何目标语言的能力。 本地化测试:本地化测试的对象是软件的本地化版本。 按照软件测试的阶段进行划分: 单元测试:程序员,模块或者函数,模块的逻辑设计,白盒测试的方法 集成测试:测试人员:模块之间的接口,接口文档,概要设计文档,黑盒测试方法 系统测试:测试人员;整个软件产品;软件产品需求说明书;黑盒测试方法 验收测试:用户/客户、产品;整个软件产品; 按客户合同验收,或者用户使用习惯 α测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。 β测试:软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。 错误猜测 错误猜测试是通过直觉发现程序中的错误和缺陷的能力。 冒烟测试 冒烟测试(Smoke testing)的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。 回归测试 在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,对软件的任何新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再现。
|