赞
踩
目的:验证软件有没有问题
原则:以客户为中心,遵循软件测试规范。流程、标准和要求
测试不仅仅是为了找出错误
通过分析错误产生原因、阶段和错误发生趋势:
根据测试目的的不同,有回归测试、压力测试、性能测试、安全测试等,分别为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力
从测试的目的出发,大概可以分为两类:验证程序能正常工作的测试和验证程序不能正常运行的测试
IEEE定义:软件需求是
用户需求:可以理解为甲方提出的需求,或者是终端用户使用产品时必须要完成的任务
软件需求(功能需求):该需求会详细描述开发人员必须实现的软件功能
软件规格说明书(以注册为例):
一:用户需求
平台支持邮箱注册
二:软件需求
1.1.1.1、注册账号
1.1.1.1.1、功能概述
用户通过填写邮箱信息注册
1.1.1.1.2、用户角色
匿名用户
1.1.1.1.3、前置条件
无
1.1.1.1.4、输入
序号|名称|说明|长度|类型|备注
001|姓名|必填|6-15|字符型|
002|邮箱|必填|邮箱|字符型|
003|密码|必填|6-15|字符型|
004|确认密码| |6-15|字符型|
005| 验证码 | * |6位|字符型|
006|注册| 操作 | * |操作型|
1.1.1.1.5、处理
1.1.1.1.5.1、基本事件流
1.选择注册
2.系统展示用户协议界面,要求用户确认是否同意
1)同意:用户进行注册信息填写
2)不同意:禁止用户注册
3.注册信息填写
需要填写:姓名、邮箱、密码、确认密码、验证码
4.提交注册信息
5.系统向用户邮箱发送含有激活信息的邮件;同时提示用户,若未收到邮件,使用注册的邮箱和密码登录系统后再次发送激活邮件
6.可执行激活操作,直接跳转至注册邮箱门户界面
7.用户提供收到的邮件激活账户,完成注册
1.1.1.1.5.2、扩招事件流
用户注册并激活或,第一次登录平台,提示用户完善个人信息
1.1.1.1.5.3、异常事件流
1)用户没有收到激活邮件,可在登录见面录入电子邮件和密码后,再次发送激活邮件
2)每次发送的激活邮件,在24小时内有效,超过24小时需要重新发送
1.1.1.1.6、输出
用户注册成功
1.1.1.1.7、后置条件
该模块为用户登陆等的前置模块
Bug一词的原意是“昆虫”或“虫子”;而在电脑系统或程序中隐藏着的一些未被发现的缺陷或问题,人们也叫它“bug”。 格蕾丝·赫柏(GraceMurray Hopper),是一位为美国海军工作的电脑专家,也是最早将人类语言融入到电脑程序的人之一。而代表电脑程序出错的“bug”这名字,正是由赫柏所取的。1947年9月9日,赫柏对Harvard MarkII设置好17000个继电器进行编程后,技术人员正在进行整机运行时,它突然停止了工作。于是他们爬上去找原因,发现这台巨大的计算机内部一组继电器的触点之间有一只飞蛾,这显然是由于飞蛾受光和热的吸引,飞到了触点上,然后被高电压击死。所以在报告中,赫柏用胶条贴上飞蛾,并把“bug”来表示“一个在电脑程序里的错误”,“Bug”这个说法一直沿用到今天。
与Bug相对应,人们将发现Bug并加以纠正的过程叫做“Debug”(中文称作“调试”),意即“捉虫子”或“杀虫子”。 后来就直接用bug
在很多的软件测试中 都用Bug来说明那些问题。
————————————————————————————————by百度百科
当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误
当没有需求规格说明书时,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误
产生bug的后果:用户流失,绩效下滑
出现bug的责任:测试人员是第一责任人
发现bug的处理:第一时间回滚,如何慢慢定位
**测试用例(Test Case)**是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等
测试用例 ecsp-439: 单位用户注册成功 | |
---|---|
步骤动作 | 预期结果 |
进入注册界面,选择注册 | 系统展示注册界面 |
输入符合要求的单位名称、单位邮箱、密码、确认密码、组织机构代码、验证码,并确认同意《用户注册协议》,提交注册信息 | 系统进行注册操作,发送激活邮件。注册成功后,跳转到注册成功页面,并提示用户进行激活操作 |
进入注册所使用的邮箱,进行激活操作 | 激活成功 |
使用邮箱和密码登录 | 登录成功 |
测试方式 | 手工 |
重要性 | 重要 |
测试环境 | CHROME,IE10 |
测试前提 | 系统正常,邮箱服务器开启 |
功能模块 | 注册和登录 |
测试过程中可能会遇到:
不知道较为全面的测试了所有功能——>测试覆盖率无法衡量——>对新版本的重测难以实施——>存在大量冗余影响测试效率
而测试用例的产生就是为了解决以上问题
软件的生命周期是指从软件产品的设想开始到软件不再使用而结束的时间;即需求分析、计划、设计、编码、测试、运行维护。
瀑布模型(Waterfall Model):
瀑布模型是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,所有是线性顺序进行的软件开发模式
螺旋模型(Spiral Model):
在软件开发初期要求不是很明确的时候,一般采用渐进式开发模型。螺旋模型就是渐进式开发模型的代表之一
适用于规模庞大、复杂度高、风险大的项目
而这种迭代开发模式就会给软件开发带来新的要求:不允许有一段独立的测试时间和阶段,测试必须跟随开发的迭代而迭代。
增量、迭代
增量开发能显著降低项目风险,结合软件持续构建机制,构成了当今流行的软件工程最佳实践之一。
增量开发模型,鼓励用户反馈,在每个达代过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发。
在这种开发模式下,每一次的迭代都意味着可能有需求的更改、构建出新的可执行软件版本,意味着测试需要频繁进行,测试人员需要与开发人员更加紧密地协作
增量是逐块建造的概念
迭代是反复求精的概念
敏捷
《敏捷宣言》:
个体与交互重于过程和工具
可用的软件重于完备的文档
客户协作重于合同谈判
响应变化重于遵循计划
在每对比对中,后者并非全无价值,但我们更看重前者。
scrum
scrum由product owner(产品经理)、scrum master(项目经理)和team(研发团队)组成
迭代开发
与瀑布不同,scrum将产品的开发分解为若干个小sprint(迭代),其周期从1周到4周不等,但不会超过4周。参与的团队成员一般是5到9人。每期迭代要完成的user story是固定的。每次迭代会产生一定的交付。
scrum基本流程
产品负责人负责整理user story,形成左侧的product backlog。
发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出这一期迭代要完成的story列表,sprint backlog。
迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计。
每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。
演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的story。
回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改 进的效果。
敏捷中的测试
挑战1.轻文档
挑战2.快速迭代
测试用例作用减弱,更多的采用思维导图、探索性测试(强调自由度,设计和执行同时进行,根据测试结果不断调整测试计划)、自动化测试
软件测试V模型
软件测试W阶段
**配置管理( Configuration Management)**是通过对在软件生命周期不同的时间点上的软件配置进行标识,并对这些被标识的软件配置项的更改进行系统控制,从而达到保证软件产品的完整性和可溯性的过程。
实施软件配置管理(SCM),至少能给项目团队带来如下好处:
(1)能够对项目中的文档、代码等的变化进行有效管理。
(2)能够方便地重现某个文件的历史版本。
(3)能够重新编译某个历史版本,使维护工作变得容易。
(4)能够使异地多团队开发、并行开发成为现实。
(5)从公司级看,实行统一的配置管理流程可提高项目组间人员流动的工作效率
测试人员应该从配置库取源代码编译后再测试,只有看到新的构建版本不再出现那个Bug,才能把缺陷库中的Bug关闭
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。