软件测试培训心得体会

软件测试培训心得体会

概述

2012年8月2日至2012年8月6日,中国软件评测中心的测试技术应用与实践培训课程在武汉召开,本人非常荣幸的参加此次培训,通过这次经验让我系统的梳理了软件测试理论技术,对软件测试有了一个更深入更全面的认识。

下面请准许我简述软件测试的概念及软件测试在软件工程中的重要性。

一:软件测试历史与发展 到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。人们还将“质量”的概念融入其中,软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且将测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容,Bill Hetzel在《软件测试完全指南》(Complete Guide of Software Testing)一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”这个定义至今

仍被引用。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题 。

软件测试已有了行业标准(IEEE/ANSI ),1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。它再也不是一个一次性的,而且只是开发后期的活动,而是与整个开发流程融合成一体。软件测试已成为一个专业,需要运用专门的方法和手段,需要专门人才和专家来承担。

进入上世纪90年代,软件行业开始迅猛发展,软件的规模变的非常大,在一些大型软件开发过程中,测试活动需要花费大量的时间和成本,而当时测试的手段几乎完全都是手工测试,测试的效率非常低;并且随着软件复杂度的提高,出现了很多通过手工方式无法完成测试的情况,尽管在一些大型软件的开发过程中,人们尝试编写了一些小程序来辅助测试,但是这还是不能满足大多数软件项目的统一需要。于是,很多测试实践者开始尝试开发商业的测试工具来支持测试,辅助测试人员完成某一类型或某一领域内的测试工作,而测试工具逐渐盛行起来。人们普遍意识到,工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具是必不可少的。测试工具可以进行部分的测试设计、实现、执行和比较的工作。通过运用测试工具,可以达到提高测试效率的目的。测试工具的发展,大大提高了软件测试

的自动化程度,让测试人员从繁琐和重复的测试活动中解脱出来,专心从事有意义的测试设计等活动。采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题。设计良好的自动化测试,在某些情况下可以实现 “ 夜间测试 ” 和 “ 无人测试 ” 。在大多数情况下,软件测试自动化可以减少开支,增加有限时间内可执行的测试,在执行相同数量测试时节约测试时间。 而测试工具的选择和推广也越来越受到重视。

在软件测试工具平台方面,商业化的软件测试工具已经很多,如捕获/回放工具、Web测试工具、性能测试工具、测试管理工具、代码测试工具等等,这些都有严格的版权限制且价格较为昂贵,但由于价格和版权的限制无法自由使用,当然,一些软件测试工具开发商对于某些测试工具提供了Beta测试版本以供用户有限次数使用。幸运的是,在开放源码社区中也出现了许多软件测试工具,已得到广泛应用且相当成熟和完善。

二:软件测试的概念与目的

软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。

1. 测试的目的是为了表明软件能够工作

2. 测试的目的是为了表明软件不能够能够正常工作

3. 测试的目的不是要证明什么,而是为了把软件不能正常工作的预知风险降低到能够接受的程度

4. 测试不是行为,而是一种自觉的约束,不用太多的测试投入产生低风险的软件上的 。

三:自我体会

体会一:软件测试在整个软件生命周期中的重要性 它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。这个环节在后续整个项目中占了很大的比重,能主导整个软件项目的走向,成败与否全在于开始阶段的决策。

体会二:软件测试的真正意义这与发现错误,而不在于验证软件是正确的

在严格的测试也不能完全的发现软件当中所有的错误,但是测试还是能发现大部分错误的,能确保软件基本可用和软件的适用性,所以在后使用的过程中还需要加强快速响应的环节。结合软件测试理论,故障暴露在最终客户端之前及时主动的去发现并解决。这点需要加强研发队伍的建设。

体会三:在系统性能方面需要重视

经过这次培训中多个案例的讲解,让我了解到系统在上线之后会有很多不能预知的性能问题,需要在上线之前实现进行模拟,以避免风险,包括大数据量访问,高并发数等等。当然也有很多应对手段,没有那种手段可以称最完美的,只有最合适的,需要灵活的掌握,综合运用以达到最优程度,这个很值的大家一起研究。

四:个人想法

根据软件部门目前的情况,接下为了我们的软件能在质量上得到保障减轻项目后期维护验收的风险,在此做以下想法和建议; 想法一:有效制定软件测试流程;

由于前期软件工程项目中,未对软件进行系统化的测试,导致后期维护成本较高,变相增加了软件开发人员的工作量。

方案:

1:测试需求分析

 明确需求范围

 明确每个功能业务处理流程

 不同的功能点作业务的组合

 挖掘显示需求背后隐藏的需求

 测试需求分析:单功能点输入输出------业务流分析-------

全局-----隐藏需求挖掘

2:阶段测试

再软件工程项目中,根据节点、功能模块,业务场景对工程所属软件进行步奏化测试。

3:流程关联性测试

当所属软件开发初步完成时,对软件进行功能关联性,数据关联性进度完整测试。

4:验收测试

软件上线阶段,由我们工作人员带领用户进行现场实时测试并收集测试结果加以进一步完善软件项目,根据用户实际情况制定测试周期。

想法二:设计测试用例

在软件测试时测试用例是很关键的,应为他涉及到一套软件

的输入输出发生情况,能够充分的体现和考虑软件各个方面的缺陷(有序测试)。

如果没有一套完整的测试用例,那么当测试软件时是很难分

析软件输入输出的各种条件,测试起来也较为盲目。(无序测试)。

设计测试用例的好处

1. 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率

2. 测试用例的使用令软件测试的实施重点突出、目的明确

3. 在软件版本更新后只需修正少部分的测试用例便可开展测试工作,降低工作强度,缩短项目周期

4. 功能模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化则会使软件测试易于开展,并随着测试

用例的不断精华其效率也不断攀升

想法三:功能测试全员化

根据软件部门人员实际情况,在开发过程中进程阶段化或

模块化测试时,相互交换开发模块形式按需求说明进行

功能测试及编写测试报告。

想法四:当技术及设施条件充分的情况下可适当做性能测试 目前我们在项目建设过程中对性能压力测试的重视程度

还不太高,而是在现网进行试用,遇到问题再解决,可

能会产生泄后问题,影响客户使用。

件的性能测试在技术上来说需要大量的实践和经验才可

进行,所以建议在有限的时间和条件下软件部门可以一

起学习和实践,对软件性能进行有效的测试,以保障软

件的质量降低软件的风险。

最后再次感谢公司提供的平台,感谢领导的信任,让我有机会得到相关技术的学习及展示自己能力的机会,我也会尽我所能来完善工作的系统,提高工作效率。

王斐 2012.8.7

软件测试培训心得体会

概述

2012年8月2日至2012年8月6日,中国软件评测中心的测试技术应用与实践培训课程在武汉召开,本人非常荣幸的参加此次培训,通过这次经验让我系统的梳理了软件测试理论技术,对软件测试有了一个更深入更全面的认识。

下面请准许我简述软件测试的概念及软件测试在软件工程中的重要性。

一:软件测试历史与发展 到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。人们还将“质量”的概念融入其中,软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且将测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容,Bill Hetzel在《软件测试完全指南》(Complete Guide of Software Testing)一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”这个定义至今

仍被引用。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题 。

软件测试已有了行业标准(IEEE/ANSI ),1983年IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。它再也不是一个一次性的,而且只是开发后期的活动,而是与整个开发流程融合成一体。软件测试已成为一个专业,需要运用专门的方法和手段,需要专门人才和专家来承担。

进入上世纪90年代,软件行业开始迅猛发展,软件的规模变的非常大,在一些大型软件开发过程中,测试活动需要花费大量的时间和成本,而当时测试的手段几乎完全都是手工测试,测试的效率非常低;并且随着软件复杂度的提高,出现了很多通过手工方式无法完成测试的情况,尽管在一些大型软件的开发过程中,人们尝试编写了一些小程序来辅助测试,但是这还是不能满足大多数软件项目的统一需要。于是,很多测试实践者开始尝试开发商业的测试工具来支持测试,辅助测试人员完成某一类型或某一领域内的测试工作,而测试工具逐渐盛行起来。人们普遍意识到,工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具是必不可少的。测试工具可以进行部分的测试设计、实现、执行和比较的工作。通过运用测试工具,可以达到提高测试效率的目的。测试工具的发展,大大提高了软件测试

的自动化程度,让测试人员从繁琐和重复的测试活动中解脱出来,专心从事有意义的测试设计等活动。采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题。设计良好的自动化测试,在某些情况下可以实现 “ 夜间测试 ” 和 “ 无人测试 ” 。在大多数情况下,软件测试自动化可以减少开支,增加有限时间内可执行的测试,在执行相同数量测试时节约测试时间。 而测试工具的选择和推广也越来越受到重视。

在软件测试工具平台方面,商业化的软件测试工具已经很多,如捕获/回放工具、Web测试工具、性能测试工具、测试管理工具、代码测试工具等等,这些都有严格的版权限制且价格较为昂贵,但由于价格和版权的限制无法自由使用,当然,一些软件测试工具开发商对于某些测试工具提供了Beta测试版本以供用户有限次数使用。幸运的是,在开放源码社区中也出现了许多软件测试工具,已得到广泛应用且相当成熟和完善。

二:软件测试的概念与目的

软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。

1. 测试的目的是为了表明软件能够工作

2. 测试的目的是为了表明软件不能够能够正常工作

3. 测试的目的不是要证明什么,而是为了把软件不能正常工作的预知风险降低到能够接受的程度

4. 测试不是行为,而是一种自觉的约束,不用太多的测试投入产生低风险的软件上的 。

三:自我体会

体会一:软件测试在整个软件生命周期中的重要性 它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。这个环节在后续整个项目中占了很大的比重,能主导整个软件项目的走向,成败与否全在于开始阶段的决策。

体会二:软件测试的真正意义这与发现错误,而不在于验证软件是正确的

在严格的测试也不能完全的发现软件当中所有的错误,但是测试还是能发现大部分错误的,能确保软件基本可用和软件的适用性,所以在后使用的过程中还需要加强快速响应的环节。结合软件测试理论,故障暴露在最终客户端之前及时主动的去发现并解决。这点需要加强研发队伍的建设。

体会三:在系统性能方面需要重视

经过这次培训中多个案例的讲解,让我了解到系统在上线之后会有很多不能预知的性能问题,需要在上线之前实现进行模拟,以避免风险,包括大数据量访问,高并发数等等。当然也有很多应对手段,没有那种手段可以称最完美的,只有最合适的,需要灵活的掌握,综合运用以达到最优程度,这个很值的大家一起研究。

四:个人想法

根据软件部门目前的情况,接下为了我们的软件能在质量上得到保障减轻项目后期维护验收的风险,在此做以下想法和建议; 想法一:有效制定软件测试流程;

由于前期软件工程项目中,未对软件进行系统化的测试,导致后期维护成本较高,变相增加了软件开发人员的工作量。

方案:

1:测试需求分析

 明确需求范围

 明确每个功能业务处理流程

 不同的功能点作业务的组合

 挖掘显示需求背后隐藏的需求

 测试需求分析:单功能点输入输出------业务流分析-------

全局-----隐藏需求挖掘

2:阶段测试

再软件工程项目中,根据节点、功能模块,业务场景对工程所属软件进行步奏化测试。

3:流程关联性测试

当所属软件开发初步完成时,对软件进行功能关联性,数据关联性进度完整测试。

4:验收测试

软件上线阶段,由我们工作人员带领用户进行现场实时测试并收集测试结果加以进一步完善软件项目,根据用户实际情况制定测试周期。

想法二:设计测试用例

在软件测试时测试用例是很关键的,应为他涉及到一套软件

的输入输出发生情况,能够充分的体现和考虑软件各个方面的缺陷(有序测试)。

如果没有一套完整的测试用例,那么当测试软件时是很难分

析软件输入输出的各种条件,测试起来也较为盲目。(无序测试)。

设计测试用例的好处

1. 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率

2. 测试用例的使用令软件测试的实施重点突出、目的明确

3. 在软件版本更新后只需修正少部分的测试用例便可开展测试工作,降低工作强度,缩短项目周期

4. 功能模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化则会使软件测试易于开展,并随着测试

用例的不断精华其效率也不断攀升

想法三:功能测试全员化

根据软件部门人员实际情况,在开发过程中进程阶段化或

模块化测试时,相互交换开发模块形式按需求说明进行

功能测试及编写测试报告。

想法四:当技术及设施条件充分的情况下可适当做性能测试 目前我们在项目建设过程中对性能压力测试的重视程度

还不太高,而是在现网进行试用,遇到问题再解决,可

能会产生泄后问题,影响客户使用。

件的性能测试在技术上来说需要大量的实践和经验才可

进行,所以建议在有限的时间和条件下软件部门可以一

起学习和实践,对软件性能进行有效的测试,以保障软

件的质量降低软件的风险。

最后再次感谢公司提供的平台,感谢领导的信任,让我有机会得到相关技术的学习及展示自己能力的机会,我也会尽我所能来完善工作的系统,提高工作效率。

王斐 2012.8.7


相关文章

  • 生产实习报告软件工程11-6
  • 软件工程专业 软件开发实践(生产实习)报告 教学单位 班 级 软件学院 软件工程 11-6 学生姓名 学 号 实习时间 2014-06-23 至 07-18 指导教师 (验收答辩老师) 辽宁工程技术大学软件学院软件工程系制 1 实习时间 2 ...查看


  • 性能测试工程师心得
  • 高级性能测试工程师培训心得 --税务事业部 魏琳 从中国的软件现状来看,各式各样的软件层出不穷,但是好的却并不多,能够走向国际的更是少之又少.中国的软件要想与国际接轨,就必须要完善自己的软件产业,使软件产业走向正规化.国际化,从而更加完善自 ...查看


  • 2016信息技术应用能力提升工程培训心得体会2
  • 2016信息技术应用能力提升工程培训心得体会2 科学技术的飞速发展,使得以计算机和网络技术为核心的现代技术,越来越深刻的改变着我们的工作.学习和生活方式.信息的获取.分析.处理.应用等能力,已成为现代人最基本的能力和素质的标志.素质教育的不 ...查看


  • 中小学教师信息技术使用手册课程学习心得
  • 中小学教师信息技术使用手册课程学习心得体会 为了提高自身的计算机管理业务素质,促进信息技术教学工作的顺利开展,我参与了南京教师培训网站进行的<中小学教师信息技术使用手册>的课程学习.这次培训非常适合我们中小学教师专业发展的需要. ...查看


  • 信息提升工程鲍亨忠心得体会
  • 2015-2016学年 中小学教师信息技术应用能力提升工程培训研修总结 金清镇海滨小学 王辉 我有幸参加了2015-2016学年浙江省中小学教师全员远程培训中小学教师信息技术应用能力提升工程培训.让我对教育现代化的发现有了新的认识,当今以计 ...查看


  • 美术教师培训心得
  • 美术骨干教师培训心得 --眉县青少年活动中心 廖春英 十一月3日至7日我有幸参加了陕西省校外美术骨干教师对奇奕画王软件运用的培训班,学习过程紧张而愉快,本次培训日程安排的紧凑,内容丰富,有专家讲座,还有名师讲堂,我作为一名普通的活动中心美术 ...查看


  • 普通话说话稿:学习普通话的体会
  • 普通话说话稿:学习普通话的体会 随着社会的发展,普通话的重要作用是越来越明显的.作为一个人民教师,普通话就更重要了,所以我对学习普通话的体会很多很深. 在我上幼儿园,小学和中学的时候,我的绝大多数老师普通话说不好,所以他们干脆就用我们的滨海 ...查看


  • 电子商务培训心得
  • 第一篇:电子商务实训总结 一个星期的实训不知不觉的就这样过去了,在这里不敢说自己学到很多的东西,但我真的在其中明白了很多.学校给我们提供的这次实训,是一个很好的学习机会,可以摸索自己的兴趣和以后发展的方向,可以让自己提前认识到自己想得到的东 ...查看


  • 2015年新员工培训心得体会
  • 我失骄杨君失柳,杨柳轻飏直上重霄九.枯藤老树昏鸦,小桥流水人家,古道西风瘦马.夕阳西下,断肠人在天涯.路漫漫其修远兮,吾将上下而求索.木欣欣以向荣,泉涓涓而始流.两句三年得,一吟双泪流.刚走出大学校门,我就很荣幸地成为合肥格力公司中的一员, ...查看


热门内容