论文部分内容阅读
【摘 要】现如今,计算机软件在人们的工作和生活中扮演着重要的角色,且随着社会的不断的发展进步,人们对计算机软件的功能需求也越来越高,计算机软件的功能也越来越强大,规模和复杂性也越来越高。随之而来的一个问题就是如何保证计算机软件的质量。本文在这样的背景下提出,从软件测试的角度,分析了影响软件质量的因素,并对如何保证软件的可靠性提出了一些有意义的探讨。
【关键词】软件测试 生存周期 软件测评 可靠性研究
一、概述
计算机技术的迅猛发展改变了整个社会工作和生活的方式,其中一个重要的影响就是计算机软件的大量使用,其替代了传统的人工操作,大大提高了工作效率,并且极大的丰富了人们生活和娱乐的内容。现阶段,计算机软件已经渗透到到社会生活的各个领域,成为整个社会生产和发展的幕后推动力。高质量的软件能够为高效、准确、快速的生产提供帮助,而低质量的软件却会给生产带来极大的困难,甚至造无法弥补的损失。因而,如何能够保证计和提高算机软件的质量就显得尤为重要了。
二、软件测试的意义
所谓软件的可靠性,通俗的讲,就是软件在规定的时间里能够正确运行,不发生错误的几率;软件的可靠性决定了软件运行的质量。在软件开发的过程中,尽管开发技术人员采用了一切可以使用的方法和手段来确保软件开发的高质量,但是,在实际交付之后,依然会暴露出各种各样的问题。软件测试就是为了发现软件运行过程中的错误而进行的工作过程,为了提高软件的可靠性,在软件的开发生命周期里,软件测试占据着重要的地位。
软件测试能够保证软件开发工作的顺利进行。在软件开发的生命周期里,不同的阶段都有紧密的联系,上一阶段的工作为下一阶段的工作提供基础和铺垫,下一阶段又会对上一阶段遗留的问题进行分析梳理,并提出具体的解决方案。对于规范的软件开发流程来说,在每个阶段的工作完成之后都需要进行严格的技术和管理审查,审查的一个重要指标就是需要提供每个阶段的测试文档,这样在软件开发流程结束后就可以提供一个完整准确的软件配置。
三、软件测试的生存周期和软件测试方法
(一)软件测试的生存周期
软件测试的工作存在于软件的整个开发周期里。在软件开发的过程中,每个独立的模块在完成之后都需要进行单独的模块测试,在所有功能模块集成之后,还需要进行复杂的整体测试。在软件的开发过程中,每个阶段的工作都可能会引入bug,包括添加代码功能段时带来的错误,以及修改bug时引入的新的错误。因此,每一次软件更新后,都要进行全面的软件测试,对于发现的bug,要尽早修复,修复完之后再次进行测试,如此反反复复,直到软件功能模块集成完全并且测试结果达标后才算结束。
(二)软件测试方法
在软件测试过程中,从执行测试主体的角度来看,有两种类型的测试,一种是软件开发人员内部进行的系统测试和集成测试;另一种是软件交付后,由软件的使用者进行的验收性测试。如果从测试环境的角度来看,可以分为静态测试(测试环境)和动态测试(实际应用环境)。此外,软件测试方法还可以分为分析法和程序法。总之,无论采用哪种测试方法,其同样的宗旨就是为了以最小的代价去发现更多的问题。在执行软件测试的过程中,单纯的按照某一方法进行测试往往存在一定的局限性,还应该兼顾考虑如下问题:
不同的软件对软件质量的定位不同,其可靠性的指标也不尽相同。对于一些指令明确的功能控制软件,比如机械控制系统,其可靠性的定义比较明确,对于每个故障都会给出明确的描述。
四、提高软件可靠性的措施
在软件的开发过程中,每个阶段引入的错误都会对软件的可靠性带来影响,相较而言,在需求阶段和开发阶段带来的缺陷所占的比重很大。因此,在软件需求阶段应全方位的了解用户的需求,对于不明确的内容及时沟通并随时更新,制定详细准确清晰的产品需求说明文档;在软件开发阶段,应严格按照软件开发流程执行,采用自顶向下、结构化以及模块化的设计原则,确保软件开发的顺利进行。当然,更重要的一点就是在软件开发的整个生命周期里都要执行相应的软件测试工作。
对于软件测试的内容,可以从如下几个方面来保证软件的可靠性:对于软件安全来说,应确保软件的用户和密码的唯一性和有效性,对于用户名和密码设置应提供相应的验证和保护措施;对于登入软件的用户,应设置相应的软件管理权限,能够根据模块功能划分相应的用户区域。同时,对于超极用户来说,应保证其能合理的对其他用户进行管理;为了确保人为的恶意登录,应对用户登录进行必要的限制,且用户尝试登录达到一定次数的时候应对该用户进行锁定。同时,用户名和密码框应能够识别特殊的字符,防止恶意攻击;软件应具备一定的容错能力。对于用户的输入能进行一定的检查,同时允许用户执行一些无意的操作,并给出相应的提示;对于软件的错误提示,应该能够清楚描述错误的类型和错误原因,以此方便用户查找错误,并帮助用户及时改正;当用户无意进行了错误的操作后,应不会导致软件崩溃或退出;软件本身应提供错误恢复和数据备份功能,当发生数据错误时,应能自行恢复到正常工作状态;软件应能承受一定的压力测试。在掉点、断网等情况发生时,软件的数据不应丢失,且环境正常后,软件能够继续正常运行。
五、结论
软件可靠性是决定软件质量的重要指标。在软件开发过程中应制定科学和全面的软件测试方案,来保证软件交付后的可靠运行。本文主要针对软件测试方法进行了深入的探讨,提出了一些可用的测试方法和建议,旨在为进一步提高软件开发质量提供一定的参考。
参考文献:
[1]杨为民等.可靠性维修性保障性丛书.国防工业出版社.1995
[2]史济民等.软件工程原理、方法与应用,高等教育出版社.2002
[3]梅启智,廖炯生,孙惠中.系统可靠性工程基础,科学出版社.1992
【关键词】软件测试 生存周期 软件测评 可靠性研究
一、概述
计算机技术的迅猛发展改变了整个社会工作和生活的方式,其中一个重要的影响就是计算机软件的大量使用,其替代了传统的人工操作,大大提高了工作效率,并且极大的丰富了人们生活和娱乐的内容。现阶段,计算机软件已经渗透到到社会生活的各个领域,成为整个社会生产和发展的幕后推动力。高质量的软件能够为高效、准确、快速的生产提供帮助,而低质量的软件却会给生产带来极大的困难,甚至造无法弥补的损失。因而,如何能够保证计和提高算机软件的质量就显得尤为重要了。
二、软件测试的意义
所谓软件的可靠性,通俗的讲,就是软件在规定的时间里能够正确运行,不发生错误的几率;软件的可靠性决定了软件运行的质量。在软件开发的过程中,尽管开发技术人员采用了一切可以使用的方法和手段来确保软件开发的高质量,但是,在实际交付之后,依然会暴露出各种各样的问题。软件测试就是为了发现软件运行过程中的错误而进行的工作过程,为了提高软件的可靠性,在软件的开发生命周期里,软件测试占据着重要的地位。
软件测试能够保证软件开发工作的顺利进行。在软件开发的生命周期里,不同的阶段都有紧密的联系,上一阶段的工作为下一阶段的工作提供基础和铺垫,下一阶段又会对上一阶段遗留的问题进行分析梳理,并提出具体的解决方案。对于规范的软件开发流程来说,在每个阶段的工作完成之后都需要进行严格的技术和管理审查,审查的一个重要指标就是需要提供每个阶段的测试文档,这样在软件开发流程结束后就可以提供一个完整准确的软件配置。
三、软件测试的生存周期和软件测试方法
(一)软件测试的生存周期
软件测试的工作存在于软件的整个开发周期里。在软件开发的过程中,每个独立的模块在完成之后都需要进行单独的模块测试,在所有功能模块集成之后,还需要进行复杂的整体测试。在软件的开发过程中,每个阶段的工作都可能会引入bug,包括添加代码功能段时带来的错误,以及修改bug时引入的新的错误。因此,每一次软件更新后,都要进行全面的软件测试,对于发现的bug,要尽早修复,修复完之后再次进行测试,如此反反复复,直到软件功能模块集成完全并且测试结果达标后才算结束。
(二)软件测试方法
在软件测试过程中,从执行测试主体的角度来看,有两种类型的测试,一种是软件开发人员内部进行的系统测试和集成测试;另一种是软件交付后,由软件的使用者进行的验收性测试。如果从测试环境的角度来看,可以分为静态测试(测试环境)和动态测试(实际应用环境)。此外,软件测试方法还可以分为分析法和程序法。总之,无论采用哪种测试方法,其同样的宗旨就是为了以最小的代价去发现更多的问题。在执行软件测试的过程中,单纯的按照某一方法进行测试往往存在一定的局限性,还应该兼顾考虑如下问题:
不同的软件对软件质量的定位不同,其可靠性的指标也不尽相同。对于一些指令明确的功能控制软件,比如机械控制系统,其可靠性的定义比较明确,对于每个故障都会给出明确的描述。
四、提高软件可靠性的措施
在软件的开发过程中,每个阶段引入的错误都会对软件的可靠性带来影响,相较而言,在需求阶段和开发阶段带来的缺陷所占的比重很大。因此,在软件需求阶段应全方位的了解用户的需求,对于不明确的内容及时沟通并随时更新,制定详细准确清晰的产品需求说明文档;在软件开发阶段,应严格按照软件开发流程执行,采用自顶向下、结构化以及模块化的设计原则,确保软件开发的顺利进行。当然,更重要的一点就是在软件开发的整个生命周期里都要执行相应的软件测试工作。
对于软件测试的内容,可以从如下几个方面来保证软件的可靠性:对于软件安全来说,应确保软件的用户和密码的唯一性和有效性,对于用户名和密码设置应提供相应的验证和保护措施;对于登入软件的用户,应设置相应的软件管理权限,能够根据模块功能划分相应的用户区域。同时,对于超极用户来说,应保证其能合理的对其他用户进行管理;为了确保人为的恶意登录,应对用户登录进行必要的限制,且用户尝试登录达到一定次数的时候应对该用户进行锁定。同时,用户名和密码框应能够识别特殊的字符,防止恶意攻击;软件应具备一定的容错能力。对于用户的输入能进行一定的检查,同时允许用户执行一些无意的操作,并给出相应的提示;对于软件的错误提示,应该能够清楚描述错误的类型和错误原因,以此方便用户查找错误,并帮助用户及时改正;当用户无意进行了错误的操作后,应不会导致软件崩溃或退出;软件本身应提供错误恢复和数据备份功能,当发生数据错误时,应能自行恢复到正常工作状态;软件应能承受一定的压力测试。在掉点、断网等情况发生时,软件的数据不应丢失,且环境正常后,软件能够继续正常运行。
五、结论
软件可靠性是决定软件质量的重要指标。在软件开发过程中应制定科学和全面的软件测试方案,来保证软件交付后的可靠运行。本文主要针对软件测试方法进行了深入的探讨,提出了一些可用的测试方法和建议,旨在为进一步提高软件开发质量提供一定的参考。
参考文献:
[1]杨为民等.可靠性维修性保障性丛书.国防工业出版社.1995
[2]史济民等.软件工程原理、方法与应用,高等教育出版社.2002
[3]梅启智,廖炯生,孙惠中.系统可靠性工程基础,科学出版社.1992