1、软件测试是什么?
软件测试的定义老师给出了以下几个版本。
(1) 软件测试时旨在评估程序或者系统的属性或能力,判定它是否满足要求的结果。
(2) 软件测试是通过观察和实验来为利益相关者提供有关产品或者服务的测试信息。
(3) 软件测试时贯穿于产品的整个生命周期,旨在通过使用测试用例来测试软件行为和性能的一系列活动。包括需求和文档。
2、从哪里来?
软件测试从哪里来,也就是我们为什么要进行软件测试。我们都不是最完美的程序员,甚至最顶尖的程序员也不一定能编写出完美的程序。而软件测试可以帮助我们找出编写中出现的问题。掌握软件测试的原理和方法,也可以提高软件的可靠性。
即使一个很小的程序也可能存在很多问题。如下图:
char aaa;没有初始化。
aaa++;循环没有跳出的条件,所以aaa可能会溢出。
if(aaa>200) char类型取值范围为-128到127,所以永远不会下课。
3、我们应该怎么办
对于如何进行软件测试,通过本周的课程学习,了解了一些基本的概念。
(1)理解软件测试:理解用户需求,确保理解正确,设计正确,表达正确,编码正确,输入正确,运行正确。
了解软件出错的原因:用户需求表达不够明确,设计者没有完全理解需求,设计者设计不合理,编码错误,运行失败。
软件缺陷解决步骤:缺陷分类,缺陷隔离,缺陷解决与修复。
(2)理解测试用例:测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
(3)黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。