软件测试

有关我对软件测试以及软件测试开发的认识

筅森魡賤 提交于 2019-12-06 06:33:45
就目前来说,软件测试在软件开发过程中,受到越来越多的重视,它贯穿于整个开发过程中,各种软件互联网公司都在大量招收软件测试有关人员。 前2天,我看见百度的招聘信息,它主要招收的软件测试开发人员,这就说明了,现在随着社会的进步,科技的发展,以及自动化测试的成为主流的这一种趋势,现在公司所需要的对软件测试人员的要求大幅度提高,它不仅仅要求我们有测试能力,还需要兼备软件的开发能力,这就需要我们提高测试的效率,灵活巧妙的解决测试中的问题。 在此之前,我之所以想成为软件测试人员,我没有‘开发只能了解到项目的局部,但测试需要了解更多,我期望有更好的大局观‘这种大的理由,就是因为我技术欠缺,我的潜意识告诉我测试的技术含量没有开发高。准确的说,在软件编码方面,测试确实没有软件开发的技术含量高,但是我觉得一个开发人员需要知道一些相关的测试知识,比如:一个编码的人员知识要进行单元测试以及功能测试来看看是自己的代码有没有明显的bug;与此同时,测试人员也需要相关的开发知识,能读懂别人的代码,能根据开发人员的代码来进行测试。我认为,如果只是为了逃避软件开发,逃避编码,想在IT的职业道路上发展是很难的。不可否认,现在又很多的理论,无论是白盒测试还是说黑盒测试,无论是单元测试,还是说集成测试,还是其他,看似都与测试人员有关,但实际上,大部分的方法论都是开发人员提出来的,再一次证明,开发人员所具备的能力

手机软件测试分类(测试分类)

独自空忆成欢 提交于 2019-12-06 06:32:45
1、兼容性测试 例如:测试一个文档使用word2003能打开,无法打开word 2007的现象。 一般兼容性测试的手机模块内容包括: SIM卡兼容性测试、BT、PC驱动、SD卡和WLAN。 2、自动化测试 解释:自动化测试其实就是测试软件的可靠性,可以叫做稳定性测试。 常见的自动化测试有 ATT稳定性测试 和 Monkey稳定测试。 3、外场测试 外场测试主要是测试一些手机在各种网络制式下打电话、上网的一些测试。通常主要是测试 手机网络和协议之间测试。 4、交互测试 例如: 我们在使用手机听音乐的过程中,突入来电话,手机如何处理? 这种现象 在我们日常使用手机过程中,非常常见。 在测试领域,这一块也是非常重要的,交互测试首先要保证手机软件的稳定性,在做交互测试的时候不会发生异常现象,导致手机死机、冻屏。 5、性能测试 性能测试 也可以理解为 手机的功能测试, 他主要是测试手机的功能性、可靠性、易用性、效率性、可维护性、可移植性。 6、压力测试 传统意义上来讲 就是 让手机处于一个最大负载,使系统达到或超过最大负荷的一个测试。 例如:我们手机的联系人上边可以存储将近1w多个联系人,这点我们以最大的存储来创建联系人,一直创建到系统提示存储空间不足,无法创建联系人。时系统达到最大负荷。 7、安全性测试 这个接触的比较少, 我理解的是 手机上边一些关于安全方面的都要考虑, 不如 SIM卡锁

软件测试系列-系统测试(System Testing)

断了今生、忘了曾经 提交于 2019-12-06 05:32:41
软件测试系列-系统测试(System Testing) 一、概念 系统测试(System Testing)是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。 二、目的 系统测试的目的在于通过与系统的需求定义做比较,发现软件与系统定义不符合或与之矛盾的地方,以验证软件系统的功能和性能满足指定的要求。 三、环境 1. 真实环境:测试的结果比较真,但是成本高 2. 仿真环境:测试的结果不真实,但成本低,可重复使用 四、类型 来源: https://www.cnblogs.com/jack4519/p/11964074.html

浅谈单元测试和重构

牧云@^-^@ 提交于 2019-12-06 03:02:20
浅谈单元测试和重构 隐喻 年纪大了,腿脚不利索,拄着拐杖走路,走的稳不说,还能预防跌倒。 但如果真的跌倒了呢? 跌倒后有没有人敢扶?扶起来还能不能走?如果能走,走得还能不能像以前那样快?如果不能走,是不是要去医院? 没了拐杖,产生了灾难性的骨牌效应。 意义 单元测试之于开发人员,相当于老人的拐杖,离开拐杖,也能走,但就是深一脚浅一脚,而且还有随时跌倒的危险,跌倒之后还会产生一系列的问题,搞的人焦头烂额。 在没有单元测试支撑的情况下写代码,你不会知道代码里面有没有逻辑 BUG ,是否符合预期,不能发现编码过程中引入的错误,更不能发现设计和需求中存在的问题。 我曾经所在的一家公司,开发人员是不写测试的,他测试自己代码的方法,是写完之后运行一下,点点看有没有问题,效率低下容易漏测不说,还很业余,简直侮辱软件工程师这个高大上的职业(看我鄙视的眼神)。 假设你写了一个服务,每写一个方法你都写单元测试将方法中的路径全覆盖掉,如异常, if-else, switch 语句等,刚准备提交,突然接到通知,需求变了,你不得不改动编码逻辑,这个时候怎么办呢?首先要跑一遍单元测试,确保你当前功能的测试全跑通,然后分析需求,按照要求对相应的代码进行了修改,之后,修改或增加单元测试对改动代码进行覆盖,你点下了开始按钮,看着所有测试都打了绿色的对勾( ✔),你从容淡定的提交了代码,拿起菜刀,哦不,端起水杯

单元测试软件-winAMS

霸气de小男生 提交于 2019-12-05 14:51:14
winAMS -- 嵌入式软件单元测试 / 集成测试工具 CoverageMaster winAMS : 适用于嵌入式目标机代码的单元测试工具 全面支持嵌入式微机!验证嵌入式C/C++软件 实施以模块为单位的自动化单元测试工具 不需要HookCode 直接使用目标机代码进行单元测试 联合静态解析工具[CasePlayer2],提供C1,MC/DC用优化测试计划(test case)制作功能 已取得第三方认证机构TUVSUD对适用于汽车机能安全ISO26262软件工具的认证 产品概要 [Coverage master winAMS]是以嵌入式软件的函数为单位,实施模块单元测试以及C0/C1/MCDC覆盖率测试(coverage test)的嵌入式软件自动化单元测试工具。目标机源代码通过交叉编译器生成目标机执行代码,通过跟实际处理器同样的模拟处理器环境进行单元测试,不需要对执行代码做任何变动,使高信赖性的模块测试成为可能。在汽车控制软件这样的对安全性要求极高的领域,单元测试已经成为不可缺少的一部分。使用目标机代码进行单元测试也是为了符合汽车行业中ISO26262功能安全认证标准。 产品特长 全面支持嵌入式微机!验证嵌入式C/C++软件 实施以模块为单位的自动化单元测试工具 作为能够检验出仅凭系统测试以及整体测试无法发现的[潜在错误]的检测方法,[单元测试]在嵌入式开发领域受到广泛重视

软件测试阶段

纵饮孤独 提交于 2019-12-04 23:43:23
1.软件测试阶段   ①单元测试:对软件中的最小可测试单元进行检查和验证。   ②集成测试:是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动   ③系统测试:将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行   ④验收测试:也称交付测试。针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统  2.单元测试的原则   ①尽可能的保证各个测试用例是互相独立的   ②一般由代码开发人员来是实施,用以检验所开发的代码功能符合自己的设计要求 3.单元测试的好处   ①能尽早发现缺陷   ②有利于重构   ③简化集成   ④文档   ⑤用于设计 4.单元测试的限制   ①不可能覆盖所有执行路径,所以不可能保证捕捉到所有路径的错误   ②每一行代码,一般需要3~5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡 5.单元测试框架   Xunit  Nunit  JUnit  PHPUnit  CPPUnit 6.集成测试的主要实施方案   ①Big Bang   ②自顶向下   ③自底向上   ④核心系统集成  

软件测试基础概念

六月ゝ 毕业季﹏ 提交于 2019-12-04 20:42:51
1.什么是软件测试?   使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。 2.软件测试的测试对象   软件需求、软件概要设计、软件详细设计、可运行程序、软件源代码、软件运行环境 3.软件测试的要素和目标   五大要素:质量、人员、资源、流程、技术   两大目标:测试覆盖率、测试效率 4.软件测试所遵循的原则   ①测试显示缺陷的存在,但不能证明系统不存在缺陷   ②穷尽测试是不可能,应设定及时的终止条件   ③尽早的进行   ④缺陷具备群集特性   ⑤测试的杀虫剂悖论   ⑥测试的二八原则   ⑦测试活动依赖于测试背景 来源: https://www.cnblogs.com/hutairu/p/11882433.html

浅谈单元测试

元气小坏坏 提交于 2019-12-04 06:29:21
单元测试在测试过程中是比较重要的一环,但是也是很多团队缺失的一环,单元测试的意义是什么?单元测试的实施过程中会有怎样的坑?为什么一些团队没有单元测试呢?是由测试来做单元测试还是开发来做单元测试呢? 单元测试的定义及意义 首先是最经典的测试金字塔,其实针对测试金字塔有很多种搭建方式,例如: 从常用的测试技术类型来看: 单元测试->接口测试->UI测试,这可能是比较常见的测试金字塔( unit->api->ui ) 从系统分层测试(或测试阶段)来看: 单元测试->组件测试->集成测试->系统测试 这只是从测试金字塔角度去谈测试的方法,也可以说是测试的分类,当然如果是严格意义上的测试分类又有很多(例如以是否测试代码:黑盒,白盒,灰盒;是否运行:静态测试,动态测试等等) 那单元测试的定义是什么? 单元测试是对软件中的最小单元进行测试和验证,通俗来讲就是代码中的一个函数或一个类,单元测试一定是白盒测试。 为什么提到测试金字塔,因为单元测试不仅是测试阶段的第一环,也是测试金字塔的基础,那代表着什么? 从重要程度来说,单元测试作为地基,承担着保证稳定性的作用,最终决定整个软件质量的不是功能完整,功能实现没有问题,而是实现功能的代码逻辑是否正确,程序是否健壮 从开发测试成本来说,我们知道在开发测试整个环节,越晚发现问题,解决问题的成本越高;越晚发现问题,代表着测试开发流程要不断重复

颠覆完美软件:软件测试必须知道的几件事(总结)

北城以北 提交于 2019-12-03 09:41:39
作者写本书的思路是:首先提出关于测试中的问题,然后写出可能的解决方法。如果你在测试过程中有类似下面四个部分的问题,可以方便的进行查看。四个部分没有什么逻辑性,仅仅用于查询。 一、第一部分问题 1.为什么要进行测试? 2.什么时候可以不测试? 3.为什么不对所有可能性进行测试? 对于这些问题的答案可以参考: 颠覆完美软件:软件测试必须知道的几件事(读书笔记2) 二、第二部分问题 1.怎样让软件测试更容易成功? 2.测试中的欺诈是什么? 3.关于代码评审的相关建议? 对于这些问题的答案可以参考: 颠覆完美软件:软件测试必须知道的几件事(读书笔记6) 三、第三部分问题 1.软件测试和修改BUG有什么区别?( 颠覆完美软件:软件测试必须知道的几件事(读书笔记3) ) 2.怎么对测试的结果进行评估?( 颠覆完美软件:软件测试必须知道的几件事(读书笔记4) ) 3.什么样的行为和特征才能称之为测试?( 颠覆完美软件:软件测试必须知道的几件事(读书笔记4) ) 四、第四部分问题 1.有关软件产品质量的元信息有哪些?( 颠覆完美软件:软件测试必须知道的几件事(读书笔记3) ) 2.软件测试中防卫反应是什么?应该如何应对?( 颠覆完美软件:软件测试必须知道的几件事(读书笔记3) ) 3.有没有一种模型,应对软件测试过程的沟通问题?( 颠覆完美软件:软件测试必须知道的几件事(读书笔记5) ) 来源:

软件测试各阶段测试人员的职责

匿名 (未验证) 提交于 2019-12-03 00:43:02
软件测试贯穿软件开发的全过程,而且越来越多的国内公司也开始重视软件测试,要求软件测试人员从需求阶段介入到软件项目中,那么每个阶段软件测试人员需要做什么事情?作者以软件开发的瀑布模型为例,针对系统测试,讲述各阶段的任务。 1.需求阶段 需求阶段,需求人员开始发出需求文档,此时需求文档即发出评审,测试人员需要对需求文档进行评审,在需求文档评审的同时,建立项目 需求模型 ,确定 软件测试范围和测试优先级 ,确定软件使用情况的外部环境、第三方软件及运行环境,确定系统测试拓扑。 2.软件总体阶段 总体文档发布,各软件功能需求基本确定,此时需要将 软件需 求与软件功能相对应,得到测试需求 ,并结合需求阶段确定的测试优先级,确定每种测试需求采用的测试技术。 3.测试准备 3.1 确定测试需求点 根据软件测试需求,编写每个功能的测试点,并根据项目情况,确定需要开发的测试工具。 3.2 编写测试用例和测试工具 最终到了测试用例编写的部分,在编写测试用例时, 按照先根据测试需求点编写功能测试用例再按照用户使用方法,编写场景和流程用例,最后编写性能测试相关用例。 测试用例编写完成后,建议规划测试用例执行顺序。 4.测试执行 在执行测试用例时,切记要根据软件实现情况,动态调整测试用例。 原文: https://www.cnblogs.com/Finding-bugs/p/9349115.html