1.1程序由程序、数据、文档 测试对象

软件测试目的:发现尽可能多的软件缺陷,并期望通过改错把缺陷统统排除,提高软件质量

1.2 ST分类

1.2.1 方式分类

(1)静态测试 :不执行被测对象程序代码,阅读程序代码、文档资料 语法错误

(2)动态测试:执行被测程序代码,与预期结果之间是否存在差异,检验程序的正确性、可靠性、有效性

1.2.2 方法分类

1.黑、白、灰盒测试

黑盒:功能测试、数据驱动测试,功能是否能正常使用,不考虑程序的内部结构和内部特征

等价类划分:程序的输入域划分为若干个区域(等价类),并在每个等价类中选择一个具有代表性的元素生成测试用例。

输入条件规定学历可为:专科、本科、硕士、博士四种之一

边界值分析法:

程序的需求为: 
1、姓名:1——20个字符,不能包含数字,不能为空 
2、年龄:18——60之间的整数,不能为空 
3、如果填写信息正确,给出提示信息,并在“注册信息”文本框中输入相应注册信息 “xxx,年龄”

根据以上的需求,进行数据分析如下:

错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

场景法:1、基本流(正确流):模拟用户正确的操作流程 
目的:验证软件的业务流程和主要功能 
2、备选流(错误流):模拟用户错误的操作流程 
目的:验证软件的错误处理能力

白盒:结构测试、逻辑驱动测试,对象是源代码,花费大量人力物力要求高,只对重点部分进行白盒测试

代码检查法:看代码,主要包括:数据引用错误;数据声明错误;运算错误;比较错误;控制流程错误;接口错误;输入输出错误

走查: 能在代码中对错误进行精确定位,降低调试成本;可以发现成批的错误,便于一同得到修正。

同行评审的内容:

管理评审:对项目管理体系的适应性和管理活动的有效性进行评价。
技术评审:对产品以及各阶段的输出内容进行评估。
文档评审:包括需求评审(用户需求规格说明、产品需求说明、功能规格说明等),设计评审(软件总体设计规格说明、详细设计规格说明等),代码评审,质量验证评审(测试计划、测试用例)。
过程评审:通过对流程的控制,保证SQA组织定义的软件过程在项目中得到遵循,同时保证质量、保证方针能更快更好地执行。

静态结构分析法:不实际运行程序而通过词法分析、语法分析、控制流、数据流等技术对源码进行扫描分析

反汇编(Disassembly):把目标代码转为汇编代码的过程,也可以说是把机器语言转换为汇编语言代码、低级转高级的意思,常用于软件破解(例如找到它是如何注册的,从而解出它的注册码或者编写注册机)、外挂技术、病毒分析、逆向工程、软件汉化等领域。学习和理解反汇编语言对软件调试、漏洞分析、OS的内核原理及理解高级语言代码都有相当大的帮助,在此过程中我们可以领悟到软件作者的编程思想。总之一句话:软件一切神秘的运行机制全在反汇编代码里面。

动态调试工具
OD、DEBUG、x64Dbg等
静态分析工具
IDA Pro、C32Asm等

动态测试中的逻辑覆盖:

按照其对测试的有效程度,又将其划分为由弱到强的6种:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖。

1.语句覆盖每条语句至少执行一次。
2.判定覆盖每个判定的每个分支至少执行一次。
3.条件覆盖每个判定的每个条件应取到各种可能的值。
4.判定/条件覆盖同时满足判定覆盖条件覆盖。
5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
6.路径覆盖使程序中每一条可能的路径至少执行一次。

https://blog.csdn.net/liujian619/article/details/45270813

1.2.3 阶段分析

(1)单元测试:对软件设计的最小单元进行正确性检验的测试工作,语法、格式、逻辑错误

(2)集成测试:将所有的软件单元按照概要设计说明书要求组装成系统,接口是否存在错误、整体功能有无错误、界面是否符合设计规范、性能是否满足用户需求

(3)系统测试:集成测试的软件,部署到较为复杂的计算机用户环境进行测试

(4)验收测试

1.2.4 类型分类

(1)功能测试(2)界面测试 友好、易用、合理、位置正确性(3)性能测试(4)强度测试 找出因资源不足或资源争用而导致的错误(5)压力测试 超负荷环境中,检验系统能否正常运行(6)安全测试 防止非法入侵的能力(7)兼容性测试 不同平台、工具软件或不同版本,软硬件兼容能力(8)安装测试 是否能正确安装、文件的各项设置是否有效、安装后是否影响计算机系统、卸载软件是否干净、卸载后是否影响计算机系统(9)文档测试 检查内部或外部文档的清晰性和准确性,针对用户的文档:需求说明、用户手册、安装手册,是否与实际存在差别,文档是否简单明了、相关技术术语是否解释清楚

1.3 ST模型

https://blog.csdn.net/u011409644/article/details/55509750

1.4 软件测试流程

制定测试计划→测试设计→ 测试的执行 →测试的分析总结

1.5 软件开发各个阶段的测试任务

需求分析阶段 →设计阶段 →实现阶段 →测试阶段→ 运行维护阶段

ST第一章基础概念的更多相关文章

  1. .net架构设计读书笔记--第一章 基础

    第一章 基础 第一节 软件架构与软件架构师  简单的说软件架构即是为客户构建一个软件系统.架构师随便软件架构应运而生,架构师是一个角色. 2000年9月ANSI和IEEE发布了<密集性软件架构建 ...

  2. Laxcus大数据管理系统2.0(2)- 第一章 基础概述 1.1 基于现状的一些思考

    第一章 基础概述 1.1 基于现状的一些思考 在过去十几年里,随着互联网产业的普及和高速发展,各种格式的互联网数据也呈现爆炸性增长之势.与此同时,在数据应用的另一个重要领域:商业和科学计算,在各种新兴 ...

  3. Linux系统shell编程自学_第一章基础

    第一章 基础shell的优势在于处理操作系统底层的业务,Python,php的优势在于开发运维工具,web界面的管理工具以及web业务开发.处理一键安装.优化.报警脚本shell又叫命令解释器,它能识 ...

  4. wpf(第一章 基础知识)

    wpf第一章基础知识:通过vs2015创建wpf程序会在引用里面多出3个核心程序集PresentationCore.PresentationFramework.WindowsBase.并且会在解决方案 ...

  5. Intel汇编语言程序设计学习-第一章 基本概念

    第一章基本概念 1.1  简单介绍 本书着重讲述MS-Windows平台上IA-32(Intel Architecture 32bit,英特尔32位体系架构)兼容微处理器的汇编语言程序设计,可以使用I ...

  6. 《openssl编程》:第一章基础知识

    第一章 基础知识 1.1 对称算法 对称算法使用一个密钥.给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同.解密时,使用读密钥与加密密钥相同. 对称算法主要有四种加密模式: (1) 电子密码 ...

  7. Python第一章-基础知识

    第一章:基础知识 1.1 安装python.     直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...

  8. Laxcus大数据管理系统2.0(3)- 第一章 基础概述 1.2 产品特点

    1.2 产品特点 Laxcus大数据管理系统运行在计算机集群上,特别强调软件对分布资源可随机增减的适应性.这种运行过程中数据动态波动和需要瞬时感知的特点,完全不同与传统的集中处理模式.这个特性衍生出一 ...

  9. 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识

    写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...

随机推荐

  1. Effective ObjectiveC 2.0 Note

    [Effective ObjectiveC 2.0 Note] 1.The memory for objects is always allocated in heap space and never ...

  2. day63-webservice 03.解析cxf提供的例子

    Path配置: C:\Program Files (x86)\ScanSign;E:\app\zhongzh\product\11.2.0\dbhome_1\bin;D:\app\zhongzh\pr ...

  3. linux系统上部署一个web项目

    对于apache开源项目中tomcat的认识,大多停留在Windows下,这次我通过一个简单的实例来介绍一下在linux下如何搭建tomcat环境,并且部署一个web项目. 先从基本安装开始,可别小看 ...

  4. struts2 与 spring 整合

    1. 首先把所有jar包导入工程 2.在struts2的核心配置文件(在src文件目录下)中添加如下配置: <!-- 将Struts的对象交给Spring管理 所以需要导入Spring和Stru ...

  5. while循环 for循环的理解

    不管是while循环还是for循环都隐含着一个if else的结构,就是说,if 条件满足,那么就执行循环体内部的语句,else就做循环体外部的事情. 有一个例子我觉得特别典型,程序内部定义了一个特定 ...

  6. 数据预处理 center&scale&box-cox

    http://stackoverflow.com/questions/33944129/python-library-for-data-scaling-centering-and-box-cox-tr ...

  7. DataTable对象的操作问题

    DataTable,DataRow,DataClomun三种对象都是引用类型. C#中值的传递方式分为值传递与引用传递. 1.复制DataTable对象   //以下做法是错误的,dt1和dt2引用的 ...

  8. 综合学生信息管理系统(JSP+JDBC)

    原创 通过JSP+JDBC制作一个简单的操作数据库中表信息的系统. 总体界面如下,一共有5个功能块. 功能一:列出全部学生 功能二:按条件查询学生 功能三:新添加学生 功能四:按条件删除学生 功能五: ...

  9. C# 可变参数

    class Program { static void Main(string[] args) { //常规使用方法 Console.WriteLine(Add(, , , , , , , , })) ...

  10. 宏定义(无参宏定义和带参宏定义),C语言宏定义详解

    1.宏定义说明 宏定义是比较常用的预处理指令,即使用"标识符"来表示"替换列表"中的内容.标识符称为宏名,在预处理过程中,预处理器会把源程序中所有宏名,替换成宏 ...