黑盒测试入门、技巧
- 格式:docx
- 大小:107.99 KB
- 文档页数:39
具体的黑盒测试方法包括等价类划分、因果图、正交实验设计法、边值分析、判定表驱动法、功能测试等。
在使用时,自然要针对开发项目的特点对方法加以适当的选择。
入门软件测试人员自身素质培养13则(1) 首先,应对软件测试感兴趣和对自己有自信,如果具备了这两点,那么在开发过程中不管遇到什么样的困难,我相信你一定能克服。
(2) 善于怀疑,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。
别人认为是对的,我却认为不是对的。
(3) 打破砂锅问到底的精神,对于只出现过一次的bug,一定找出原因,不解决誓不罢休。
(4) 保持一个良好的心情,否则可能无法把测试作好。
不要把生活中的不愉快的情绪带到工作中来。
(5) 做测试时要细心,不是所有的bug都能很容易的找出,一定要细心才能找出这些bug。
(6) 灵活一些,聪明一点,多制造一些容易产生bug的例子。
(7) 在有条件的情况下,多和客户沟通,他们身上有你所需要的。
(8) 设身处地为客户着想,从他们的角度去测试系统。
(9) 不要让程序员,以“这种情况不可能发生”这句话说服你,相反,你应该去说服他,告诉他在客户心里,并不是这样的。
(10) 考虑问题要全面,结合客户的需求、业务的流程、和系统的构架,等多方面考虑问题。
(11) 提出问题不要复杂化,这一点和前面的有点矛盾,如果你是一新手,暂时不要管这一点,因为最终将有你的小组成员讨论解决。
(12) 追求完美,对于新测试员来说,努力的追求完美,这对你很好,尽管有些事无法做到,但你应该去尝试。
(13) 幽默感,能和开发小组很好的沟通是关键,试着给你的开发小组找一个“BUG杀手”,或对他们说“我简直不敢相信,你写的程序居然到现在没有找到BUG”。
测试人员在开发过程中的任务软件测试目的1、测试的最终目的是为了避免错误的发生,确保应用程序能够正常高效的运行;2、好的测试用例在于发现至今未发现的错误;3、成功的测试是发现了至今未发现的错误的测试;4、好的测试工程师应该做到不仅发现问题,还能够帮助开发人员分析问题;测试人员和开发人员的关系开发人员和测试人员的主要矛盾就集中在对bug的定义上。
测试人员辛辛苦苦发现软件中有问题,报了一个bug。
这时就会出现两种状况。
第一种,开发人员工作很忙,压力很大,外加心情不好,就会说出如下四类话:a.你会不会用软件呀?b.你使用了最bt的方法发现了用户永远也不可能发现的问题c.由于我使用了XXX技术,YYY方法和受到了ZZZ的约束,所以只能出现这样的问题,所以就不是bugd.上次都说过了,是你们测试的问题,先保证测试用例的正确性再来测试而如果开发人员比较闲,也许会仔细斟酌一下,做出下列答复:e.这确实是个问题。
但是是由于我的一个小小的疏忽所致,也不至于报的这么严重吧?f.老兄,老板们急着要release,我看我们就。
也许大家还会碰到别的情况,但是我们测试人员和开发人员总在和这些bug打转,相互打口水丈,所以关系就一直很紧张。
大家也许要问如何解决紧张的关系,我想到了几个方面,也欢迎大家补充。
首先我要为测试人员说说好话,因为我们通常被认为是最不重要的一群人。
1)开发人员通常把软件看成是程序,他们的这种认识上的误区会排斥程序以外的其它因素,例如相关的文档。
2)开发人员通常把软件的质量等同于软件功能性方面的质量。
ISO/IEC9126标准中定义了6大质量特性,我们做测试的人员不应该让开发人员钻其它五项的空子。
3)测试人员通常关注的软件的行为,也就是外在表现,是对外部质量的评价。
而开发人员通常是关注软件的实现细节,也就是内部构成,即内部质量。
外部质量和内部质量是不等价的,也就是说开发人员犯的错误会引入缺陷,而缺陷在特定的使用下才会产生失效。
所以我们应该统一和测试人员关于bug的理解和认识,避免分歧的不断涌现。
为测试人员说了好话,也要说说不好的地方。
1)急于提交bug,体现自己工作的成果,而忽视了对bug的描述。
对测试的步骤,测试平台的配置,产生的现象,造成的影响等都应该尽可能详细。
详细而准确的描述不但能让开发人员快速而准确的定位问题,而且便于问题的重现。
2)不考虑质量评价的优先级和测试的目的。
只是一味的发现bug,使用自己都觉得很bt的方法发现了bug,但是这对于对产品质量的评价和决策能产生任何影响吗?3)大家都是搞技术的,都不愿意接受别人的批评。
如果受到了一些言语上的抨击,开发人员更愿意将问题一直拖下去,而不承认自己的过失。
所以人际关系的培养和交流技巧的训练对测试人员也是很重要的。
软件测试的原则:1、应把“尽早和不断地进行软件测试”作为软件开发者的座右铭,实践证明单元测试能够尽早发现问题,减少后期测试的错误量。
2、测试用例应由测试输入数据、测试执行步骤和与之对应的预期输出结果三部分组成。
3、应当避免由程序员检查自己的程序。
(指后期系统测试阶段,不包括单元测试)4、测试用例的设计要确保能覆盖所有可能路径。
在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
不合理的输入条件是指异常的,临界的,可能引起问题的输入条件。
5、充分注意测试中的群集现象。
经验表明,测试后程序残存的错误数目与该程序中已发现的错误数目或检错率成正比。
应该对错误群集的程序段进行重点测试。
6、严格执行测试计划,排除测试的随意性。
测试计划应包括:所测软件的功能,输入和输出,测试内容,各项测试的进度安排,资源要求,测试资料,测试工具,测试用例的选择,测试的控制方法和过程,系统的配置方式,跟踪规则,调试规则,以及回归测试的规定等等以及评价标准。
7、应当对每一个测试结果做全面的检查。
8、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
测试人员在软件开发过程中的任务:1、尽可能早的找出系统中的Bug;2、避免软件开发过程中缺陷的出现;3、衡量软件的品质,保证系统的质量;4、关注用户的需求,并保证系统符合用户需求。
软件测试的部分技巧(1) 边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。
(2) 非法测试,例如在输入数字的地方输入字母。
(3) 跟踪测试,跟踪一条数据的流程,保证数据的正确性。
(4) 在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。
(5) 接口测试,程序往往在接口的地方很容易发生错误,要在此模块测试勿掉以轻心。
(6) 代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。
(7) 突发事件测试,服务器上可能发生意外情况的测试。
(8) 外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时, 这个系统所受到的影响的情况。
(9) 在程序员刚修复Bug之后的地方,再找一找,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。
(10) 认真做好测试记录在做完一天的测试记录之后,第二天再根据第一天的测试记录重复测试你会发现有未修正的错误。
(11) 文字测试,如果在系统中有用词不当的地方,我想这是不应该的。
(12) 系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。
有些程序在WIN2000下能运行,而到WIN98却不能运行。
像一些很特别的用户去使用系统,你很有可能发现BUG。
(13) 用户的易用性测试,往往用户的需求是不断的变化的,而其份变化中的一部的原因,是有用户操作上不方便引起的。
软件测试是软件开发中的重中之重,没有一点可以马虎的,在项目管理过程,我强调的是每个过程的每一个环节都要进行测试,保证系统在每个阶段可以控制。
因为软件测试中考虑的问题基本上是项目管理中考虑的问题。
界面界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。
设计良好的界面能够引导用户自己完成相应操作,起到向导作用。
界面设计主要是为了达到以下目的:1) 以用户为中心。
设计由用户控制的界面,而不是界面控制用户。
2) 清楚一致的设计。
所有界面的风格保持一致,所有具有相同含义的术语保持一致,且易于理解和使用。
3) 拥有良好的直觉特征。
以用户所熟悉的现实世界事务的抽象来给用户暗示和隐喻,来帮助用户能迅速学会软件的使用。
4) 较快的响应速度。
5) 简洁、美观。
界面设计与测试规则目前流行的界面风格有三种方式:多窗体、单窗体以及资源管理器风格,无论那种风格,以下规则是应该被重视的。
1:易用性:按钮名称应该易懂,用词准确,屏弃没楞两可的字眼,要与同一界面上的其他按钮易于区分,能望文知意最好。
理想的情况是用户不用查阅帮助就能知道该界面的功能并进行相关的正确操作。
易用性细则:1):完成相同或相近功能的按钮用Frame框起来,常用按钮要支持快捷方式。
2):完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。
3):按功能将界面划分局域块,用Frame框括起来,并要有功能说明或标题。
4):界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能。
5):界面上首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。
6):同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。
7):分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab8):默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。
9):可写控件检测到非法输入后应给出说明并能自动获得焦点。
10):Tab键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。
11):复选框和选项框按选择几率的高底而先后排列。
12):复选框和选项框要有默认选项,并支持Tab选择。
13):选项数相同时多用选项框而不用下拉列表框。
14):界面空间较小时使用下拉框而不用选项框。
15):选项数叫少时使用选项框,相反使用下拉列表框。
16):专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。
2:规范性:通常界面设计都按Windows界面的规范来设计,即包含“菜单条、工具栏、工具厢、状态栏、滚动条、右键快捷菜单”的标准格式,可以说:界面遵循规范化的程度越高,则易用性相应的就越好。
小型软件一般不提供工具厢。
规范性细则:1):常用菜单要有命令快捷方式。
2):完成相同或相近功能的菜单用横线隔开放在同一位置。
3):菜单前的图标能直观的代表要完成的操作。
4):菜单深度一般要求最多控制在三层以内。
5):工具栏要求可以根据用户的要求自己选择定制。
6):相同或相近功能的工具栏放在一起。
7):工具栏中的每一个按钮要有及时提示信息。
8):一条工具栏的长度最长不能超出屏幕宽度。
9): 工具栏的图标能直观的代表要完成的操作。