论文部分内容阅读
[摘 要] 在软件编写中,许多编程员写完一个程序后已经很劳累,如果独自一个代码一个代码地检查,很容易查漏问题,而且面对枯燥的一群代码,会让编程员更加疲惫,时间花费更多,而计算机软件测试技术针对这些问题,提供了有效、准确、快速的检查代码错误的方法。下面我们将会来探讨计算机测试技术与其开发应用。
[关键词] 计算机;软件测试;开发应用
中图分类号:TP311
一、 计算机软件测试用途
还有很多编程员没有意识到软件测试给他们带来的好处,我总结了软件测试的三大主要用途,如下:
(一) 用于刚编写完的软件
软件测试的目的是检查出刚编写完、还没进入市场的软件的错误,并且在进入市场之前修正错误。可以说,软件测试给软件用户留下好的第一印象,没有人希望自己下载使用的软件错误百出,而好的第一印象会带来该软件的欢迎度。
(二) 减少编程员的疲惫
一位编程员,有的时候为了赶一个程序,往往没时间睡觉,顶住犯困地完成程序的编写,如果这时候要求编程员人工检查程序的代码错误,往往会导致编程员负担过重,而且人工查看代码,即使是一个精神很好的编程员,面对成千上万的复杂代码,也会支持不下去。
(三) 准确发现错误
如果人工检查,就很容易在复杂的代码当中把运行出错的部分当做正确的,给忽视过去,而且从大部分正确的代码当中寻找几处错误的部分,需要很细心都未必检查出来。而软件测试,则可以准确无误地快速检查出程序的错误。
二、 计算机软件测试优点
在多年的学习研究软件测试当中,我来谈谈它的五大优点:
1, 发现未知错误
一个程序刚编写完成之后,里面会存在许多未知的错误,这些错误是编程员难以避免的,以前没有软件测试时,编程员需要自己辛苦地检查程序代码中的错误,然而面对庞大的代码,编程员很难完全检查出所有的错误,有时投入了大量人力和时间才能够检查完毕,这对企业和编程员来说,都是很不好的。而软件测试对于源程序出现的代码无法运行等问题,能够明显地验证出来。
2, 检查其可行性
新编写完的出现未必会按照预期功能所设计的那样运行,这时候非常有必要对其功能进行测试,查看是否出现预期功能,同时修正没有出现所需功能的部分。对于许多大型游戏,例如暗黑破坏神,往往一个团队编写完成都需要几年时间,其中出现的运行错误人工很难检查出来,如果加上人工检查,就会推出很长时间出市,让团队蒙受巨大的经济损失。而软件测试能够快速地检测其中无法正常运行的部分。
3, 发现软件不足
除了检查程序中的代码编写错误、运行功能不对外,同时,软件测试还能在检测之后,让编程员会突然发现软件的许多不足,这些不足有时表现在程序功能不够强,可以让编程员意识到需要加强程序的某个功能,或者增加某些功能,给程序带来更多的优势。人为验证程序代码时,没能从程序运行的角度去观察发现,更不用说创新性地发现功能的问题。
4, 提高编程员的效率
对于编写内容大的有效或程序,例如需要十来位编程员花费三年时间才编写完成的有效,如果人工检测,所花费的时间必然很长,而自动化的软件测试在速度方面提高了几十倍,大大地缩短了完成大型程序的测试时间,在时间的方面占据了许多优势,能够让程序更快地进入市场,提早产生经济效益。
5, 减少人为错误
每一個编程员,在程序编写时都会出现人为错误,在程序编写完成后的检测中,也会出现许多人为错误,例如代码打错、代码看错、看漏代码等情况,而具有自动化特性的软件测试技术,可以迅速检测出出现中的错误,减少人为失误。
三、 软件测试技术特点
计算机软件测试技术的特点主要有以下三种。
(1) 先进性
软件检测是目前国内对程序错误进行检测最先进的手段,从以前的编程员人工检查到自动化的软件检测,显然体现了科学技术的先进,这也是人工难以媲美的地方,它意味了软件工程的先进技术了理念用于刚编写完成的程序的检查。
(2) 高效性
改变了以往编程员的缓慢、目测的方法,使用软件测试,可以提供数十倍的速率,这也是目前测试程序最快速的方法,在计算机行业里,程序开发的速度往往决定很多成败,因此快速检测软件的错误,能够领先拥有竞争力。
(3) 巨大潜力
目前中国软件测试还在初期阶段,而它的效果和作用已经得到许多有长远远光的编程员的肯定,在未来的发展中,软件测试会给企业和国家带来无数的机遇,同时这也是未来与软件编写领域需要大力发展的方面,显然,它具有很大的潜力。
四、 深度开发应用软件测试的主要事项
任何一种有效的程序,都必须在某些限定范围内运行,软件测试也不例外。在学习和运用软件测试过程中,我们需要注意一些事项,而不是乱来,这些事项会让程序检查变得更加准确,客观性。
1, 考虑多种情况。在软件测试当中,我们不能局限考虑到刚编写完成的程序的代码错误,我们还要考虑到多种状况下,例如在不同系统上测试、与不同用户常用的程序一起运行、使用国内主流杀毒器经行杀毒时测试、测试过程中与不同防火墙一并运行等等,编程员需要做的是,在程序公开发表之前,让它在目前国内电脑用户所有主要可能的情况下测试,从中去发现问题,并及时修改。如果没能考虑到周期的情况下测试,在程序公布之后,可能有部分用户因某种情况无法运行该程序。
2, 隔离法和整体法。在软件测试中,我们需要利用“隔离法和整体法”,具体来说,隔离法就是把程序分成几个部分,然后进行部分之间的测试,而整体法便是整体一起程序。这两种方法各有好处,整体法的好处就是能够从整体去对程序进行测试,可以看出程序是否完全能够顺利运行,但该方法的缺点便是一旦检测出错误,难以发现时某个局部的错误;而隔离法的优点是,能够从不同的局部去发现错误,其缺点是,无法测试程序是否能够完全顺利运行。
3, 做好记录。许多编程员在测试出问题后,偶尔会因外界干扰忘记了对某部分错误进行记录,等到回头才发现最没有记住错误是在哪部分,因此,及时记录是非常有必要的,即使外界有干扰,也要及时记录下来。
五、 软件测试的开发应用步骤
下面我说说软件测试的三个主要步骤,如下:
步骤一:输入相关数据
把所有可能的数据都输入其中,这时候要注意,很多编程员没有完全把所有数据都输入,这个造成的后果便是部分情况没能测试到,而编程员看问题不全面以及懒惰都会出现输入数据不全面。
步骤二:分层抽样数据
第二步便是从输入的所有数据中,进行数学的分层抽样,取出有代表性的数据。如果是所有数据一起测试,那么时间上明显增加几倍,如果只是抽部分数据,又容易没有抽取到所有情况的数据,导致测试不全面。因此,进行分层抽样,既可以节约时间,又能选取各种情况下的数据进行测试。
步骤三:开始测试
第三步便是开始进行测试,在测试的过程中,要求编程员不能离开,必须紧盯着,如若发现异常情况,要及时做好记录,以防遗漏某种情况。
总而言之,软件测试大大地减少了编程员的时间,而它的操作,需要编程员去探讨,如果缺乏深入研究,就很难在实际工作中正确地完成测试任务。同时在计算机深度开发应用中,拥有高效的软件测试,对编程员来说,无疑是轻松了很多。
参考文献:
[1]单锦辉,姜瑛,孙萍等.软件测试研究进展[J].北京大学学报(自然科学版),2005,41(1):134-145.
[2]安金霞,王国庆,李树芳等.基于多维度覆盖率的软件测试动态评价方法[J].软件学报,2010,21(9):2135-2147.
[3]陈佳豫,孔德柱,刘金国等.基于蝴蝶模型的星载嵌入式软件测试策划[J].光学精密工程,2011,19(7):1677-1685.
[关键词] 计算机;软件测试;开发应用
中图分类号:TP311
一、 计算机软件测试用途
还有很多编程员没有意识到软件测试给他们带来的好处,我总结了软件测试的三大主要用途,如下:
(一) 用于刚编写完的软件
软件测试的目的是检查出刚编写完、还没进入市场的软件的错误,并且在进入市场之前修正错误。可以说,软件测试给软件用户留下好的第一印象,没有人希望自己下载使用的软件错误百出,而好的第一印象会带来该软件的欢迎度。
(二) 减少编程员的疲惫
一位编程员,有的时候为了赶一个程序,往往没时间睡觉,顶住犯困地完成程序的编写,如果这时候要求编程员人工检查程序的代码错误,往往会导致编程员负担过重,而且人工查看代码,即使是一个精神很好的编程员,面对成千上万的复杂代码,也会支持不下去。
(三) 准确发现错误
如果人工检查,就很容易在复杂的代码当中把运行出错的部分当做正确的,给忽视过去,而且从大部分正确的代码当中寻找几处错误的部分,需要很细心都未必检查出来。而软件测试,则可以准确无误地快速检查出程序的错误。
二、 计算机软件测试优点
在多年的学习研究软件测试当中,我来谈谈它的五大优点:
1, 发现未知错误
一个程序刚编写完成之后,里面会存在许多未知的错误,这些错误是编程员难以避免的,以前没有软件测试时,编程员需要自己辛苦地检查程序代码中的错误,然而面对庞大的代码,编程员很难完全检查出所有的错误,有时投入了大量人力和时间才能够检查完毕,这对企业和编程员来说,都是很不好的。而软件测试对于源程序出现的代码无法运行等问题,能够明显地验证出来。
2, 检查其可行性
新编写完的出现未必会按照预期功能所设计的那样运行,这时候非常有必要对其功能进行测试,查看是否出现预期功能,同时修正没有出现所需功能的部分。对于许多大型游戏,例如暗黑破坏神,往往一个团队编写完成都需要几年时间,其中出现的运行错误人工很难检查出来,如果加上人工检查,就会推出很长时间出市,让团队蒙受巨大的经济损失。而软件测试能够快速地检测其中无法正常运行的部分。
3, 发现软件不足
除了检查程序中的代码编写错误、运行功能不对外,同时,软件测试还能在检测之后,让编程员会突然发现软件的许多不足,这些不足有时表现在程序功能不够强,可以让编程员意识到需要加强程序的某个功能,或者增加某些功能,给程序带来更多的优势。人为验证程序代码时,没能从程序运行的角度去观察发现,更不用说创新性地发现功能的问题。
4, 提高编程员的效率
对于编写内容大的有效或程序,例如需要十来位编程员花费三年时间才编写完成的有效,如果人工检测,所花费的时间必然很长,而自动化的软件测试在速度方面提高了几十倍,大大地缩短了完成大型程序的测试时间,在时间的方面占据了许多优势,能够让程序更快地进入市场,提早产生经济效益。
5, 减少人为错误
每一個编程员,在程序编写时都会出现人为错误,在程序编写完成后的检测中,也会出现许多人为错误,例如代码打错、代码看错、看漏代码等情况,而具有自动化特性的软件测试技术,可以迅速检测出出现中的错误,减少人为失误。
三、 软件测试技术特点
计算机软件测试技术的特点主要有以下三种。
(1) 先进性
软件检测是目前国内对程序错误进行检测最先进的手段,从以前的编程员人工检查到自动化的软件检测,显然体现了科学技术的先进,这也是人工难以媲美的地方,它意味了软件工程的先进技术了理念用于刚编写完成的程序的检查。
(2) 高效性
改变了以往编程员的缓慢、目测的方法,使用软件测试,可以提供数十倍的速率,这也是目前测试程序最快速的方法,在计算机行业里,程序开发的速度往往决定很多成败,因此快速检测软件的错误,能够领先拥有竞争力。
(3) 巨大潜力
目前中国软件测试还在初期阶段,而它的效果和作用已经得到许多有长远远光的编程员的肯定,在未来的发展中,软件测试会给企业和国家带来无数的机遇,同时这也是未来与软件编写领域需要大力发展的方面,显然,它具有很大的潜力。
四、 深度开发应用软件测试的主要事项
任何一种有效的程序,都必须在某些限定范围内运行,软件测试也不例外。在学习和运用软件测试过程中,我们需要注意一些事项,而不是乱来,这些事项会让程序检查变得更加准确,客观性。
1, 考虑多种情况。在软件测试当中,我们不能局限考虑到刚编写完成的程序的代码错误,我们还要考虑到多种状况下,例如在不同系统上测试、与不同用户常用的程序一起运行、使用国内主流杀毒器经行杀毒时测试、测试过程中与不同防火墙一并运行等等,编程员需要做的是,在程序公开发表之前,让它在目前国内电脑用户所有主要可能的情况下测试,从中去发现问题,并及时修改。如果没能考虑到周期的情况下测试,在程序公布之后,可能有部分用户因某种情况无法运行该程序。
2, 隔离法和整体法。在软件测试中,我们需要利用“隔离法和整体法”,具体来说,隔离法就是把程序分成几个部分,然后进行部分之间的测试,而整体法便是整体一起程序。这两种方法各有好处,整体法的好处就是能够从整体去对程序进行测试,可以看出程序是否完全能够顺利运行,但该方法的缺点便是一旦检测出错误,难以发现时某个局部的错误;而隔离法的优点是,能够从不同的局部去发现错误,其缺点是,无法测试程序是否能够完全顺利运行。
3, 做好记录。许多编程员在测试出问题后,偶尔会因外界干扰忘记了对某部分错误进行记录,等到回头才发现最没有记住错误是在哪部分,因此,及时记录是非常有必要的,即使外界有干扰,也要及时记录下来。
五、 软件测试的开发应用步骤
下面我说说软件测试的三个主要步骤,如下:
步骤一:输入相关数据
把所有可能的数据都输入其中,这时候要注意,很多编程员没有完全把所有数据都输入,这个造成的后果便是部分情况没能测试到,而编程员看问题不全面以及懒惰都会出现输入数据不全面。
步骤二:分层抽样数据
第二步便是从输入的所有数据中,进行数学的分层抽样,取出有代表性的数据。如果是所有数据一起测试,那么时间上明显增加几倍,如果只是抽部分数据,又容易没有抽取到所有情况的数据,导致测试不全面。因此,进行分层抽样,既可以节约时间,又能选取各种情况下的数据进行测试。
步骤三:开始测试
第三步便是开始进行测试,在测试的过程中,要求编程员不能离开,必须紧盯着,如若发现异常情况,要及时做好记录,以防遗漏某种情况。
总而言之,软件测试大大地减少了编程员的时间,而它的操作,需要编程员去探讨,如果缺乏深入研究,就很难在实际工作中正确地完成测试任务。同时在计算机深度开发应用中,拥有高效的软件测试,对编程员来说,无疑是轻松了很多。
参考文献:
[1]单锦辉,姜瑛,孙萍等.软件测试研究进展[J].北京大学学报(自然科学版),2005,41(1):134-145.
[2]安金霞,王国庆,李树芳等.基于多维度覆盖率的软件测试动态评价方法[J].软件学报,2010,21(9):2135-2147.
[3]陈佳豫,孔德柱,刘金国等.基于蝴蝶模型的星载嵌入式软件测试策划[J].光学精密工程,2011,19(7):1677-1685.