软件测试课程学习总结

一、知识结构

介绍:

1.Definition of Software testing:

Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results

Software Testing is an empirical(观察和实验) investigation conducted to provide stakeholders with information about the quality of the product or service under test

Software testing is any activity , which exists through the whole lifecycle, aimed at testing a program by using test cases to test the software behaviors(true/false)

2.Why Software Testing

Because we just are not good enough programmers

We probably don’t concentrate enough to keep from making mistakes

We forget some times to use full structured programming, top-down design to get our solutions

We should be able to distinguish what another programmer or customer says and what they really think or mean

Testing is an admission of failure

3.Some of the Definitions

error(错误): mistake that designer or programmer makes

defect(fault, bug)(缺陷) : the results from “errors” in source code, or. requirements gaps

failure(失败或失效): cause of the executed “defect”, in certain situations the system will produce wrong results.

4.Understanding Software Testing

黑盒测试

1.Black Box Testing:It is a common method of testing, it is regarded as a black box that can not be open, and it design cases  according to functional requirements.Some commom black box testing methods and testing tools will be introduced here. 

2.Equivalence Class Partitioning

 所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并集便是整个输入域。目的在于测试用例的无冗余性。

划分等价类( valid / invalid ) (1)有效等价类:检验程序是否实现了规格说明预先规定的功能和性能。 (2)无效等价类:检查软件功能和性能的实现是否有不符合规格说明要求的地方。

常用的等价类划分原则 (1)按区间划分 (2)按数值划分 (3)按数值集合划分 (4)按限制条件或规则划分 (5)细分等价类

3.Boundary Value Analysis 

大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。因此边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。  

4.因果图法及决策表法

E,I, O,R Equal,And,Or,Not

白盒测试:

1.

白盒测试:又称结构测试,它一般用来测试程序的内部结构(Control Flow , Data Flow)。并判定其结果是否与预期的结果一致。

白盒测试的种类:静态分析测试(Static Analysis Test,Code Inspection)、语句分支覆盖测试(Ctrl Flow Test)等。

2.

语句覆盖(Statement coverage)准则 是最简单的结构性测试方法之一,它要求测试中,程序中的每条语句都得到运行。即,控制流图中的所有语句都被运行的充分必要条件是,覆盖图中的所有节点。 测试数据集T称为语句覆盖充分的,当且仅当LT覆盖了GP中的所有节点。NODE(LT)为路径集合LT中所覆盖的GP中的节点的集合。 NG 是GP 中所有节点的集合。

3.

分支覆盖准则 分支覆盖要求在软件测试中,每个分支都至少获得一次真/假取值的经历。 测试数据集T称为分支覆盖充分的,当且仅当LT覆盖了GP中的所有有向边。EDGE(LT)为路径集合LT中所覆盖的GP中的有向边的集合, EG 是GP 中所有边的集合。

4.

谓词(Predicate)测试 一个分支的条件是由谓词组成。单个谓词称为原子谓词。 例如前面的例子中的 a!=0、mid>0等。原子谓词通过逻辑运算符的连接构成复合谓词。

系统测试:

Testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic.

系统测试的测试类型及内容 功能测试、GUI测试、性能测试、压力测试、容量测试、健壮性测试、安全性测试、可靠性测试、恢复测试与备份测试、协议一致性测试、兼容性测试、安装性测试、可用性测试、配置性测试、文档性测试、验收测试、回归测试

UNIT Test:

A software verification & validation method where the programmer gains confidence that individual units of source code are fit for use. A unit is the smallest testable part of an application:function, procedure; method of class Unit tests are typically written and run by software developers to ensure that code meets its requirements and behaves as intended. xUnit:a family of unit testing frameworks

验证代码与设计相符合(Code Inspection与Unit Test相结合) 跟踪需求和设计的实现 发现设计和需求中存在的错误 发现编码过程中引入的错误

Integration Test:

集成(Integration)是指把多个单元组合起来形成更大的单元。 集成测试(Integration Testing)是在假定各个软件单元已经通过了单元测试的前提下,检查各个软件单元之间的相互接口是否正确。

所有公共接口必须被测试到 关键模块必须进行充分测试 集成测试应当按一定层次进行 集成测试策略选择应当综合考虑质量、成本和进度(Q.C.D)三者之间的关系 集成测试应当尽早开始,并以概要设计为基础 在模块和接口的划分上,测试人员应该和开发人员进行充分沟通

Peer review:

A work product (normally some form of document) is examined by its author and one or more colleagues, in order to evaluate its technical content and quality. Purpose is to test whether each stage of software development and software testing are complete、standard or not. Whether each stage of product meets the prescribed technical requirements and quality requirements, in order to decide whether it can go into the next phase of the work. 。

The division of Review stage (1) System analysis and design (2) Software requirement analysis (3) System outline design (4) Software detailed design (5) Coding and unit test (6) Software component test (7) Software configuration test (8) Software system test (9) System acceptance   

Measure of peer review Defect density = defects/review scale Review speed = review scale/review hours Review efficiency = defects/man-hour Note: review scale: number of document pages(A4) man-hour: members * review hours

Merit of Technical peer review Have proven over time to be one of the most efective practices available for ensuring quality products and on-time deliveries. Have demonstrated its benefits across industry. Improve quality and reduce cost by reducing rework. More quickly bringing new members up to speed. Educating project members about efective develop-ment practices.

二、学习感想

通过本课程,我知道了什么是软件测试、如何进行软件测试、软件测试的两种方法----黑盒测试与白盒测试、不同阶段的测试----单元测试集成测试系统测试,并学会了如何使用visual studio 2013 ultimate 经行UI黑盒测试,手动进行白盒测试,使软件出现问题的可能性大大的降低。

转载于:https://www.cnblogs.com/airjasonsu/p/4474470.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java listutils_Java的list自定义工具类ListUtils

/*** 将list中map的key为ID的值作为KEY在套一层*/public static Map> keyToID(List> datalist) {Map> res new HashMap>();for (Map map : datalist) {String id map.get("ID");res.put(id, map);}return res;}/*** 移除List中所有Map的某个元素** par…

vue 高德地图 不同区域显示不同颜色_高德百度哪家强?苹果Carplay第三方分屏功能评测...

几天前,苹果公司正式更新了iOS13.4版本。一个小版本系统更新,却让车主群热闹了起来。在这个版本中,苹果正式开放了Carplay分屏显示模式下对第三方地图的支持。车主们的热情,化为高德地图和百度地图微博下网友的催更。不过&#xf…

python 全局变量、局部变量

from 《流畅的python》 def f1(a):print(a)print(b) f1(3)# NameError: name b is not defineddef f1(a):print(a)print(b)b 5 # 全局变量 f1(3) # 输出正常python编译时,判断 b 是局部变量,因为在函数中给他赋值了 当打印 b 时,发现 b 没…

BZOJ 1452 [JSOI2009] Count

这道题好像有点简单的样子... absi找题目好厉害啊...确实是一道比较裸的2dBIT啊. 水掉吧. 附:2dBIT怎么做: 2dBIT就是BIT套BIT啦. 所以修改loop(xlowbit(x)){loop(ylowbit(y)){}} 查询loop(x-lowbit(x)){loop(y-lowbit(y)){}} 然后查询区间当然是用容斥... 假设查询(x11,y11)(x…

同花顺如何切换k线_30分钟线可分析出庄家的意图:教你如何用30分钟K线选股做超短线...

30分钟做超短线的好处1、兼具超短线和短线的优点,是联系超短周期和短周期的有利武器。2、30分钟线把一天分成8个部分,正好是一个神奇数字,自然界中很多神奇的规律不可不信!3、对于庄家控盘的股票,30分钟线可分析出庄家…

LeetCode 1925. 统计平方和三元组的数目

文章目录1. 题目2. 解题1. 题目 一个 平方和三元组 (a,b,c) 指的是满足 a2b2c2a^2 b^2 c^2a2b2c2 的 整数 三元组 a&#xff0c;b 和 c 。 给你一个整数 n &#xff0c;请你返回满足 1 < a, b, c < n 的 平方和三元组 的数目。 示例 1&#xff1a; 输入&#xff1a;…

JAVA软件工程师应该具备的技能有哪些?

前言&#xff1a;有朋友问我&#xff1a;学历和能力哪个重要&#xff1f;我个人觉得能力大于学历&#xff0c;没有能力哪来的学历&#xff0c;学历只是证明能力的一方面。为此在能力方面畅谈java软件工程师必备的能力。作为一名合格的java工程师&#xff0c;不仅需要学历&#…

石头剪刀布程序流程图_机器学习终章:剪刀石头布猜拳机器人

8.1. 简介TensorFlow对于我们普通人来说一直是高冷的存在&#xff0c;都是大神们的狂欢。喵家最近将TensorFlow移植到喵家编程软件Kittenblock中&#xff0c;希望能让人工智能&#xff0c;机器学习尽快落地。能让普通用户也能用上这个好用的机器学习框架&#xff0c;解决生活中…

java 工厂模式的写法_java工厂模式三种详解

工厂方法模式(Factory Method)工厂方法模式分为三种&#xff1a;1、普通工厂模式&#xff0c;就是建立一个工厂类&#xff0c;对实现了同一接口的一些类进行实例的创建。首先看下关系图&#xff1a;举例如下&#xff1a;(我们举一个发送邮件和短信的例子)首先&#xff0c;创建二…

LeetCode 1926. 迷宫中离入口最近的出口(BFS)

文章目录1. 题目2. 解题1. 题目 给你一个 m x n 的迷宫矩阵 maze &#xff08;下标从 0 开始&#xff09;&#xff0c;矩阵中有空格子&#xff08;用 . 表示&#xff09;和墙&#xff08;用 表示&#xff09;。 同时给你迷宫的入口 entrance &#xff0c;用 entrance [entra…

angularjs 表单验证 和 页面初始化闪烁

1.页面初始化闪烁 因为angularjs需要先解析html页面的指令的&#xff0c;才可以启动指令功能。angularjs需要等待整个文档加载完成才会解析&#xff0c;所以会出现一些{{xxx}}, ng-show, ng-hide指令内容一闪而过的问题,解决办法&#xff1a; 在存在闪烁的元素上添加ng-cloak …

python gis 实例_用Python作GIS之五:从示例入手—example函数

进入STARS后&#xff0c;最简单的学习方法就是演示示例数据。对于源码的分析也可以从这里入手。以下为出发菜单项“Example Project”的函数example&#xff1a;def example(self):"""canned loading of data files and matrices for debugging""&quo…

java jdbc操作类_Java-编写一个jdbc操作类

package数据库操作类;/** Db.javaCreated on 2007年8月20日, 上午 8:37*/import java.io.*;import java.sql.*;importjava.util.Properties;public classDB {privateString driver;privateString url;privateString user;privateString password;privateConnection conn;privat…

第一次冲刺第二天

昨天是冲刺的第一天&#xff0c;我完成了自己认领的任务&#xff0c;屏蔽系统锁屏&#xff0c;在实现过程中我发现了困难&#xff0c;经过各种查资料和询问同学&#xff0c;最后也没能通过敲代码实现屏蔽系统锁屏的功能&#xff0c;所以最后我决定实现调出系统锁屏页面&#xf…

LeetCode 1930. 长度为 3 的不同回文子序列(计数)

文章目录1. 题目2. 解题1. 题目 给你一个字符串 s &#xff0c;返回 s 中 长度为 3 的不同回文子序列 的个数。 即便存在多种方法来构建相同的子序列&#xff0c;但相同的子序列只计数一次。 回文 是正着读和反着读一样的字符串。 子序列 是由原字符串删除其中部分字符&…

修改telnet的用户名密码_远程管理设备telnet的N种设置方法

作为一名网络工程师&#xff0c;日常管理和配置设备&#xff0c;可以选择的方法有很多&#xff0c;很多(如下图)&#xff0c;但是最常用的配置手段&#xff0c;任然是本地使用console口&#xff0c;远程使用telnet(或SSH)&#xff0c;本文以思科设备演示几种telnet的设置方法&a…

ifix的MySQL数据库_iFIX 技术文章:iFIX历史数据库

如下&#xff1a;定义所需采集数据的标签名(或者数据源)&#xff0c; 并定义采集组存放这些标签&#xff1b;定义每个采集组的参数(节点、采集速度、相位、控制标签、状态和标签)&#xff1b;采集速度越快&#xff0c;则数据越准确&#xff0c;数据容量越大。iFIX定义的有效数据…

python只能以程序方式执行死刑_Python程序设计基础_2020智慧树网课答案章节答案...

Python程序设计基础_2020智慧树网课答案章节答案答案&#xff1a;更多相关问题审判时怀孕的妇女&#xff0c;无论犯了多么严重的罪&#xff0c;最高可以判处()。A.死刑立即执行B.无期徒刑C.有期徒刑甲见他人贩卖毒品获得巨额暴利,遂起贩毒之意,但苦于无毒品来源,便制造了大量假…

WPF系列 自定控件

引言 WPF中微软提供了一些基本的控件&#xff0c;但是工作中这些基础的控件往往不能满足我们的需求&#xff0c;这个时候我们就需要根据实际的需求去开发自己的控件&#xff0c;但要注意不是所有功能不满足的情况都需要通过自定义控件来实现。实际上一旦用到自定义控件&#xf…

Paddle 使用预训练模型 实现快递单信息抽取

文章目录1. 导包2. 数据处理3. 辅助函数3.1 评估函数3.2 预测函数3.3 预测结果解码4. 训练填写快递单据可以直接把所有信息直接粘贴进客户端&#xff0c;客户端自动识别 省市、人名、电话等信息&#xff0c;分类填入&#xff0c;然后打印出来粘贴。无须人工填写&#xff0c;加快…