第一篇:软件测试课学习心得
软件测试课学习心得
09301028 张如
这个学期我学习了软件测试这门专业课程,在学期即将结束的时候,我也对这门课程建立基本的了解和理解。软件测试这门课程作为软件工程专业中一门很重要的课程,已经在软件领域占据了不可替代的角色,当一个软件从雏形到真正的在一台计算机上运行的时候,谁也不能保证计算机软件能一步到位的满足人们的需求。所以就有了软件测试,其目的是:第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。下面我简单的写一下这个学期对课程的总结和收获。
我认为,在整个庞大的软件工程中,不管是需求分析、架构设计甚至是最后的debug,都会产生引入不管的机会,这就要求作为一个软件测试师要掌握丰富的软件工程原理和知识。测试的工作将会存在于整个项目周期,即在项目开始时需要各种分析调研时就开始了。尤其是在形成需求规格说明书时就有对文档的测试需求,甚至主导整个项目的走向。
软件测试对逻辑思维、学习能力、反应要求很高,是否有严密的思维和逆向思维也非常重要。做测试还要考虑到所有出错的可能性,有时候还要用一些非常规的的测试方法。软件测试还很注重软件性能问题,也就是要保证软件运行得很好;不同的使用环境下,考虑软件
的兼容性同样重要。对于测试员来讲,会比开发人员更加重视软件产品的质量问题。在测试过程中,测试者可能会为客户的需求角度考虑到更多,由此我们可以认为测试人员有权利决定产品是否可以发布。然而,通过一个学期的学期,我们又不得不懂得,软件测试人员不是万能的,测试人员在面对一个设计烂编码烂的软件时,也是无法不低头的,再怎么测试它也变不成优秀的软件。
通过课上的理论因为课下的实践和后半学期又因为身体力行于qq群论坛里使我对测试方法和设计分析有了大致的接触和深入了解。收印象深刻的有一下几点。
1、最基本的测试的分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试;从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。
2、然后就是,白盒测试中的逻辑驱动测试的覆盖率测试。
3、还有就是对于划分等价类和边界值法这一块,让我从模糊到明朗。
4、在初次写测试用例的时候,感觉真是纠结,用例写的很死板,看似简单的一个填表工作,要写好真是不简单。一开始写的比较不自然,有些生搬硬套,而且还很慢。在后来负责了对论坛新鲜事版块的测试之后,明白了测试用例其实就是指导怎么去执行测试,而且书写设计测试用例也要以熟悉软件的业务为前提,才能更好的去测试。
另外就是一个学期的学习让我纠正了几点误区:
1. 有位大师曾说过:“软件测试的目的在于发现错误,一个好的测试用例在于发现从来未发现的错误,一个成功的测试是发现了从未发现的错误的测试。” 由此我自认为测试就是为了找到bug,然而一个学期的测试学习经验告诉我这是错误的,如果只是为了找到bug,那么bug会成天缠着你。
2.在大家协力测试论坛的时期内,我曾认为这种大量的重复性的工作真的很乏味,可是在这乏味中真心发生挺多有意思的bug,意想不到的bug,所以我认为只要掌握了方法,在重复中寻到到创新的小惊喜,任何东西都有它的特点。
作为测试新手,通过一学期的学习,我认为能独立写测试计划,设计测试用例,精通一种测试工具,理解一种bug管理软件是新手晋级老手的必备素质。任重而道远?!
在最后,我不得不提的就是细心和耐心了。这是我认为这个学期测试课上收获最大的了,课程要求测试时必须细心和耐心,我在想,如果以后真的工作在测试一系列的岗位上,要学会坐得住,用大量的时间和精力和bug斗争,分离、识别还有归类bug,是不是也能真的改变我粗心大意和三分钟热度的毛病。
最后感谢刘老师这学期的课程讲授,和实践中的指导和帮助。测试路程,路漫漫其修远兮,吾将上下而求索。
第二篇:软件测试学习纲要
《软件测试》学习纲要
一、2014年春季学期期末考试题型如下:
1、选择题:15题、每题2分;共30分
2、填空题:15空、每空1分;共15分
3、论述题:6题、每题5分;共30分
4、软件测试实践题:4题、共25分
学习要点:
1) 软件测试目的、原则、误区、对象、分类
2) 软件缺陷
3) 软件测试v模型
4) 测试用例概念、设计原则、设计步骤
5) 黑盒、白盒测试
6) 边界值、等价类测试用例设计
7) 因果图法
8) 场景法
9) 逻辑覆盖测试分类、关系
10) 环路复杂度
11) 单元测试概念
12) 单元测试的策略
13) 集成测试概念
14) 集成测试策略10个字
15) 系统测试的概念
16) 回归测试概念
17) 验收测试概念、过程
18) 动态测试与静态测试
19) 系统性能参数
20) 性能测试分类
21) 测试计划、测试报告文档内容
22) 白盒测试用例设计
23) 黑盒测试用例设计
24) junit单元测试用例设计及编程
第三篇:软件测试学习基础
学习软件测试需要什么基础
1、自学能力又是与基础无关的,但自学能力是一个技术人员最重要的能力之一,尤其是在遇到问题时快速学习并找到解决办法的能力。技术人员很重要的一点就是需要不断学习新的知识,这样才能与时俱进。在工作中不要指望别人告诉你该学什么,该怎么学,甚至帮你解决问题,要对自己有个长期的规划,希望往哪方面发展,应该具备什么样的知识。当然知识是学不完的,工作中很可能遇到没学过的问题,因此遇到问题时要知道怎样去寻找解决方法,并自己思考如何解决。
2、编程基础至少要了解一门编程语言,c、vb、java都可以,注意是了解而不是精通。了解的意思就是能看懂代码,如果能自己写简单的代码就更好了。关键是了解编程的思想,不至于看到代码相关的内容就不知所措了。只要能看懂一种编程语言,学会其他语言也就不是问题了。其实绝大部分刚刚从事软件测试行业的人都是做功能黑盒测试,并不需要编程能力,但当工作了一段时间,想往更高层次发展时,就需要更全面的能力,编程能力就是很重要的一点。如果想往性能测试、自动化测试方面发展的话,那编程能力更是必不可少的了,因为使用测试工具就需要编程。
3、数据库基础 ……此处隐藏2097个字……足性能和效率的要求(系统测试-性能)
6. 适应用户的环境(系统测试-兼容)
软件测试的原则:
1. 应尽早执行,并贯穿于整个软件生命周期。(软件的生命周期)
2. 严格执行测试计划(软件的生命周期-测试项目计划)
3. 应追溯需求(软件的生命周期-测试需求分析)
4. 穷举例是不能的,要遵循good-enough原则(软件的生命周期-测试用例编写)
5. 关注缺陷的修复(软件的生命周期-bug提交)
6. 检查程序是否做了不该做的(单元测试)
7. 必须确定预期结果(系统测试-功能)
8. 应由第三方来构造(验收测试)
八、 v模型:
v模型:揭示了软件测试活动分层和分阶段的本质特性。
如:集成测试对应概要设计
集成测试计划和集成测试说明文档的编写:可以在概要设计阶段就可以开始编写,只要在集成测试实施前完 成即可。
v模型还有一点意义:1)在需求分析阶段 : 编写测试用例,可以发现需求文档本身的缺陷,这样就能尽早把需
求的缺陷消除,避免使缺陷残留到下一个阶段中。
2)在概要设计阶段:编写集成测试用例也会间接地地图软件设计质量。
总结:开发人员软件开发阶段:用户需求、需求分析与系统设计、概要设计、详细设计、编码
(集成、实施、交付)
测试人员软件测试阶段:验收测试准备、系统测试准备、集成测试准备、单元测试准备、单元测试
(集成测试、系统测试、验收测试)
(测试阶段准备反过来,与开发阶段对应上)
九、典型的软件测试过程模型是:v模型、w模型、h模型、前置测试模型。
第五篇:软件测试学习总结
软件测试学习总结
姓名:某某学号:20140001
在大庆浦东软件平台有限公司经过一周的软件测试实训,从对软件测试没有什么经验的我初步掌握了软件测试的方法和技能,收获颇多。
我在大学期间的专业是信息与计算科学,原本打算从事网络方面的工作,对活动目录、数据库、操作系统等的知识比较感兴趣。经过这次理论学习,了解到要做好软件测试,要求掌握的知识并不仅仅是测试方面的,网络、数据库、操作系统等的知识对做好测试也是很有帮助的。这让我明确了以后学习的目标,在不断学习软件测试的同时,也应该继续其他相关知识的深入学习。
通过此次学习,对整个软件测试行业的了解大大的加深。以前认为软件测试只是枯燥的反复的使用被测试软件来发现异常的问题,以为软件测试并不重要,低开发一等。现在认识到了软件测试的重要性,软件测试是软件产业向软件工业化生产时代迈进不可缺少的重要组成部分,是保证软件质量达到客户需求不可缺少的环节。软件测试在国内是一个新的职业,发展得比较晚,但它的重要性正在为行业所重视。
在学习过程中,我了解了作为一个合格的测试人员所应具备的素质与技能。其中个人素质在测试工作中起到了非常重要的作用,它包括你的信心、耐心、细心和与人交流沟通的能力,它将贯穿你工作生涯的整个过程。在测试理论上,我们系统学习了软件测试的流程,各种测试阶段和测试方法,以及测试工具的使用。通过这些课程的学习,让我们对软件工程也有了更深刻的理解,为以后的测试工作作了很好的理论储备和技能的提升。
软件测试作为软件开发过程中一个非常重要的环节,越来越成为软件开发商和用户关注的焦点。完善的测试是软件质量的保证,因此软件测试就成了一项重要而艰巨的工作,要做好这项工作当然也绝非易事,我在做软件测试工作中总结出了一些经验和技巧。
1.功能点的细化
在进行测试前,先将所要测试的功能细分,填写《测试用例表》,有针对性的运行功能测试案例,逐个对每个功能细分点进行测试。在每次运行测试案例之前,明确此次运行的目的和预期的输出结果,并要做好记录。
2.注意测试中的错误集中发生的现象
有一些错误是和程序开发人员的编程水平和习惯有很大关系的。例如程序中的拼写错误,习惯用法等。注意收集并记录这些现象,有助于更快、更多地发现类似的错误。
3.尽可能多的使用非常规的测试
充分考虑到各种合法的输入和不合法的输入以及各种边界条件。边界值往往是最容易出现异常的情况,特殊的情况下甚至要制造极端的状态和意外状态,比如网络突然中断,和电源突然断电等情况。
4.对测试错误结果一定要有一个确认的过程
一般有a测试出来的错误,一定要有一个b来确认。
5.制定严格的测试计划
测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
6.回归测试的关联性一定要引起充分的注意
在开发人员刚修复bug之后的地方,再找一找,往往开发人员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。修改一个错误而引起更多的错误出现的现象并不少见。
7.测试文档要尽可能详细
《测试用例表》中的功能点可尽量的详细,如实、详细地记录每次运行测试案例的输入数据,输出数据,出错提示,进行测试的时间,完成测试的时间等,便于以后对测试工作的回溯。
8.重视交流和沟通
包括和程序开发人员的交流,同是测试人员之间的交流,网上技术论坛和网友的交流,和客户的交流等。多思考,多交流,多提问,通过多种沟通交流的途径,可以少走很多弯路,同时可以学到很多东西。
9.善于总结
在测试过程中发现的所有问题,异常情况,发现程序开发人员易犯,常犯的错误,各种有价值的经验教训,使用系统和操作数据库时发现或者学到的技巧,使用测试工具时的心得等等,都可以随手记录在笔记本或者电脑上。这些都将是今后工作中可以参照的珍贵资料,同时也会成为自己的宝贵经验。
10.妥善保存一切测试过程文档。
这次软件测试实训为我们以后从事软件测试工作打下了良好的专业基础,为我们的进一步学习提高打下了扎实的理论基础。对测试过程有了初步的认识,测试计划、测试设计、测试开发、测试执行、测试评估、测试报告贯穿整个软件开发过程。单元测试、集成测试、系统测试、验证测试每个阶段都应以用户需求为依据。这些基本的概念虽然比较抽象,但对以后的实践是大有益处的。
总的来说,这次培训效果不错,对自己有一定的提升,这完全不同与学校的学习,因为它更加贴近工作,针对以后工作的内容作了很多实例的练习与工具的使用,为我们更快的加入工作提供的很好的前提。接下来一段时间,我将利用假期进入相关测试部门进行实际项目的训练,我相信在我有了很好的理论基础后,会在工作中很好的加以应用,让测试工作做得更好。同时,我会更加努力的学习与工作,遇到问题会及时多渠道寻找解决方法,积极上进,希望早日成为一名优秀的测试人员。