软件测试笔记

Posted 说笑谈古松

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试笔记相关的知识,希望对你有一定的参考价值。

什么是软件测试?
在规定的条件下对程序进行操作,从而发现错误,对软件质量进行评估的一个过程.

测试的目的:
是想以最少的人力、物力和时间找出软件潜在的各种错误与缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险。

软件测试的原则:
1、所有的测试都应追溯到用户需求
2、应该把“尽早和不断地测试”作为座右铭
3、测试工作应该有独立的专业的软件测试机构来完成
4、Pareto原则,测试发现的错误中80%很有可能起源于20%的模块中
5、设计测试用例时,应考虑各种情况。
6、对测试的错误结果一定要有一个确认的过程(描述缺陷报告)
7、制定严格的测试计划
8、完全测试是不可能的,测试需要终止
9、注意回归测试(见下一页)的关联性
10、妥善保存一切测试过程文档
回归测试:指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误.

软件产品质量模型(ISO/IEC9126)
软件产品质量模型对产品设计时需要考虑的地方进行了高度概括。
六大特性:
1、功能性:是指软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力。
2、可靠性:是指在特定条件下使用时,软件产品维持特定的性能级别能力。第一层:设备最好不要出故障;第二层:设备出现故障了不要影响主要的功能和业务;第三层:如果影响了主要的功能和业务,系统可以尽快定位并恢复。
3、易用性:是指用户在指定条件下使用软件产品时,产品被用户理解、学习、使用和吸引用户的能力,简单就10个字:易懂、易学、易用、漂亮好看(用户体验好)。
4、效率:是指在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力。通常,效率就是我们常说的产品性能。
5、可维持性:是指产品可被修改的能力,这里的修改是指纠正,改进软件产品和软件产品对环境、功能规格变化的适应性。
6、可移植性:是指软件产品从一种环境迁移到另一种环境的能力。这里的环境,可以理解为硬件、软件或组织等不同的环境。(win7、win10、安卓、ios…)

软件质量模型保证:
软件质量保证是建立一套有计划,有系统的方法,来定向管理保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是否合乎标准。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。
定义:它是一套计划和方法来向领导层保证。
基本目标:
1、软件质量保证工作是有计划进行的。
2、客观地验证软件项目产品和工作是否遵循恰当的标准、步骤和需求。
3、将软件质量保证工作及结果通知给相关组和个人。
4、高级管理层接触到在项目内部不能解决的不符合类的问题。
5、软件质量需要全面的测试工作来保证。
QC:检验产品的质量,保证产品符合客户的需求,是产品质量检测者。
QA:审计过程的质量,保证过程被正确执行,是过程质量的审计者。
QC进行质量控制,向管理层反馈质量信息,QA则确保QC按照过程进行质量控制活动,按照过程将检查结果向管理层汇报,这就是QC和QA的关系。

软件测试的基本流程
1、需求分析
2、编写测试用例(测什么,怎么测)
3、评审测试用例
4、搭建测试环境
5、等待开发提交测试包
6、部署测试包
7、冒烟测试(对软件主体基本功能进行基本测试)
8、执行测试用例
9、bug跟踪处理(提交及回归bug)
10、N轮之后符合要求
11、测试结束

web前端

web前端标准:
1、html结构标准
2、css样式标准
3、js行为标准

五大浏览器厂商:
ie
谷歌
火狐
苹果
欧朋

HTML定义:超文本标记语言

html语法规则:
标签、标记符号-----------<>又称尖括号;
html语言必须写在标签符号里面
html中的标签大多数都是成双成对出现的
关闭符号-----------/又称反斜杠

四、第一个HTML标签
1、 描述当前文件的版本信息,如果没有详细说明4.0还是x1.0那就是5版本
2、<html >< /html>文件
3、<head>网页的头部
4、<meta charset="UTF-8"> utf-8 是国际编码的意思,如果不写,或者写成其他都会有问题。
5、<title> 此处内容是网页的标题< /title>
6、<body>我们自己写的所有代码都放在这里< /body>
注意:HTML文档不能正常的识别空格,需要使用特殊代码。
标签、标点、标记都是<>括号

五、标签语义化
在合适的地方使用合适的标签
为什么标签语义化:因为浏览器只认识标签,没有语音语调,所以想表达的东西只能使用对应的标签来表示;
标签语义化的好处:语义化做的好,可以让搜索引擎把你的网站排名更靠前。

**六、img图片标签 **
img是一个但单标签

<img src="图片名字" width="宽度" height="高度" alt="1.图片未加载的提示文字 2、网页阅读器可以读取这里的文字" title="鼠标悬停时候的提示文字" />

注意:属性名=“属性值” 属性名=“属性值”
空格不能丢,符号都要使用英文状态下,属性设置不分先后。
宽高设置一个,另一个等比例缩放。

七、链接

<a href="地址">文字</a>

注意:如果要跳转到线上地址,必须加http://,本地文件直接写路径。
空链接写法:1、### 2、javascript 3、javascript:void(0); 这三种都可以
锚点链接:点击之后可以跳转到页面的对应位置,给想要跳转的位置写一个id属性,在href写#加id就可以了。

八、表单
所有用户输入的内容都要放在form标签中。
Action 表示数据给那个后台程序中;
Method 代表传输数据的方法1、post(加密)2、get(不加密);
<input type=""/> input代表输入框标签(单标签),type类型决定这个输入框的类型
name属性代表这个输入框的名字;
id代表输入框的id;
value代表默认输入框(不符合用户体验,应该换成placeholder)
注意:placeholder属性ie低版本不兼容,但是我们实际工作中还要使用,因为渐进增强(随着浏览器版本的提升,效果越来越好),优雅降级(在高版本浏览器显示效果好的前提下,保证了低版本浏览器不错乱)
1、type=“text” 代表普通输入框
2、type=“password” 表述密码输入框

九、单选按钮
type=“radio”
注意:如果想让文字点击切换,那要加label标签,并且设置for属性和对应的单选,按钮的id属性值一致;必须给这一组单选按钮添加name值,才可以实现单选效果。设置默认选中状态,要给单选按钮添加checked=“checked”;

十、下拉菜单
select和option的组合:
注意:如果想设置多组下拉菜单,需要添加一个optgroup标签,并设置label属性作为提示文字;如果想设置默认选中状态,需要给对应的option添加selected属性;

十一、文本域

textarea标签来设置多行文本(文本域)
注意:不能使用cols、rows来设置宽高,要用width、weight来设置;它也可以使用placeholder来设置默认提示文字。

十二、多选框(复选框)
type=“checkbox”
它的使用方法和细节与单选框一致;

十三、按钮
1、提交按钮type=“submit” 注意:必须设置value属性,否则浏览器之间有兼容性问题
2、重置按钮type=“reset” 注意:必须设置value属性,否则浏览器之间有兼容性问题;恢复刷新后的默认状态
3、按钮 type="button"或<button></button>都可以
用户体验细节:刷新后想让第一个输入框默认为选中状态,给输入框设置autofocus="autofocus"属性;

十四、css简介
样式表、级联样式表、层叠样式表
十五、css基础语法
css代码放在head标签中,写在style标签里面;大括号中写键值对语法
例子:属性名1:属性值2;属性名1:属性值2;
color:文字颜色
font-family:字体
font-size:字号
text-indent:首行缩进 单位是em 代表一个文字的间距
text-align:文本对齐方式,默认是left,还可以设置居中center,right居右;
background:背景色属性

十六、标签选择器
直接在css语法中写标签的名字就可以选中对应的标签
div 代表大盒子(容器存放内容的)
span代表小盒子(容器存放内容的)

十七、id和class选择器
1、id选择器语法:#名字 特点:不能重复,也不能一个人拥有多个。
2、class类选择器语法:.名字 特点:可以重复使用,一个人可以有多个类名(好像是人的称号一样)
总结:今后class类选择器使用频率高于id选择器

十八、css的引入方式
1、内嵌式:
style标签放在head中
优点:方便课上案例的书写:电商网站的首页必须使用这种方式,因为电商首页要求加载速度必须快,内嵌式比外链式快一些;
缺点:html和css代码没有实现分离,不方便修改;
2、外链式:
通过link放在head标签中,把外面的css文件引入到html文件中
优点:实现了代码分离,方便修改和管理;
缺点:运行速度比内嵌稍慢
3、行内式
这种形式一定不要用,它会让代码量变得非常庞大,不方便修改;

十九、基础选择器权重
id>class>标签

二十、后代选择器
div span 用空格来连接,代表的意思是找到后代元素
注意:后代可以是儿子、儿子的儿子。。。。

二十一、并集、并列选择器
div,span,h1,span1
用逗号连接选择器,代表这些元素同时被选中

二十二、标签指定式、指定标签式
div.类名
class就是类名
注意:标签和类名之间没有空格,指定某标签中的某个类名的标签;

二十三、高级权重对比
1、引入方式对比:
外链和内嵌相同,先写的会被后写的覆盖;
内嵌权重最大,如果想覆盖它,就只能给样式中添加!improtant来把权重提高。
2、复合选择器权重:
id我们认为是100斤  class类名认为10斤  标签认为是1斤
综合起来大的权重越高,如果权重一样,先写的被后写覆盖。

二十四、css常用属性
fon-weight  设置字体粗细的 normal  代表不加粗 bold  代表加粗 font-style  设置字体倾斜 italic  代表倾斜 text-decoration  设置线 none  没有线 underline  下划线 overunder  上划线 line-through  贯穿线(删除线) word-break:break-all  强制换行 :hover  伪类写法 代表鼠标悬停状态的样式

二十五、行高属性
一行文字的结束到上一行文字结束的间距:line-height

二十六、边框属性
border:1px soild red;
粗线 实现 颜色
虚线:dashed 这样设置是四个方向相同;
如果想单独设置某个方向只需要:border-left(right、top、bottom)
注意:边框属性只有实线和虚线是没有兼容性问题的,其他方式的线都会有不同程度的兼容问题,如果程序员用了一定要报错。

二十七、css盒子模型的组成
宽高+边框+内边距(内容和边距的距离)+外边距(盒子和盒子之间的距离)=盒子模型的组成

二十八、HTML5新标签
header 头部
nav 导航
aside 测导航
article 文章块
footer 底部
注意:这些html5新标签只能使用在手机网站的书写中,可以提升搜索引擎对网站的优化,不能用在pc端网站,因为ie低版本不识别这些新标签。

测试用例概述

1、测试流程:
需求分析----测试需求—测试计划----测试方案----测试用例—执行测试----测试报告

2、测试用例:
指导测试,是测试的依据。输入(数据,文件,具体操作)操作步骤 预期结果

3、测试用例的定义:
通过设计输入数据,执行步骤,按执行步骤产生的预期结果,他是指导测试进行的依据

4、目的:
是为了高频率的发现软件缺陷而精心设计的少量测试数据。

5、测试用例的特性:
有效性、可复用性、易组织、可评估性、可管理性、

6、测试用例的编制要素:
    软件测试用例的基本要素包括用例编号、测试模块、用例标题、用例级别、测试环境、测试输入、执行操作、
预期结果。

7、测试用例的设计原则:
保证测试用例的明确性、保证测试用例的代表性、保证测试用例的简洁性、

8、等价类
定义:设计输入具有代表性的数据子集
分类:
     有效等价类–满足需求
     无效等价类–不满足需求
案例:测试QQ登录页
          QQ账号:6–10位自然数

有效的:
     1、长度在6–10位之间
     2、类型是0–9自然数

无效的:
     3、长度小于6
     4、长度大于10
     5、负数
     6、小数
     7、英文字母
     8、字符
     9、中文
     10、空
     11、空格
要点:
     1、长度
     2、类型
     3、字母
     4、汉字
     5、特殊字符
     6、空
     7、空格

9、完成一个页面的测试
1、划分功能点
     1、1动词
     1、2不可再分割
     1、3包括输入 处理 输出
2、分别针对每个独立功能开展需求分析
     2、1分析界面可见输入参数,罗列参数个数及名称
     2、2分析界面不可见输入参数:网络、浏览器/系统、权限、数据库服务、系统本身服务
3、分析界面可见输入参数的特点及关系
     输入参数需要用户输入数据,并且存在有效/无效规则校验----则用等价类法设计测试用例。
4、分别罗列每个界面可见输入参数的有效无效规则,形成等价类表
                                                                  |>>>>长度
                                                                  |>>>>类型
    测试文本框类型应考虑的几个维度: |>>>>组成规则
                                                                  |>>>>是否为空
                                                                  |>>>>是否重复 |>>>>是否区分大小写
                                                                                            |>>>>是否去前中后空格
     构造无效规则时要注意:只能同时违背一条规则

10、为了规避程序员经常在边界出现错误的问题------边界值
应该选正好等于、刚刚大于、刚刚小于边界的值作为测试数据
等价类用例设计要点:
1操作步骤
1.1一个新用例尽量覆盖有效规则
1.2一个新用例只能覆盖一条无效规则
2测试过程中需要考虑要点
边界值用例设计要点:
1上点
2离点

QC

是一款缺陷管理工具,可以管理项目的所有阶段。
1、需求
2、测试实例
3、测试执行测试用例
4、提交缺陷
5、回归测试

学习QC的目标:
1、通过学习可以了解软件测试的基本流程
2、通过学习QC可以自己了解其他的缺陷管理工具的使用
3、通过学习QC可以自己定制缺陷生命周期流程:
 举例:new新建---->open分配---->fixed修复---->reopen重开---->fixed修复—>close关闭

禅道

以上是关于软件测试笔记的主要内容,如果未能解决你的问题,请参考以下文章

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

sh bash片段 - 这些片段大多只是我自己的笔记;我找到了一些,有些我已经找到了

;~ 小部分AutoHotkey源代码片段测试模板2019年10月9日.ahk

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段

需要一种有效的方法来避免使用 Laravel 5 重复代码片段

Oracle-常用数据库对象笔记(片段)