软件测试方法

软件测试——黑盒白盒测试的方法

时光毁灭记忆、已成空白 提交于 2019-12-08 11:00:26
软件测试 黑盒白盒的区别不用说了,这里介绍黑盒白盒测试所用的方法,都是关于测试样例的设计 白盒测试 语句覆盖 每条语句至少执行一次 判定覆盖 每一判定的每个分支至少执行一次 条件覆盖 每一判定中的每个条件,分别按“真”、“假”至少各执行一次 判定/条件覆盖 同时满足判定复盖和条件复盖的要求 条件组合覆盖 求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次 黑盒测试 等价分类法:划分输入数据的等价类,可分为有效类和无效类 边界值分析法:考虑边界情况使被测程序在边界值附近运行,通常和等价分类法联合使用 来源: CSDN 作者: wenkun97 链接: https://blog.csdn.net/hello_my_coder/article/details/80058476

软件测试中测试用例的规范和设计

倾然丶 夕夏残阳落幕 提交于 2019-12-08 01:22:43
二、设计测试用例 什么样的测试用例算好的测试用例? 1、不要以为“发现了软件缺陷的测试用例就是好的用例” 2、也不要以为“发现软件缺陷可能性大的测试用例就是好用例” 3、更不要以为““发现至今未被发现的软件缺陷的测试用例就是好用例” “好的”测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关。 “好的”测试用例必须具备哪些特征? 1. 整体完备性 :“好的”测试用例一定是一个完备的整体,是有效测试用例组成的集合,能够完全覆盖测试需求。 2. 等价类划分的准确性 :指的是对于每个等价类都能保证只要其中一个输入测试通过,其他输入也一定测试通过。 3. 等价类集合的完备性 :需要保证所有可能的边界值和边界条件都已经正确识别。 边界值分析 是对等价类划分的补充,你从工程实践经验中可以发现,大量的错误发生在输入输出的边界值上,所以需要对边界值进行重点测试,通常选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据。 错误推测方法 是指基于对被测试软件系统设计的理解、过往经验以及个人直觉,推测出软件可能存在的缺陷,从而有针对性地设计测试用例的方法。这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,当然还有个人的能力。 来源: CSDN 作者: wjw290313631 链接: https://blog.csdn.net/weixin

软件测试:关于面试的一些小总结

只谈情不闲聊 提交于 2019-12-06 06:33:06
一、前言 测试的面试相对于开发的面试来说,对于技术的询问其实相对来说较少的,主要针对以下几个方面。测试理论,接口,数据库,linux,自动化,性能、个人情况这几大块。 二、常见问题 1、软件测试理论基础 ①、什么是软件测试? 在规定条件下对程序进行操作,发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 ②、软件测试主要测试用例设计方法是什么? 白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖 黑盒测试:等价类、边界值、因果图、状态图法、错误猜测、测试大纲、随机测试、场景。 ③、测试计划、方案以及测试报告主要包括哪些方面? 测试计划主要包括: Ⅰ 测试范围(功能性测试;非功能性测试) Ⅱ 测试通过/失败的标准(通过准则;失败准则) Ⅲ 测试挂起恢复条件 Ⅳ 测试进度人力分布计划 Ⅴ 测试交付物 测试方案主要包括: Ⅰ 测试环境(软硬件构成;网络构成;环境搭建;测试工具) Ⅱ 测试策略 Ⅲ 测试风险评估与预防 测试报告: Ⅰ 测试BUG记录 Ⅱ 测试BUG统计分析 Ⅲ 测试用例执行情况清单 Ⅳ 遗留问题清单 PS:具体情况具体分析格式不一定一致。 ④、测试流程 阅读需求—评审—判定开发时间—测试计划、方案—编写测试用例—开发提交版本—进行测试—提交bug—追踪—提交新版本进行回归—测试完毕—进行走查上线。 ⑤、Bug的管理,测试提交bug,开发不认可 首先

软件测试从执行用例到独立负责项目(独立负责一个完整项目的流程)

泪湿孤枕 提交于 2019-12-05 04:49:49
一般实习生、新入职的软件测试新手,主管一般是让你先执行别人的用例。 为什么呢,其实很简单,新人执行用例是最好的边工作边学习的方式,如果让新人直接开始写用例,那么结果就是评审的时候提出很多问题、用例需要大改,费时费力。 而已经会写用例的人,新入职,一方面每个测试团队的测试用例粒度有所区别,另一方面,刚入职对于整个业务不熟,执行用例是熟悉业务的方式之一。 过了执行用例阶段,一般你会负责一个模块测试。但是很多人工作好几年,依然是只负责过模块的测试都没有机会(也许是不敢)独立负责一个完整项目的测试、上线。 那么独立负责项目的测试上线,你需要做什么呢? 1、需求评审,确认研发计划。编写测试计划、测试方案。 2、先根据产品的需求文档 + 自己对当前行业的了解,拆分测试点 。拆分测试点的过程中,把遇到的不清晰的需求(或者技术方面,不理解的知识点),通过问产品/开发/搜索引擎检索/查阅公司内部资料,搞定 。 根据自己梳理完成的最终测试点,开始设计测试用例、进行用例评审(或是测试点评审)。 3、测试执行过程中 ,问题提交Bug系统,对提交的bug进行跟进、回归 。 4、关注风险 / 延期 ,以及 质量 / 进度 的平衡 ,及时反馈。 5、完成测试,提交测试报告 。 6、开始发布 、上线 (或有灰度发布流程。记得把上线的步骤,自己用文档,完整的记录下来,并模拟几次,确保无遗漏)。 7、进行生产环境测试

软件测试分类

半城伤御伤魂 提交于 2019-12-05 01:43:35
目录 按照测试阶段分类 单元测试 集成测试 确认测试 系统测试 验收测试 软件测试分类 按阶段分类 按照测试方法分类 静态测试 动态测试 黑盒测试 灰盒测试 白盒测试 冒烟测试Smoke testing 回归测试 Regression Testing 功能测试 性能测试 压力测试Stress Testing 易用性测试 安装测试 界面测试 文档测试 Document Testing 兼容性测试 Compatibility Testing 安全性测试 随机测试 手工测试 自动化测试 通过测试 失败测试 错误测试 按照测试阶段分类 单元测试 集成测试 系统测试(包括确认测试) 验收测试 单元测试 单元测试又称为模块测试,是最小单位测试 单元测试是在软件开发过程中要进行的最低级别的测试活动 类、文件、窗口、函数、菜单、报表或一个存储过程都可以作为一个单元进行测试 其依据是详细设计文档 集成测试 在单元测试的基础上将已经通过测试的单元模块按照设计要求组装成系统或子系统,再进行测试。目的是找出被测试系统组件之间关系和接口中的错误。 非增式集成 增式集成 自顶向下增式测试 自底向上增式测试(最常使用的方法) 自底向上集成测试 确认测试 由集成测试进入系统测试之前,需要对软件是否可以进入系统测试进行评价,这个过程成为确认测试 确认测试需要做的工作包括:有效性测试、软件配置审查。 系统测试

软件测试基础(软件开发过程概述)

让人想犯罪 __ 提交于 2019-12-05 00:14:59
软件工程 软件工程的三个阶段: 定义、开发、检验 定义阶段:可行性研究、初步项目计划、需求分析 开发阶段:概要设计、详细设计、实现、测试 检验交付与维护阶段:运行、维护、废弃 开发过程的活动 软件规格说明书:规定软件的功能、性能以及其性能原理 软件开发:产生满足规格说明书的软件,包括设计和编码等工作 软件确认:确认软件能够满足客户提出的要求,对应于软件测试 软件演进:为满足客户的更变要求,软件必须在使用过程中演进,以求尽量延长软件的生命周期 软件开发的过程模型 在一个具体的软件开发过程中,软件工程师要设计、提炼一个工程开发策略,用以覆盖软件过程的基本阶段,确认所涉及的过程、方法、工具 常用的过程模型有线性顺序模型、原型模型、快速开发模型、演化软件过程模型等。 来源: https://www.cnblogs.com/zhangjiantaocs/p/11767835.html

软件测试手段

会有一股神秘感。 提交于 2019-12-04 23:43:26
1.按测试手段来分类   ①黑盒测试和白盒测试   ②动态测试和静态测试     静态测试:是指无需执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率     动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等   ③手工测试和自动化测试     手工测试:由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试。众包测试、探索式测试。     自动化测试:使用单独的测试工具软件控制软件的自动化执行以及对预期和结果进行自动检查。单元测试、接口测试、性能测试。 2.黑盒测试的优点   ①容易实施,不需要关注内部的实现   ②更贴近用户的使用角度 3.黑盒测试的缺点   ①测试覆盖率较低,一般只能覆盖到代码量的不到40%   ②针对黑盒的自动化测试,复用率较低,维护成本较高 4.黑盒测试主要测试什么?   ①是否有不正确后遗漏的功能   ②在接口上,输入是否正确的接受,能否输出正确的结果   ③是否有数据结构错误或外部信息(例如数据文件)访问错误   ④性能上是否能够满足要求 5.黑盒测试的主要设计方法   等价类划分法  边界值分析法  错误推测法  因果图法  正交试验分析法  状态图法  流程分析法 6

软件测试的原则,软件测试计划:5W1H

元气小坏坏 提交于 2019-12-04 15:11:05
1. 测试应该尽早介入。 2. 所有的测试都应追溯到用户需求。 3. 程序员应该避免检查自己的程序。除了单元测试。因为程序员对于自己的作品,思维具有局限性。无法保证测试质量。交给第三方或者专业测试,运用各种测试技术,利用丰富的测试经验和对 BUG 的敏感,去提高软件的质量。 4. 设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态。 5. 二八原则,测试发现的错误中 80% 很可能起源于 20% 的模块中。 6. 对错误结果要进行一个确认过程。 7. 制定严格的测试计划。 8. 完全测试时不可能的,测试需要终止。 9. 妥善保存测试过程中的所有文档。 软件测试计划: 5W1H 整个测试开始之前做的一些准备计划工作,一般包括以下内容: 1. 测试的目的。( why ) 2. 测试的范围。( what ) 3. 测试进度安排( when ) 4. 测试人员。( who ) 5. 测试环境。( where ) 6. 怎么测,通过什么测。( how :测试工具,测试方法,风险评估,培训计划等) 还包括风险的分析和预防以及验收项目各项指标。 测试计划的作用: 通常分为内部作用和外部作用: 内部作用有以下 3 种:一是作为测试计划的结果,让相关人员和开发人员来评审。二是存储计划执行的细节,让测试人员进行同行评审。三是存储计划进度表

软件测试面试题

强颜欢笑 提交于 2019-12-04 03:30:14
https://blog.csdn.net/qq_40018197/article/details/90027058 软件测试笔试题初级篇 一、选择题 1、对计算机软件和硬件资源进行管理和控制的软件是(D) A.文件管理程序 B.输入输出管理程序 C.命令出来程序 D.操作系统 2、在没有需求文档和产品说明书的情况下只有哪一种测试方法可以进行的(A) A.错误推测法测试 B.路劲分析测试 C.语句覆盖测试 D.条件覆盖测试 3、某测试人员通过执行测试软件测试的方法对当前功能进行了测试,该测试人员使用的测试方法为(C) A.静态测试 B.单元测试 C.黑盒测试 4、编写测试计划的目的是(ABC)多选题 A.使测试工作顺利进行 B.使项目参与人员沟通更舒畅 C.使测试工作更加系统化 D.软件工程以及软件过程的需要 E.软件过程规范化的要求 F.控制软件质量 5、关于软件测试与软件开发的认识,不正确的是(B) A.软件生命周期各个阶段都可能产生测试 B.软件测试是独立于软件开发的一个工作 C.软件开发的需求分析和设计阶段就应开始测试工作 D.测试越早进行,越有助于提高被测软件的质量 6、当一个应用程序窗口被最小化后该应用的程序将会出现一下哪种情况(D) A.被终止执行 B.继续在前台执行 C.被暂停执行 D.被转入后台执行 7、下列方法中,不属于黑盒测试的是?(A) A.基本路劲测试法

华为软件测试工程师面试题

情到浓时终转凉″ 提交于 2019-12-04 01:46:53
1 、请你分别写出 OSI 的七层网络结构图和 TCP/IP 的五层结构 OSI 的七层结构从上到下依次是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 TCP/IP 的五层结构分别是应用层、运输层、网络层、链路层、物理层。 2 、请你详细解释一下 IP 的定义,在哪个层上面,主要有什么作用? TCP 与 UDP 呢? IP 在网络层, TCP 和 UDP 在传输层, TCP/IP 是传输控制协议 / 网际协议( Transmission Control Protocol / Internet Protocol )。 TCP/IP 之所以流行部分原因是它可以用在各种各样的信道和底层协议之上。确切地说, TCP/IP 是一组包括 TCP/IP , UDP(User Datagram Protocol) 、 ICMP(Internet Control Message Protocol) 和其他一些协议的协议组。 TCP/IP 并不完全符合 OSI 的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的七层抽象参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这 7 层是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层、而 TCP/IP 采用了 4 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这 4