软件测试初探

  软件测试是一种实际输出与预期输出间的审核或者比较,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试已成为软件过程中一项至关重要而且不可或缺的部分,或以其自身在软件开发期间的重要地位,或以其在软件测试评估期间的本体地位。在软件开发过程中,任何部分功能的实现都必须辅以测试,有了测试才能更好的继续后边的功能,而没有测试的开发过程正如蒙眼前行,只会相对目标愈行愈远。

  软件测试的正确目标:找出并最终修改了程序的错误。因此不要只是为了证明程序能够正确运行而去测试程序;相反,应该一开始就假设程序中隐藏着错误(这种假设对于几乎所有的程序都成立),然后测试程序,发现尽可能多的错误。当然我们不能期望能发现所有的错误,即使是规模很小的程序,一般来说也无法发现其所有错误。所有测试人员应具有正确的期望。为了正确应对这种测试所带来的问题,我们应在测试之前确定一些策略:黑盒测试与白盒测试。、

  黑盒测试指将程序视为不可见,测试目标与程序内部机制和结构完全无关,而是测试程序是否按其规范运行。按此策略,测试数据完全来源于软件规范,而判定标准就是“穷举输入测试”。然而根据经验,软件规范往往具有巨大甚至无穷的输入,进行穷举测试就成了一个无底洞,无法实现。因而测试者的目标在于通过有限而特殊的测试用例,最大限度的发现程序存在的问题,以取得最好的测试结果。要实现这个目标,就得对程序作出合理的假设,以确定有意义的用例,这里就需要能窥探程序内部构造。

  白盒测试允许我们检查程序内部结构,从中获取测试数据。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是“穷举路径测试”,将程序中的所有可能的控制流路径进行测试,从而得到完整的测试。

  程序测试是一项充满创造性和挑战性的工作,测试一个大的程序往往需要的创造性超过了开发者。因此学习本学科是一定要端正态度,不能浅尝辄止,亦不能以经验谈之,应努力掌握科学的方法,以真正获得技能,迎接职场的挑战。

时间: 2024-10-10 00:41:11

软件测试初探的相关文章

【软件测试】白盒测试

本篇日志主要分两个部分,第一部分是对课件中基础知识的整理.然而,虽然课件对白盒测试的覆盖准则讲解得十分细致,但对如何进行实际操作却无涉及,经过前一阶段的探索,我大致掌握了一些方法,希望可以与大家一起讨论,所以第二部分为对应用商店应用中的Visual C#代码进行白盒测试方法初探. [基础知识整理] 一.定义 白盒测试又称结构测试,它一般用来测试程序的内部结构(Control Flow , Data Flow).并判定其结果是否与预期的结果一致. 二.种类 静态分析测试(Static Analys

让你提前认识软件开发(37):研发流程初探

第3部分 软件研发工作总结 研发流程初探         (本文是我到公司一个月后对于工作的一些感想,欢迎阅读.) 到公司实习已经有一个多月了,最近我完成了第一个正式任务.回想起来,那个过程充满挫折,也充满了惊喜.虽然不像一般电影那样一波三折,但也是有让人很难忘记的地方.在这篇文章中,我对整个过程进行一个简单的描述,同时偶尔也发表一下个人的一点感慨. 整个过程包括如图1所示的6个步骤. 图1 软件开发流程         (1) 接受需求 一般说来,对于刚入职不久的员工,项目组不会布置太复杂的任

Android单元测试初探——Instrumentation(转载)

学习Android有一段时间了,虽然前段时间对软件测试有了一些了解,不过接触android的单元测试却是头一次.这几天在物流大赛上也用了不少时间,所以对于android的单元测试没有太深入的研究,所以先写个基本入门吧! 首先,我们来了解一下android的测试类的层次结构: 可以看出android中的测试方法主要有AndroidTextCase和InstrumentationTextCase.在这篇文章中,我将介绍Instrumentation这种测试方法,那么什么是Instrumentatio

Android 性能测试初探(五)

书接上文 Android 性能测试初探之 GPU(四) 前文说了的一些性能测试项大家可能都听说,接下来我们聊聊大家不常关注的测试项- 功耗 . 功耗测试主要从以下几个方面入手进行测试 测试手机安装目标APK前后待机功耗无明显差异 常见使用场景中能够正常进入待机,待机电流在正常范围内. 长时间连续使用应用无异常耗电现象 功耗测试的方法分为两类,一类为软件测试,一类为硬件测试 我们先说说软件测试,这里我们会聊聊一些DIY的思路,软件测试一般分为2类, 第一种采用市场上提供的第三方工具,如金山电池管家

单元测试-001初探

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #0433ff } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #f

进阶之初探nodeJS

一.前言 在"初探nodeJS"随笔中,我们对于node有了一个大致地了解,并在最后也通过一个示例,了解了如何快速地开启一个简单的服务器. 今儿,再次看了该篇随笔,发现该随笔理论知识稍多,适合初级入门node,固萌生一个想法--想在该篇随笔中,通过一步步编写一个稍大一点的node示例,让我们在整体上更加全面地了解node. so,该篇随笔是建立在"初探nodeJS"之上的,固取名为"进阶之初探nodeJS". 好了,侃了这多,那么我们即将实现一个

软件测试概述

• 不论软件的生产者还是软件的使用者,均生存在竞争的环境中: 软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局. 用户为了保证自己业务的顺利完成,当然希望选用优质的软件. 软件带来错误的原因很多,具体地说,主要有如下几点: • 交流不够.交流上有误解或者根本不进行交流 • 软件复杂性 • 程序设计错误 • 需求变化 • 时间压力 • 代码文档贫乏 • 软件开发工具 什么是软件测试 软件测试就是在软件投入运行前,对软件需求分析.设计规格说明和编码的最终复审

从273二手车的M站点初探js模块化编程

前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数据. 273这个M站点是产品推荐我看的.第一眼看这个产品时我就再想他们这个三次加载和翻页按钮的方式,那么小分页的pageIndex是怎么计算的.所以就顺便看了下源码. 提到看源码时用到了Chrome浏览器的格式化工具(还是朋友推荐我的,不过这个格式化按钮的确不明显,不会的话自行百度). 三次加载和分

[转载]HDFS初探之旅

转载自 http://www.cnblogs.com/xia520pi/archive/2012/05/28/2520813.html , 感谢虾皮工作室这一系列精彩的文章. Hadoop集群(第8期)_HDFS初探之旅 1.HDFS简介 HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上.它所具有的高容错.高可靠性.高可扩展性.高