LucyDroid

测试基础系列之需求分析

[p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]一、需求分析的意义[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]相信每一位入行的测试工程师都听过这样一句话:“站在用户的角度去测试”。[/size][/font][/color][/p][p=16, null, left][font=HannotateSC-W5][size=12px]所谓的用户的角度,其实就是需求。而需求分析就是要弄清楚用户需要的是什么功能,用户会怎样使用系统。这样我们测试的时候才能更加清楚的知道系统该怎么样运行,才能更好的设计测试用例,才能更好的进行[url=https://www.testbird.com/][color=#000000]APP测试[/color][/url]。[/size][/font][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]
[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]二、为什么要进行需求分析[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]1、把不直观的需求-----转变为-----直观的需求(流程图/思维导图)需求文档通常是图片加文字,很多规则只看文字很难理解的透彻[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]通过流程图/思维导图的形式展现更加直观,更容易理解[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]2、把不明确的需求-----转变为------明确的需求明确其功能点对应的输出、处理和输出;[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px] 很多时候产品给出的需求文档不一定非常详细,有很多需求点是需要去跟产品确定的[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]3、把不能度量的需求----转变为-----可度量的需求[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]将测试范围变成可度量,有利于计算测试用例的覆盖率,从而降低测试风险[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]测试过程中也能清晰的知道,哪些已经测试通过,哪些还没有测试通过[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]
[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]三、如何进行需求分析(两图一文档)[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]1、明确需求范围[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]了解该需求是为了解决用户的什么问题[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]功能性需求:产品必须有的功能[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]非功能性需求:是否美观,用户体验,稳定性,易用性等[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]最容易忽略的一点:明确的需求背后所隐藏的需求(例如登录,明确的需求是,正确输入用户名,密码,才能登录。隐性需求:用户名字符类型,长度,是否可为空;密码字符类型,长度等)将问题在需求阶段暴露的成本最小[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]2、画业务流程图(流程图)[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]根据需求中规定的业务流程[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]各业务流程分支的确定[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]由于业务原因规定不可使用的业务流程[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]3、功能点整理(思维导图)[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]业务功能:需求中所定义的实际业务直接相关的功能[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]数据约束:主要是用于控制在执行功能时,数据的显示范围、数据之间的关系等。[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]易用性需求:便于功能操作使用的一些细节,比如快捷键就是典型的易用性需求。[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]编辑约束:在功能执行时,对输入数据项目的一些约束性条件,比如只能输入数字。[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]权限需求:不同的权限所能操作的功能点的不同[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]4、提取测试点(测试需求文档)[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]根据整理的思维导图,去提取每一个功能点中的细节需求,例如新增员工,在思维导图中,最小的颗粒度就到新增员工了,但是新增员工这个功能仍然有很多的需求点,员工姓名唯一性判定,手机号码是否必填等,这些更细的需求点组合起来就形成了测试需求文档[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]5、确定测试范围[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]需求的确定,并不代表测试范围就是该需求的范围,很有可能一个需求分多个软件版本来实现,最后确定哪些需求是需要测试的。[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]明确哪些测试目标优先级高,哪些目标优先级低[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]要完成哪些相应的测试任务才能确保目标的实现[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]
[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]四、结语[/size][/font][/color][/p][p=16, null, left][color=#000][font=HannotateSC-W5][size=12px]需求分析的越详细,对业务的理解程度就越高,对设计测试用例的帮助就越大。测试的过程中就更有目的性。“磨刀不误砍柴工”,需求分析花的时间越多,之后测试的时间就越少。因为测试其实已经从需求阶段开始了。[/size][/font][/color][/p]

查看回复
qwqw221

【美国、韩国、俄罗斯、新加坡、香港 服务器】行业触底价

[color=#333333]【海外服务器租用 - 总有一款适合您】[/color]
[color=#333333]双至强5520 16核 24G内存 1TB 100M - 550元/月[/color]
[color=#333333]E3-1220v3 4核 16G内存 1TB 100M - 650元/月[/color]
[color=#333333]E3-1230v3 8核 8G内存 1TB 100M 5IP - 700元/月[/color]
[color=#333333]i5-650 4核 8G内存 1TB 10M 5IP - 650元/月[/color]
[color=#333333]E3-1230v2 8核 8G内存 1TB 5M 5IP - 800元/月[/color]
[color=#333333]E3-1230v2 8核 8G内存 1TB 5M 258IP - 1500元/月[/color]

[color=#333333]以上是每个数据中心的典型配置;[/color]

[color=#333333]【测试IP】[/color]
[color=#333333]洛杉矶:66.117.9.1(平均180ms)[/color]
[color=#333333]俄罗斯:83.217.10.1(平均130ms)[/color]
[color=#333333]新加坡:103.200.209.1(平均80ms)[/color]
[color=#333333]韩国KT:103.199.100.1(平均80ms)[/color]
[color=#333333]香港CN2:103.37.0.1(平均50ms)[/color]

[color=#333333]详情联系QQ:610000152[/color]

[color=#333333]推广员:[/color][color=#ff0000]ftp25815c[/color]

[color=#333333]来自 - 云邦互联 ([url]http://www.yun.ms/?web[/url])[/color]

查看回复
阿波

个人学习前段web开发的一些笔记(包含pc和移动端)

这是我学习前段期间的一些笔记可能有点乱 主要是一些不常用的标签属性~项目中常用的标签用法以及一些常用的小插件
希望能帮助到刚入门的小白

html:
; :空格占位符
&ensp:占据的宽度正好是1/2个中文宽度的空格
&emsp:其占据的宽度正好是1个中文宽度的空格
br:换行
clearfix或clear:both:清除浮动
使网页在新的窗口中打开
border:边框
加粗标签:strong
改变文字的方向:bdo
使用 blockquote 元素的话,浏览器会插入换行和外边距
光标样式cursor

input:submit提交按钮 text输入框 password密码 radio单选 checkbox多选 file 上传文件value
Input表示Form表单中的一种输入对象,其又随Type类型的不同而分文本输入框,密码输入框,
单选/复选框,提交/重置按钮等
placeholder 提示信息输入文字后消失

css:
当手机页面文字需要小于12px时:-webkit-transform:scale(0.83333);
overflow:如果元素中的内容超出了给定的宽度和高度属性,
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit 规定应该从父元素继承 overflow 属性的值。
text-overflow:ellipsis:使文本超出部分以省略号代替

text-overflow:ellipsis:如果元素中的文本超出了给定的宽度和高度属性以省略号代替

white-space:nowrap;
overflow: hidden;
text-overflow:ellipsis;如果元素中的文本超出了给定的宽度和高度属性以省略号代替

去下划线:text-decoration:none
text-decoration: overline 上边
text-decoration: line-through 中间
text-decoration: underline 底下

调整图片位置:vertical-align 可接具体数值 middle与文字居中对齐

使文本不换行:white-space: nowrap

设置背景:background:url /*no-repeat 不平铺/*center cneter 使图片居中
background-size:100% 100%;手机页面中使背景铺满
background-position:top left right bottom 设置背景位置

background:transparent 背景透明
如果想显示下面的内容需要将上一层背景设为透明

opacity:.2 透明度

z-index :你定义的CSS中有position属性值为absolute、relative或fixed,
用z-index此取值方可生效。
此属性参数值越大,则被层叠在最上面。

字体大小:font-size /*后跟百分比或具体像素

设置字体大小:font-weight /* normal标准 /* bold 粗体/* bolder 更 粗的/* lighter 更细的/* 100~900 400=normal 700=bold

文本居中:text-align: center;

首行缩进:text-indent

设置边框类型;display

使文字和英文左右对齐:text-align:justify

设置边框样式:border-style 点状 dotted 实线solid 双线double 虚线 dashed

设置边框圆角:border-radius 后接具体像素或百分比 border-top-right-radius可以指定一个角

设置外边距:margin

设置内边距:padding

设置行高:line-height

设置光标样式:cursor

设置文字阴影 水平阴影、垂直阴影、模糊距离,以及阴影的颜色:text-shadow 0px 0px 0px #

允许对长单词进行拆分,并换行到下一行 word-wrap:break-word;

box-shadow:设置容器阴影

去除列表的点:list-style:none

平分成几列:column-count

规定列之间间隔:column-gap:40px;

设置列之间的样式 :column-rule:3px outset #ff00ff;

绘制轮廓:outline:2px solid red;
outline-offset:15px;

规定元素的定位类型:position /*fixed 绝对定位相对于浏览器窗口/absolute绝对定位相对于static 定位以外的第一个父元素进行定位/relative 相对定位

提高指定CSS样式规则的应用优先权:!important

选择列表:select

可插入当做option的标题

select {
/Chrome和Firefox里面的边框是不一样的,所以复写了一下/
border: solid 1px #000;

/很关键:将默认的select选择框样式清除/
appearance:none;
-moz-appearance:none;
-webkit-appearance:none;

/在选择框的最右侧中间显示小箭头图片/
background: url("http://ourjs.github.io/static/2015/arrow.png") no-repeat scroll right center transparent;

/为下拉小箭头留出一点位置,避免被文字覆盖/
padding-right: 14px;
}

/清除ie的默认选择框样式清除,隐藏下拉箭头/
select::-ms-expand { display: none; }

:link 未访问
:visited 已访问
:hover 悬浮
:active 活动链接
class在css中用点
id用#

更改input按钮样式
input[type="checkbox"] {
-webkit-appearance: none;
}取消原有样式
input[type="checkbox"] {
-webkit-appearance: none;
background: #fff url(i/blue.png);
height: 22px;
vertical-align: middle;
width: 22px;
}添加样式
input[type="checkbox"]:checked {
background-position: -48px 0;
}添加选中样式

csss3:

使图片模糊:
-webkit-filter: blur(10px); /* Chrome, Opera */
-moz-filter: blur(10px);
-ms-filter: blur(10px);
filter: blur(10px);

移动端弹窗






常用的块状元素有:

...