软件工程导论4班6组 软件测试心得体会
软件工程导论4班6组
软件测试心得体会
经过一个多月的开发,我们的项目终于在第12周进入了软件测试阶段,软件测试工作是一个系统而复杂的工程,他的目的就是确保软件的质量、确认软件以正确的方式做了用户所期望的事情,所以工作的主要任务是发现软件的错误、有效定义和实现软件成分由底层到高层的组装过程、验证软件是否满足规格书要求和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。
而且软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,以及为其提供分析依据,重要的是要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。
软件测试对测试工程师来讲,要求具备较强的专业知识,严谨细心耐心的测试态度,良好的反向思维、发散思维能力、沟通能力等等。
首先是我们组的各位组员对于软件测试的一些学习内容:
- 功能测试:
1.1.这是软件测试工作中最核心和最基本的一项测试,该测试的主要内容是检查软件是否符合需求定义,并通过构造正常的操作来检查的动作是否正确;在这个测试里,正确性是最最重要的软件质量要素。
1.2.功能测试按照可见性可以分为两类:显性功能和隐性功能。
显性功能:指在菜单里可以看得到的功能。
隐性功能:指在菜单里看不到的功能。
1.3.在实际的测试过程中,我们的功能通过项目的流程可以很容易地进行无遗漏的测试,
1.4.制定测试用例时,要充分考虑各功能模块软件的显性功能和隐性功能。
- UI测试
好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。
UI测试遵循的原则:
2.1.易用原则:如主菜单icon的排列布局:横纵向、环形、椭圆形。
2.2.友好原则:歌曲列表中的drag bar是否太窄,导致不方便拖动?
2.3.求美原则:检查在UI的布局里,各种要素是否能传达一种美感,布局是否合理,色彩是否合谐。
如拖动列表的动态效果、刷新列表的沙漏效果等。
2.4.一致性原则:同样的一个功能的UI在不同的情景(scenario)所呈现的方式应该保持一致。
2.5.普遍性原则:即遵循约定俗成的规定。
测试用户界面的色彩搭配、整体布局、行距、对齐,样式统一等等。还有就是一些控件是否合理,提示信息和页面信息是否有语法错误等等一系列问题,都应考虑进去。
- 用户体验:
用户体验:一种纯主观在用户使用产品过程中建立起来的感受。对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计实验来认识到。
- 兼容性测试:
主要测试不同介质对于被测设备的表现。包括:硬件兼容性测试和软件兼容性测试。
如何在有限的成本和资源考虑下,针对此软件产品规划出适当的兼容性测试,是所有软件测试技术人员关注的重点。
4.1.评估软件应用环境,有针对性的制定测试计划。做多少设备投资?投入多少人力?要测试多少兼容性测试完全会影响到软件产品的最终成本。想要专心和投资在研发上,又想要节省成本的做好兼容性测试,只有评估软件应用环境,有针对性的制定兼容性测试计划,才能兼顾成本和产品的兼容性质量。
4.2.在多种平台/应用环境上测试一个软件产品的开发成功,不仅仅是编写完为使用者提供服务功能的程序而已,更重要的是能在用户环境中可靠的运行。因此,软件程序编写工作的完成,其实只是完成了开发任务中的一半,对软件进行模拟用户环境进行兼容性测试其重要性不亚于对程序本身的开发。因此在不同平台、不同版本软件上做对比测试很有必要。
- 性能测试
性能测试通过异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。
- 临界测试
临界测试,就是指数据在保存、删除、传送、发送时或者这些动作即将发生时,考察软件对外部干扰事件的处理情况。
如文本文件容量大于或等于设计容量,关注读取时的表现;
- 可靠性测试
7.1.可靠性是指在一定的环境下、在给定的时间里,软件不发生故障的概率。
7.2.软件在运行过程中不会发生像硬件那样的物理变化,但是并不代表软件现在运行是正确的,那它一辈子运行也是正确的,说不定哪一天它就不正常了。软件中司空见惯的“内存泄漏”与”误差积累“等问题不是一时半会儿就能测试出来的,需要一个较长时间的观察。
- 黑盒测试模型
8.1.黑盒测试不需要去关注软件的整体架构及其编码细则,只需要通过构造一些合理的输入(操作),来观察被测设备的实际结果或现象(输出),从而判定是否存在问题,需求文档是黑盒测试的主要依据。
8.2.在一个功能的实现过程中,可能存在这一些隐含的制约条件,它们影响着期望结果或者是输出。
8.3.问题就是输出跟期望结果的差距,需要注意的是,当立场不同时,对问题的定性也可能不一样,开发人员站在研发的角度说这不是问题,测试人员站在质量的角度说这是问题。
- 实用的黑盒技术
9.1.输入的构造通常会采用穷举的思想,有两种手段可以有效地缩小穷举空间:等价划分和边界值分析。
9.2.等价划分:等价区间的概念可以这样表述,设(A,B)是命题f(x)的一个等价区间,在(A,B)中任意取值x1进行测试:
如果f(x1)错误,那么f(x)在整个区间(A,B)上都将出错;
如果f(x1)正确,那么f(x)在整个区间(A,B)上都将正确。
等价划分思想的关键是找到一个合适的标准去划分等价区间!
13.3.边界值分析,“缺陷遗漏在角落里,聚集在边界上”,边界值分析是对等价划分的一种有效补充。
其次是我们组的各位组员对于软件测试的一些感悟:
1、软件测试在整个软件周期中的重要性。
它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。这个环节在后续整个项目中占了很大的比重,能主导整个项目的走向,成败与否全在于开始阶段的决策。
2、软件测试的真正意义在于发现错误,而不在于验证软件是正确的。再严密的测试也不能完全发现软件当中所有的错误,但是测试还是能发现大部分的错误,能确保软件基本是可用的,所以在后续使用的过程中还需要加强快速响应的环节。结合软件测试的理论,故障暴露在最终客户端之前及时主动的去发现并解决。这一点就需要加强研发队伍的建设。
3、曾经一度认为软件测试就是使用工具测试bug,现在看来不是这么一回事情,因为还是有手工测试,工具只是一个辅助,用工具你先要去了解测试的一些基本的东西,不是那按两下按钮就行了,就算是录制脚本,也需要看懂脚本的代码,工具不是万能的。
4、这是大家第一次参加项目开发,我们小组的各位成员互相协助,充分体现了团队精神和意识。首先,项目的模块必须分的合理清晰,只有这样后期的所有工作才能顺利展开,每位成员必须积极向上、团结一致共同努力实现项目的开发。其次,通过这次项目开发,大家对项目开发的流程有了基本的认识和了解,我相信这是大家以后工作学习的基础。