-
回归测试
软件功能修改后,对软件进行重新测试以确认修改没有引入新的错误或导致其他部分产生错误。回归测试的重心在关键模块和重点功能组件。软件研发周期中会进行多次回归测试,且尽量实现自动化。
Monkey测试
Monkey测试,也称搞怪测试。就是用一些随机、稀奇古怪的方式来操作软件,以测试系统的健壮性和稳定性。
冒烟测试
来自于硬件板卡验证术语。软件上则用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。与回归测试有些相似,但冒烟测试更对的是针对全流程的关键业务流程的验证,而回归测试重点在关键模块、关键功能。
“每日构建”中用冒烟测试来确认合入的代码没有影响主要功能的正常使用。
A/B测试
多用于互联网行业,通过为页面提供2个版本给用户使用并记录相关的用户行为数据,来确定更优化设计的一种测试方案。
A/B测试实施要点
多个方案并行,保证统计结果的有效性
每次测试仅改动一个变量,能更加确定用户的选择差异
按照某种规则进行优胜劣汰
A/B测试工具
Google Andlytics Content Experiments 主要通过向用户提供不同页面的版本之后,通过嵌入我们的分析脚本,就可以收集到一系列分析数据。
Visual Website Optimizer
回归总结
查看全部 -
文档测试
针对软件产品的交付品,配套的文档类部件的测试。如用户手册、使用说明、用户帮助文档等。
文档测试关注要点
完整性、正确性、一致性、易理解性、易浏览性
可靠性测试
可分为软件可靠性、硬件可靠性,但一般指的是硬件、环境方面的可靠性。
易用性测试
易用性测试是指测试用户使用软件时是否感觉方便,是否能保证用户使用体验的测试类型。针对用户的交互界面,比如说业务流程的逻辑是否过于复杂、有没有误导用户的指引、包括网站的布局和样式。
本地化测试
针对软件的本地化版本实施的针对性测试
主要测试内容:语言、书写习惯,时区、日期规格、货币的转换,当地风俗、法律法规,政治敏感内容
部署测试
也称安装测试,主要验证系统部署过程,并确保软件经过安装测试后可以正常使用。
主要测试内容:
在不同环境下的部署验证,产品会有跨平台的特性,需在不同的环境下验证程序的编译是否有误。
参照部署文档执行,过程的合理、正确性。考虑一些在安装过程中出现的一些常见问题,比如网络中断,突然重启。
基础资料的准备非常重要,可用客户的线上资料
无障碍测试
Accessibility Test 也称可访问性测试。是指软件需要提供便于特殊人群使用的功能,包括视障、听障、老年人、身体残疾用户等,无障碍测试则是针对这部分功能的测试,虽然不是主流的测试方法,但是会越来越重视这一部分人的用户体验。
查看全部 -
兼容性测试
可以从多个维度来看软件本身的兼容性、不同平台下的兼容性、软件对运行设备的兼容性、软件互操作性
浏览器的内核
对于web应用来说有一个重要的兼容性问题就是浏览器的兼容问题
IE-8,9,10:Trident4-6
FireFox:Gecko
Safari、Chrome:WebKit
Opera:presto、
浏览器兼容性测试工具
BrowserShots 基于真实浏览器 进行截图比对
Browser Sandbox 通过不同的插件来实现模拟浏览器的测试
Google浏览器兼容测试插件(http://www.w3help.org/)
主要是从页面代码层面来进行分析,通过不同浏览器的内核来判断你的代码对不同浏览器的内核的一个兼容情况,来给出分析的建议
查看全部 -
安全测试
对软件产品进行测试以确保其符合产品安全需求和质量标准
渗透测试
通过模拟对软件系统的恶意攻击行为来评估系统安全性的一种测试
渗透测试VS安全测试 (对系统进行一个点到面的测试)
渗透测试:选择一些薄弱的点攻破系统以证明系统有问题
安全测试:对整个系统的防御就行一个检验,从整个防御面来考虑系统的安全性
OWASP
Open Web APPlication Security Project(开发的web应用安全项目)
主要关注两个栏目:OWASP Top10、Test Guide
安全测试工具:
Appscan Webinspect漏洞扫描工具
Nessus 针对服务器、主机类的漏洞扫描工具
Nmap 非常著名端口查看工具,可扫描主机,看开放了哪些端口进行下一步的攻击
MetaSploit 非常著名的攻击框架 包含大量的插件 通过这个框架对系统进行检测和渗透测试
WebScarab 基于代理检测攻击路径的检测
Fortify 白盒的测试工具 对我们开发的源代码静态的分析源码中可能存在的安全问题
W3AF 漏洞扫描应用 主要针对web应用
查看全部 -
黑盒测试方法:业内经验值,黑盒的覆盖率在40%左右。
等价类划分法:把所有输入中等价的划分成一类,最终形成若干典型等价的输入(必选、可选参数划分)
边界值分析法:需要重点关注的
错误推测法:基于经验或直觉来判断程序中可能出现错误的地方,从而针对性的涉及用例的方法
(文件不存在、字符串不合法)
因果图法:根据SRS,输入——输出对应关系
正交试验分析法:主要用于筛选输入测试数据(目前用不到)
状态迁移图法:提交状态、审批状态、审批通过、审批不通过(目前用不到)
流程分析法:通过梳理程序的逻辑执行路径,来涉及测试用例(目前用不到)
查看全部 -
性能测试
性能测试可延伸为负载测试、压力测试、稳定性测试
性能指标(特别对于web应用来说):
并发用户数VN、每秒事务数TPS、系统响应时间、设备性能
性能测试工具
LoadRunner(普及,功能强大)、Silkperformer、Jmeter(基于Java、开源)、WebLoad、Apache Bench、LoadUI(接口性能测试)
静态性能评估:开发web应用时,基于一系列web应用页面性能优化的最佳实践对web应用的页面进行静态分析,并给出评估结果的性能分析方法。
两款静态性能评估工具(标准)
扩展程序(插件):YSlow、Pagespeed
应用性能管理(APM)
Application performance Management,提供对系统的实时监控以实现性能管理、故障管理的解决方案
查看全部 -
功能测试
根据产品特征、操作描述和用户方案,测试一个产品的特征和可操作行为以确定他们满足设计需求。
针对的问题
功能错误或遗漏、界面问题、性能错误(软件本身的性能问题:大数据量的加载)、数据及访问错误初始化及终止错误。
功能测试工具:QTPwinrunner、silkTest、Rationnal robot、selenium(web 开源)、Watir(web 开源)、Sikuli(基于截屏的简单测试工具)
查看全部 -
黑盒测试的优点:
1、容易实施,不需要关注内部的实现。
2、更贴近用户的使用角度。
黑盒测试的缺点:
1、测试覆盖率低。一般只覆盖到代码量的不到40%。
2、针对黑盒的自动化测试,复用率较低,维护成本高。
黑盒测试的主要设计方法:
等价类划分法:
边界值分析法:
错误推测法:
因果图法:
正交试验分析法:
状态迁移图法:
流程分析法:
白盒测试:
白盒测试又称为结构化测试,透明测试。针对逻辑机构来编写测试用例。
主要的逻辑单位:语句、条件、条件组合、分支、路径
白盒测试的优点:
1、迫使测试人员去仔细思考软件的实现,理解原理。
2、可以检测代码中的每条分支和路径
3、揭示隐藏在代码中的错误
4、对代码的测试比较彻底
白盒测试的缺点:
1、昂贵,成本高
2、无法检测代码中遗漏的路径和数据敏感性错误
3、不能直接验证需求的正确性
白盒测试的主要测试方法:
代码检测法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法
静态测试:无需执行被测程序,通过评审软件文档或代码来发现程序的不足。
互审:两两程序员之间的互相检查代码的不足
走查:两个小组之间的互相检查
会议:一起召开一个会议,对输入和输出文档进行一个审查
动态测试:
是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率,正确性和健壮性等。
手工测试:
由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试。
手工测试的优点:易发现缺陷、容易实施、创造性、灵活性
手工测试的缺点:覆盖量化难、重复测试效率低、不一致性、可靠性、人力资源依赖
自动化测试的优点:高效率速度快、高复用性、覆盖率容易度量、准确可靠、不知疲倦
自动化测试的缺点:机械,发现缺陷率低、一次性投入较大
查看全部 -
1.什么是软件测试?
使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。
软件测试的范围为整个软件周期。
软件测试的五大要素:质量、人员、资源、流程、技术
软件测试的两个目标:测试覆盖率、测试效率
查看全部 -
软件测试手段八分钟查看全部
-
软件测试手段八分钟查看全部
-
笔记如下图:
查看全部 -
按测试阶段分类
单元测试:最小可测试单元
原则:尽量保证各个测试用例相互独立;一般由代码开发人员实施;
益处:尽早发现缺陷(TDD);有利于重构;简化集成;文档;用于设计
限制:难以覆盖所有执行路径;代码量上需要投入和产出之间寻找一个平衡;
单元测试框架
集成测试 :单元测试的基础上,完成测试的单元组装成子模块,测试这个集成是否达到要求,测试对象为单元接口
实施方案:1.Bigbang 2.自顶向下 (主程序-控制层逐层向下) 3.自底向上(常用基础) 4.核心系统集成 5.高频集成(同步开发过程)
单元测试&集成测试:测试对象不同、测试依据不同(详细设计/概要设计)、测试方法不同
系统测试:完成集成测试的软件,作为部分,与系统中的其他部分,实际运行环境下,进行的测试。(功能测试,性能测试,稳定性测试等)
关注点:本身的使用,系统间的联通,不同压力下的表现,真实使用环境下的表现
集成测试&系统测试:测试对象不同、测试时间先后、测试内容、测试角度(技术和业务)
验收测试(又称交付测试,确定系统是否满足验收标准,能否被客户接受)
细分:用户验收;运行验收(运行备份维护);合同和规范验收;alpha;beta ;----验收测试驱动开发
查看全部 -
软件测试的分类
按测试阶段分类
单元测试:最小可测试单元
原则:尽量保证各个测试用例相互独立;一般由代码开发人员实施;
益处:尽早发现缺陷(TDD);有利于重构;简化集成;文档;用于设计
限制:难以覆盖所有执行路径;代码量上需要投入和产出之间寻找一个平衡;
单元测试框架
集成测试 :单元测试的基础上,完成测试的单元组装成子模块,测试这个集成是否达到要求,测试对象为单元接口
实施方案:1.Big bang 2.自顶向下 (主程序-控制层逐层向下) 3.自底向上(常用基础) 4.核心系统集成 5.高频集成(同步开发过程)
单元测试&集成测试:测试对象不同、测试依据不同(详细设计/概要设计)、测试方法不同
系统测试:完成集成测试的软件,作为部分,与系统中的其他部分,实际运行环境下,进行的测试。(功能测试,性能测试,稳定性测试等)
关注点:本身的使用,系统间的联通,不同压力下的表现,真实使用环境下的表现
集成测试&系统测试:测试对象不同、测试时间先后、测试内容、测试角度(技术和业务)
验收测试(又称交付测试,确定系统是否满足验收标准,能否被客户接受)
细分:用户验收;运行验收(运行备份维护);合同和规范验收;alpha;beta ;----验收测试驱动开发
查看全部 -
软件测试的分类
按测试阶段分类
单元测试:最小可测试单元
原则:尽量保证各个测试用例相互独立;一般由代码开发人员实施;
益处:尽早发现缺陷(TDD);有利于重构;简化集成;文档;用于设计
限制:难以覆盖所有执行路径;代码量上需要投入和产出之间寻找一个平衡;
单元测试框架
集成测试 :单元测试的基础上,完成测试的单元组装成子模块,测试这个集成是否达到要求,测试对象为单元接口
实施方案:1.Big bang 2.自顶向下 (主程序-控制层逐层向下) 3.自底向上(常用基础) 4.核心系统集成 5.高频集成(同步开发过程)
单元测试&集成测试:测试对象不同、测试依据不同(详细设计/概要设计)、测试方法不同
系统测试:完成集成测试的软件,作为部分,与系统中的其他部分,实际运行环境下,进行的测试。(功能测试,性能测试,稳定性测试等)
关注点:本身的使用,系统间的联通,不同压力下的表现,真实使用环境下的表现
集成测试&系统测试:测试对象不同、测试时间先后、测试内容、测试角度(技术和业务)
验收测试(又称交付测试,确定系统是否满足验收标准,能否被客户接受)
细分:用户验收;运行验收(运行备份维护);合同和规范验收;alpha;beta? ;----?验收测试驱动开发
查看全部 -
软件测试的分类
按测试阶段分类
单元测试:最小可测试单元
原则:尽量保证各个测试用例相互独立;一般由代码开发人员实施;
益处:尽早发现缺陷(TDD);有利于重构;简化集成;文档;用于设计
限制:难以覆盖所有执行路径;代码量上需要投入和产出之间寻找一个平衡;
单元测试框架
集成测试 :单元测试的基础上,完成测试的单元组装成子模块,测试这个集成是否达到要求,测试对象为单元接口
实施方案:1.Big bang 2.自顶向下 (主程序-控制层逐层向下) 3.自底向上(常用基础) 4.核心系统集成 5.高频集成(同步开发过程)
单元测试&集成测试:测试对象不同、测试依据不同(详细设计/概要设计)、测试方法不同
系统测试:完成集成测试的软件,作为部分,与系统中的其他部分,实际运行环境下,进行的测试。(功能测试,性能测试,稳定性测试等)
关注点:本身的使用,系统间的联通,不同压力下的表现,真实使用环境下的表现
集成测试&系统测试:测试对象不同、测试时间先后、测试内容、测试角度(技术和业务)
验收测试(又称交付测试,确定系统是否满足验收标准,能否被客户接受)
细分:用户验收;运行验收(运行备份维护);合同和规范验收;alpha;beta? ;----?验收测试驱动开发
查看全部 -
什么是软件测试?
使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。
软件测试的五大要素和两个目标:
五大要素:质量、人员
资源、流程、技术
两个目标: 提高测试覆盖率和提高测试效率
软件测试所遵循的原则:
1、测试显示缺陷的存在,但不能证明系统不存在缺陷
2、穷尽测试是不可能的,应当设定及时终止的条件
3、软件测试应当尽早进行,越早进行缺陷修复成本越小
4、缺陷具备群集特性(大部分的错误在小部分的模块集中)
5、测试的杀虫剂特性(如果总用同一方法对同一模块进行测试,则不能发现新问题)
6、测试的二八原则(将百分之八十的资源用在百分之二十的重点模块上)
7、测试活动依赖于测试背景。
软件测试的对象:
软件需求
软件概要设计
软件详细设计
软件运行环境
可运行程序
软件源代码
软件测试的测试对象
查看全部 -
性能测试:验证系统的性能要求可以满足我们的需求规格给定的的指标。
a.负载测试:在我们测试过程中逐步增加负载,并且记录下被测系统相应的性能表现,最终确定出系统在正常指标范围下最大的负载
b.压力测试:测试系统在极限情况下的压力情况,即确定系统在哪个负载压力的情况下会导致系统失效,确定出系统所能承受的最大极限
c.稳定性测试:给系统一个稍大于正常业务量的负载,对系统进行持续的长时间的测试,以确定系统在较长时间的情况下稳定性的情况
性能指标:
并发用户数UV,每秒事务数TPS(每秒处理事务的能力),系统响应时间,设备性能等
性能测试工具:
Loadrunner、Jmeter等
查看全部 -
功能测试:根据产品的特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
针对的问题:功能错误或遗漏、界面问题、性能错误(软件本身的性能问题)、数据及访问错误、初始化及终止错误
工具:QTP、Selenium(基于Web)
查看全部
举报