软件测试课程学习总结

一、知识结构

介绍:

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,一经查实,立即删除!

相关文章

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

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

同花顺如何切换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;…

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

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…

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…

LeetCode 1935. 可以输入的最大单词数

文章目录1. 题目2. 解题1. 题目 键盘出现了一些故障&#xff0c;有些字母键无法正常工作。 而键盘上所有其他键都能够正常工作。 给你一个由若干单词组成的字符串 text &#xff0c;单词间由单个空格组成&#xff08;不含前导和尾随空格&#xff09;&#xff1b; 另有一个字符…

LeetCode 1936. 新增的最少台阶数

文章目录1. 题目2. 解题1. 题目 给你一个 严格递增 的整数数组 rungs &#xff0c;用于表示梯子上每一台阶的 高度 。 当前你正站在高度为 0 的地板上&#xff0c;并打算爬到最后一个台阶。 另给你一个整数 dist 。 每次移动中&#xff0c;你可以到达下一个距离你当前位置&am…

mysql事务与jdbc事务_事务(mysql事务、jdbc事务)

一、MYSQL事务1、事务概念&#xff1a;事务是一个用户定义的数据库操作序列&#xff0c;这些操作要么全做要么全不做&#xff0c;是一个不可分割的工作单位。事务可以是一条sql语句&#xff0c;一组sqi语句或者整个程序。特性(ACDI)&#xff1a;(1)原子性&#xff1a;一个事务中…

access 如何使用dolby_Access/VBA/Excel-Access表及字段创建-03

Part 1&#xff1a;前面的话对Access数据库的大部分操作都可以通过SQL语言来实现SQL:Structure Query Language&#xff0c;结构化查询语言&#xff0c;语法简单&#xff0c;非常容易学SQL语言的执行可借助于ADO&#xff0c;ADO本身也支持对数据库的各种操作&#xff0c;但是涉…

LeetCode 1937. 扣分后的最大得分(动态规划)

文章目录1. 题目2. 解题1. 题目 给你一个 m x n 的整数矩阵 points &#xff08;下标从 0 开始&#xff09;。 一开始你的得分为 0 &#xff0c;你想最大化从矩阵中得到的分数。 你的得分方式为&#xff1a;每一行 中选取一个格子&#xff0c;选中坐标为 (r, c) 的格子会给你…

逻辑斯谛回归模型

逻辑斯谛回归模型是研究因变量为二分类或多分类观察结果与影响因素之间的关系的一种概率型非线性回归模型。逻辑斯谛回归系数通过最大似然估计得到。Logistic函数如下&#xff1a; 式中x为 这里是输入变量的n个特征&#xff0c;然后按照Logistic函数形式求出。 假设有n个独立变…

mysql监控平台怎么做_MySQL监控平台的构建方法

MySQL监控平台的构建方法发布时间&#xff1a;2020-05-23 14:13:12来源&#xff1a;亿速云阅读&#xff1a;159作者&#xff1a;鸽子概述对于MySQL的监控平台&#xff0c;相信大家实现起来有很多了&#xff1a;基于天兔的监控&#xff0c;还有基于zabbix相关的二次开发。相信很…

查看宝塔面板账号密码命令_宝塔面板升级到最新版图文教程

往期教程&#xff1a;宝塔面板教程&#xff08;1&#xff09;基于云服务器搭建宝塔面板教程最全详解宝塔面板教程&#xff08;2&#xff09;宝塔面板添加WordPress站点详细图文教程宝塔面板教程&#xff08;3&#xff09;基于宝塔面板成功配置网站SSL安全证书宝塔面板教程&…

python 对象引用、可变性 和 垃圾回收

文章目录1. 变量是标签2. 元组的相对不可变性3. 默认浅复制4. 函数的参数作为引用时5. del 和 垃圾回收6. 弱引用7. 一些可能的坑&#xff01;&#xff01;&#xff01;learn from 《流畅的python》 1. 变量是标签 >>> a [1, 2, 3] >>> b a >>&g…

关于原型的一点总结

原型&#xff08;prototype&#xff09;无疑是JavaScript中一个十分重要的概念&#xff0c;围绕着原型所涉及的原型链继承、内建对象扩展&#xff0c;JS表现出独特的面向对象特性。 1.什么是原型每个JS的函数对象中都有一个默认的prototype属性&#xff0c;它指向的就是这个函数…

python canopen_Python canopener包_程序模块 - PyPI - Python中文网

用于打开文件的python便利函数canopener(filename, moder)。本地文件的行为与open()&#xff1a;>>> canopener(local_file.txt)url也可以作为文件名传递并打开进行读取。urllib2.urlopen()是在封面下使用的&#xff0c;因此它具有同等的支持&#xff1a;>>>…

天池 在线编程 最长AB子串(哈希)

文章目录1. 题目2. 解题1. 题目 描述 给你一个只由字母’A’和’B’组成的字符串s&#xff0c;找一个最长的子串&#xff0c;要求这个子串里面’A’和’B’的数目相等&#xff0c;输出该子串的长度。 这个子串可以为空。 s的长度n满足 2<n<1000000。示例 样例1 输入: s…