软件测试

软件测试的艺术(读书笔记7)

六眼飞鱼酱① 提交于 2019-11-28 21:48:36
下面继续本书第四部分的读书笔记部分 第四部分 开发中的调试和测试思想   第8章 调试;第9章 敏捷开发模式下的测试 第9章 敏捷开发模式下的测试   随着市场竞争的日趋激烈,今天的商业项目需要不断缩短发布时间,同时还要不断地为客户提供高质量的产品。而老一套的开发模式很难适应当今的竞争环境,所以有一些开发人员就开始讨论轻量化和快速的开发方法。这就是著名的《敏捷软件开发宣言》,这份宣言没有僵化的开发方法和复杂的技术结构,而更像是一份针对客户和开发个体的箴言警局。 1、敏捷开发的特征   从敏捷软件开发宣言可以发现敏捷开发的一些特征:   (1)客户参与     围绕以客户需求为导向的开发过程,需要让客户尽早参与到开发周期中,并一直到其结束;如果没有客户参与,敏捷开发等同失败,这时可以选择传统的开发流程。   (2)迭代开发     敏捷开发提倡迭代式和增量式的开发模式。   (3)测试驱动     测试在其中发挥重要作用,依赖单元测试和验收测试(极限编程)。 2、敏捷测试的特征   敏捷测试要求每个人参与到测试计划的设计、实现及执行中去。客户通过定义用例集以及程序属性参与到定义验收测试的设计中来。开发者和测试者打造可以进行功能自动化的测试组件。敏捷测试要求每个人参与,需要有大量的沟通与协作工作。   (1)客户参与     在客户参与阶段,客户需要参与到开发周期来定义验收测试的设计。

我对敏捷软件测试的理解与实践

 ̄綄美尐妖づ 提交于 2019-11-28 19:28:22
转载本文需注明出处:微信公众号EAWorld,违者必究。 引言: 随着敏捷软件研发过程的引入,敏捷测试也开始成为研发团队的重点关注对象。在行业内,有些企业正在做敏捷测试的尝试,有些也取得了不错的效果。 随着普元研发管理体系(iPALM)的不断演进,敏捷的开发过程加速了产品的市场响应。在普元DevOps平台的助力下,开始把质量构建进产品而不是在生产出来之后再进行测试。在软件产品部整体团队的群策群力下,敏捷的软件测试模式在研发过程中运行非常成功,测试团队也积累了一些宝贵的经验,很高兴有机会拿出来与大家一起分享。 目录: 1.对敏捷软件测试的理解 2.敏捷软件测试的核心价值 3.敏捷软件测试的经验分享 4.总结 1.对敏捷软件测试的理解 敏捷测试的定义 Wikipedia对敏捷测试的定义: Agile testing is a software testing practice that follows the principles of agile software development.1 译文:敏捷测试是一种遵循敏捷软件开发原则的软件测试实践。 这是通过一种敏捷的做事方法,可以让团队协作更紧密、工作效率更高,确保以可持续的速度频繁地交付客户所期望的业务价值。 敏捷测试与传统测试的区别 传统模式是把软件开发分为软件需求、软件开发(设计&编码)、软件测试、软件发布等阶段

jenkins+testng+ant+webdriver持续集成测试

谁说胖子不能爱 提交于 2019-11-28 19:02:54
‍ 我的需求: 1、webdriver代码放在svn上; 2、hudson(jenkins)去执行构建,它从svn上下载代码,并利用testng.xml来执行我设置好的 测试 套件; 3、接上,将结果放在指定位置; 我的设备: 开发工具:intellij idea 自动化工具 :webdriver(selenium2.0) 持续集成 工具:hudson(它的插件需要安装seleniumhq,testng,ant)这些都可以下包来安装也可以自动安装。ANT我用的是1.8.3版本 PS:我的svn及hudson都是用我本地机器作为服务器; 另外:在配置这个环境之前,请把你的代码在自己的开发ide上跑一下,以保证代码不会报错 一、hudson插件安装及设置 http://hi.baidu.com/janice51 5/item/4c468bf7e79e780985d27821 在这儿,可以参考一下; ps: ant的安装我选择是自动安装,可以下个包,解压下就可; 安装完selenium后,在jenkins的工作目录下会有一个selenium的服务包; 注意:在hudson在启动时,你可以观察一下log,是否可以看到会自动启动selenium的服务器包;所以你在构建selenium的时候就可以不用再设置服务器,否则的话,会报错,说端口已被使用;因为已经启动过了。 二、建立hudson

Web测试概述

倖福魔咒の 提交于 2019-11-28 14:52:48
web应用程序测试方法和测试技术详述 1. 概述 l 随着web应用的增多,新的模式解决方案中以web为核心的应用也越来越多, 很多公司各种应用的架构都以B/S及web应用为主,但是有关WEB测试方面的内容并没有相应的总结,所以我在这里对web的测试方法和采用的测试技术进行总结,便于内部交流。 l 测试方法尽量涵盖web程序的各个方面,测试技术方面在继承传统测试技术的技术上结合web应用的特点。 l 相关的测试和实现技术也有着很大的关系,由于本公司使用J2EE体系,也许例子中只有JAVA平台可以使用,.NET平台测试技术暂时不涉及,如果你有请与我联系。 2. 测试方法 说明:测试方法的选择取决你的测试策略。 l 一般的web测试和以往的应用程序的测试的侧重点不完全相同,基本包括以下几个方面。 l 当然圆满的完成测试还要有好的团体和流程等的方方面面的支持,你同样应该对这些方面进行注意。 l 有些测试方法设计到了流程,哪些应该在你的测试团队建设中建立。 2.1 界面测试 l 现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果的印象是很重要的。如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了。很多人认为这是测试中最不重要的部分,但是恰恰相反界面对不懂技术的客户来说那相当关键,慢慢体会你会明白的。 l 方法上可以根据设计文档

软件测试基础

久未见 提交于 2019-11-28 13:33:09
一、什么是软件 软件是计算机程序、程序所用的数据以及相关文档资料的集合。 二、软件的定义 使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 本书以及百度的定义:为了发现程序中的错误而执行程序的过程。 三、软件测试的目的 1)软件测试为了发现程序存在的代码或业务逻辑错误; 2)软件测试为了检验产品是否符合用户需求; 3)软件测试为了提高用户的体验。 四、软件测试的原则 1)测试应该尽早介入; 2)所有的测试都应追溯到用户需求; 3)程序员应该避免检查自己的程序。除了单元测试。因为程序员对于自己的作品,思维具有局限性。无法保证测试质量。交给第三方或者专业测试,运用各种测试技术,利用丰富的测试经验和对bug的敏感,去提高软件的质量; 4)设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态。 5)二八原则,测试发现的错误中80%很可能起源于20%的模块中; 6)对错误结果要进行一个确认过程; 7)制定严格的测试计划; 8)完全测试是不可能的,测试需要终止; 9)妥善保存测试过程中的所有文档。 五、软件测试的对象 1)程序; 2)数据; 3)文档。 六、软件测试的分类 1)按测试执行阶段划分: 单元测试(开发人员); 集成测试(开发或者测试人员); 系统测试(测试人员);

常用的软件测试工具

怎甘沉沦 提交于 2019-11-28 07:12:12
一 Appium 官网:http://appium.io AppUI自动化测试 Appium 是一个移动端自动化测试开源工具,支持iOS 和Android 平台,支持Python、Java 等语言,即同一套Java 或Python 脚本可以同时运行在iOS 和Android平台,Appium 是一个C/S 架构,核心是一个 Web 服务器,它提供了一套 REST 的接口。当收到客户端的连接后,就会监听到命令,然后在移动设备上执行这些命令,最后将执行结果放在 HTTP 响应中返还给客户端。 二 Selenium 官网:https://www.seleniumhq.org/download/ WebUI自动化测试 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。其升级版本为Webdriver。 三

软件测试基础

怎甘沉沦 提交于 2019-11-28 05:15:35
软件测试基础 软件测试的定义     通过人工或自动的手段,对被测对象进行检测的活动,目的在于发现被测对象是否实现用户的需求,或者弄清实际结果与预期结果之间的差异 测试的目的     发现被测对象与用户需求中的差异——俗称找bug     通过测试活动发现并解决缺陷,增加人们对被测对象的质量信心     通过测试活动,获取被测对象的质量信息,为决策提供数据依据     通过测试活动,预防缺陷,从而降低项目或产品的风险   测试的原则     测试证明软件存在缺陷     不可能进行穷尽测试     测试应尽早介入,尽早启动     缺陷存在群集现象     杀虫剂悖论     不同的测试活动依赖不同的测试背景     不存在缺陷的谬论   软件测试的对象     软件源代码     与软件源代码匹配的文档     支撑软件源代码运行的配置数据     系统设计阶段:概要设计文档、详细设计文档、是否有设计或逻辑上的错误     编码阶段:测试源代码,发现编程上的错误     系统测试阶段:被测对象是否满足用户需求   测试级别(测试阶段)     单元测试:针对被测系统最小的组成单元实施的测试活动,一般是类或函数,也可能是最小的功能模块(单元测试阶段大约能发现百分之八十的缺陷)     集成测试:针对组件/单元与组件/单元之间的接口实施的测试活动,验证接口设计是否与设计相符

Tessy — 嵌入式软件单元测试/ 集成测试工具

筅森魡賤 提交于 2019-11-28 03:36:48
Tessy 源自戴姆勒- 奔驰公司的软件技术实验室,由德国Hitex 公司负责全球销售及技术支持服务,是一款专门针对嵌入式软件进行单元/ 集成测试的工具。它可以对C/C++ 代码进行单元、集成测试,可以自动化搭建测试环境、执行测试、评估测试结果并生成测试报告,其多样化的测试用例导入生成方式和与测试需求关联的特色,使Tessy 在测试组织和测试管理上也发挥了良好的作用。目前Tessy广泛应用在汽车电子主流客户中。 主要特点 在V 模型开发中,Tessy 主要应用在单元测试和集成测试阶段。单元测试通过运行代码检测出函数中错误,比如算法错误、接口问题等;集成测试则在单元测试的基础上验证单元之间接口的正确性。基于越早发现bug 开发成本越低的原则,在进行代码功能验证的过程中,按照V 流程右半部分先完成单元测试再进行集成测试的测试顺序更为有效。 另外,Tessy 也可以满足各类标准( 如ISO26262、IEC61508、EN 50128/50129 等)对测试的需求,比如Tessy 可以满足ISO26262 中各等级对单元/ 集成测试的要求,当然Tessy 本身也通过了TUV 的认证,证明该软件是安全可靠的,可以在安全相关的软件研发过程中使用。 主要功能 • 自动生成测试环境、一键执行及评估结果 Tessy 可以自动生成驱动程序、桩函数,帮助测试人员提高单元测试效率。 Tessy

敏捷的反馈

余生长醉 提交于 2019-11-27 22:24:22
敏捷反馈 守护天使 Coding feedback. 为了应对代码的变化,你需要持续获得代码健康状态的反馈:他是在做你期望的事情吗?最近一次修改有没有无意中破坏了什么功能?为了确保所有功能都能正常工作,就需要自动化单元测试。 一些开发者会对“测试”这个词有意见,应把它看作是一个代码技术。用代码来检查变量的具体值,而不是手工检查那些感兴趣的变量。 只要有了单元测试,就让到他们自动运行,也就是每次编译或者构建代码的时候,就运行一次测试。把单元测试的结果看作是和编译器一样——如果测试没有通过,那就像变异没有通过一样糟糕。 接下来就是在后台假设一个 构建机器 ,不断获取最新版本的源代码,然后编译代码,并运行单元测试,如果有任何错误它会让你及时知道,这是最容易修复也是成本最低的时候。 具体技巧 单元测试是优质股,值得投资。但一些简单的属性访问方法或者价值不大的方法,是不值得花费时间进行测试的。 人们不编写单元测试的很多借口都是因为代码中的设计缺陷。通常,抗议越强烈,就说明设计越糟糕。 单元测试只有在达到一定测试覆盖率的时候,才能真正地发挥作用。你可以使用一些测试覆盖率工具,大致了解自己的单元测试的覆盖情况。 不是测试越多质量就会越高,测试必须要有效。如果测试无法发现任何问题,也许它们就是没有测试对路。 先用它再实现它 我们的业务是要创造出能调用的API和可以使用的接口。这就是说

20190817-腾讯软件测试岗位现场一面

半城伤御伤魂 提交于 2019-11-27 15:58:32
据面试官说该部门是做分布式存储和云架构的 腾讯软件测试岗位一面现场面试 1 自我介绍 2 研究方向介绍 3 C++内存分配问题(堆 栈 代码区 bss 全局存储区 映射区) 4 虚函数 纯虚函数 5 数据库表联合查询 左连接 右连接 内链接等 6 平衡二叉树(概念 特点 性质 实现) 7 编程题 如何判断一个树是否是平衡二叉树 快速排序算法 输出一个未知长度的单向链表的倒数第k个结点 8 给你一个产品,比如微信,如何进行测试 思路:功能测试 性能测试(同一时间大量用户访问,时间段的影响) 压力测试 数据库测试(数据的添加和修改是否正确保存 用户信息的安全性:如密码明文显示还是进行了编码) 9 为什么要选择软件测试岗位,对软件测试有什么理解 10 未来的职业规划 来源: https://www.cnblogs.com/hy4201/p/11369384.html