软件测试工程师知识_第1页
软件测试工程师知识_第2页
软件测试工程师知识_第3页
软件测试工程师知识_第4页
软件测试工程师知识_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、培训,软件测试工程师知识,1) 明确测试任务的范围 测试文档通常包括测试目的、测试环境、测试方法、测试用例、测试工具等。测试工程师首先要通读文档,对整个测试要求形成整体认识,明确测试目的,以及测试要求和测试重点,明确软件测试方法和使用的测试工具。 2) 明确测试时间 明确测试周期和测试时间进度。如果是多人合作完成一个软件,则要首先明确属于自己的测试内容、根据测试内容和测试周期,估算自己每日应该完成的工作量。此外由于软件测试是群体协作的测试活动,需要明确哪些测试内容要与其他测试工程师协作才能完成。 3) 设置测试环境 根据测试文档要求,设置测试需要的软件和硬件环境,包括操作系统,要测试的软件和其

2、他必要的测试工具软件等。所有这些完成后,分别运行,查看是否能正确运行,保证符合测试文档要求的测试环境。 4) 学习被测试软件 对于不太熟悉的软件,可以通过阅读软件自身的教程和帮助文件,学习本软件的一般操作方法,也可以参照相关的书籍资料等。另外,向熟悉测试软件的其他同事请教软件使用方法,也是学习软件的一条捷径。对软件使用越熟练,测试过程越顺利,测试效果越理想。 5) 确认完全理解测试任务 软件测试最重要的要求就是确实明确了测试任务和要求,这包括正确理解了测试文档,确认可以按照测试进度要求,完成测试。对于测试工具要正确安装,熟练使用。如果有任何不明白之处,向软件测试负责人询问。切忌凭自己的理解和主

3、观推测,自行其事。当然,真正测试中,往往会遇到各种新的小疑难问题,也需要及时向测试负责人请教,以保证测试顺利进行。 执行软件测试任务 1) 按照测试文档要求,逐项认真测试 根据测试文档测试要求,按照测试步骤,逐项进行。通过运行软件,观察测试结果,与软件需求说明书的内容进行比较,找出软件错误。对于需要调用测试用例的测试,保证正确地调用了测试用例,注意观察和分析测试结果。某些不容易重复的错误,需要反复测试,总结重复该错误所需要的测试步骤,直到确认可以重复出现为止,软件测试工程师工作流程,2) 记录发现的错误,填写软件问题报告 为了纠正软件中的错误,测试工程师要正确记录发现的错误,将错误再现的步骤写

4、入测试报告中,测试报告是程序测试的重要组成部分,正确书写测试报告是对测试工程师的基本要求。采用软件缺陷数据库管理测试中发现的软件缺陷,每一条错误作为数据库的一条记录,方便记录、修改、查询。 3) 填写测试进度表和必要的测试内容记录表 每天将测试内容写入测试进度表文档,可以使测试负责人了解测试进度,控制测试周期内测试的连续性,增强测试过程控制性,保证测试的正常进行。测试记录要准确完整,实事求是,必要时插入测试注释,解释测试中的特殊问题。测试进度表是评价测试质量和工作内容的重要凭证,对于测试后发现的测试错误和失误,可以通过检查测试记录,寻找产生错误的原因。 4) 测试中发现疑难及时请教 测试是一个

5、动态的过程,可能由于自己的错误操作或者测试文档内容的错误,使得测试过程中出现自己不能解释的现象或结果,出现与测试要求不符合的情形,这时可能需要与其他测试者协商或求助,如果问题仍然不能解决,应该及时请教,听取意见和建议,必要时反复讨论直到问题全面解决。 全面检查测试结果 1) 检验书写的软件问题报告的记录,使之确切、规范 正确书写测试记录是保证迅速定位软件错误,加快改正错误的必要前提。专业规范的软件记录报告是体现公司测试水平和专业实力的外在体现。认真检查书写的每条记录是否符合规范,格式、步骤、内容一一检查,必要时补充或删减。 2) 对照测试文档要求,检查测试内容是否完整 测试完成后,要对照测试文

6、档检查测试是否全部完成,保证没有丢失测试内容。如果某些内容,由于测试环境的要求不满足,或者由于测试时间短没有进行,则要写入测试进度表文档,软件测试指导手册 单元测试 一、单元测试环境配置测试 1. 网络连接是否正常 2. 网络流量负担是否过重 3. 软件测试平台是否可选 4. 如果( 3 ),是否在不同的软件测试平台进行软件测试 5. 所选软件测试平台的版本(包括 Service Pack )是否正确 6. 所选软件测试平台的参数设置是否正确 7. 所选软件测试平台上正在运行的其它程序是否会影响测试结果 8. 画面的分辨率和色彩设定是否正确 9. 对硬件测试平台的要求和支持程度 二、代码测试

7、A 静态测试 1. 同一程序内的代码书写是否为同一风格 2. 代码布局是否合理、美观 3. 程序中函数、子程序块分界是否明显 4. 注释是否符合既定格式 5. 注释是否正确反映代码的功能 6. 变量定义是否正确(长度、类型、存储类型) 7. 子程序(函数和方法)接受的参数类型、大小、次序是否和调用模块相匹配合 8. 函数的返回值类型是否正确,软件测试要点总结 一、 环境配置测试 (1) 网络连接是否正常 (2) 网络流量负担是否过重 (3) 软件测试平台是否可选 (4) 如果(3),是否在不同的软件测试平台进行软件测试 (5) 所选软件测试平台的版本(包括Service Pack)是否正确 (

8、6) 所选软件测试平台的参数设置是否正确 (7) 所选软件测试平台上正在运行的其它程序是否会影响测试结果 (8) 画面的分辨率和色彩设定是否正确 二、 代码测试 A. 静态测试 (1) 同一程序内的代码书写是否为同一风格 (2) 代码布局是否合理、美观 (3) 程序中函数、子程序块分界是否明显 (4) 注释是否符合既定格式 (5) 注释是否正确反映代码的功能 (6) 变量定义是否正确(长度、类型、存储类型) (7) 是否引用了未初始化变量 (8) 数组和字符串的下标是否为整数 (9) 的数组和字符串的下标是否在范围内(不“越界”) (10) 进行数组的检索及其它操作中,是否会出现“漏掉一个这种

9、情况,浅谈软件测试的思路 1、逆向思维方式 逆向思维在测试中用的很多,比如将根据结果逆推条件,从而得出输入条件的等价类划分 其实逆向思维在调试当中用到的也比较多,当发现缺陷时,进一步定位问题的所在,往往就是逆流而上,进行分析 逆向思维是相对的,就是按照与常规思路相反的方向进行思考,测试人员往往能够运用它发现开发人员思维的漏洞 2、组合思维方式 很多东西单一的思考都没有问题,当将相关的事物组合在一起却能发现很多问题;如多进程并发,让程序的复杂度上了一个台阶,也让程序的缺陷率随之而增长 按照是否排序组合可以分为:排列(有序)和组合(无序);针对不同的应用,可以酌情考虑使用“排列”或者“组合” 为了

10、充分利用组合思维而不致于让自己的思维混乱,要注意“分维”,将相关的因素划分到不同的维度上,然后再考虑其相关性 3、全局思维方式 事物往往存在多面性,当我们掌握了越多的层面,我们对它的认识就越清楚,越有利于我们掌握其本质,全局思维方式就是让我们从多角度分析待测的系统;试着以不同角色去看系统,分析其是否能够满足需求 其实平常我们在软件开发过程中,进行的各种评审,就是借助全局思维的方式,让更多的人参与思考,脑力激荡,尽可能的实现全方位审查某个解决方案的正确性以及其他特性 4、两极思维方式 边界值分析是两极思维方式的典范 为了看系统的稳定性,我们采用了压力测试 两极思维方式,是在极端的情况下,看是否存

11、在缺陷? 注意是两极,不是一极 测试人员做久了,往往容易走极端职业病,不利于与人沟通,5、简单思维方式 剥离一些非关键特征,追逐事物的本质,让事物简单的只剩下“根本” 针对事物本质(解决问题的本质)的测试,让我们不至于偏离方向 6、比较思维方式 认识事物时,人们往往都是通过和头脑中的某些概念进行比较,找出相同、相异之处,或者归类,从而将其加入大脑中的知识体系,可能的话,再建立好的搜索方式,以便以后使用 应用模式是“比较思维”很常见的例子,现在模式很火,有设计模式、体系结构模式、测试模式、等等,一些专家针对一些相关问题的共性找出来的解决方法,取完名字后,可以让大家方便的复用 让经验在这里发挥作用

12、,测试中经验很重要,比较思维是使用经验的方式 7、动起来,更精彩 关注程序的运行时状态 传统的基于结构的程序可以更多的在代码中反映将来程序的运行方式;而面向对象将代码和运行时显著分离 让我们在关注代码静态结构(如类结构)的同时,也要谨慎关注其动态(对象交互网)表现 其实这些思维方式,大家都在有意识或者无意识的使用着,它们各自都有自己的妙处,将我们的思维发散,有意识的将他们用在问题的思考上,有时可以给我们一种“柳暗花明又一村”的感觉,软件测试环境如何配置 配置测试环境是测试实施的一个重要阶段,测试环境适合与否会严重影响测试结果的真实性和正确性。测试环境包括硬件环境和软件环境,硬件环境指测试必需的

13、服务器、客户端、网络连接设备,以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库及其他应用软件构成的环境。在实际测试中,软件环境又可分为主测试环境和辅测试环境。主测试环境是测试软件功能、安全可靠性、性能、易用性等大多数指标的主要环境。一般来说,配置主测试环境可遵循下列原则: 1.符合软件运行的最低要求。测试环境首先要保证能支撑软件正常运行。 2.选用比较普及的操作系统和软件平台。例如,一个软件若声称支持“Windows9X/ME/NT Workstation/2000 professional”和“MS Office 97/2000/XP”,一般我们会采用

14、如“Windows 2000professional+MS Office 2000”的流行环境。 3.无毒的环境。利用有效的正版杀毒软件检测软件环境,保证测试环境中没有病毒。 辅测试环境常常用来满足不同的测试需求或特殊测试项目: 兼容性测试:在满足软件运行要求的范围内,可选择一些典型的操作系统和常用应用软件对其安装卸载和主要功能进行验证。 模拟真实环境测试:有些软件,特别是面向大众的商品化软件,在测试时常常需要考察在真实环境中的表现。如测试杀毒软件的扫描速度时,硬盘上布置的不同类型文件的比例要尽量接近真实环境,这样测试出来的数据才有实际意义。 横向对比测试:利用辅测试环境“克隆”出完全一致的测

15、试环境,从而保证各个被测软件平等对比。 4.营造相对简单、独立的测试环境。除了操作系统,测试机上只安装软件运行和测试必需的软件,以免不相关的软件影响测试实施,软件测试中Web性能测试和CC攻击和方法和防范 1、Web性能测试 Web性能测试涉及的范围太广,但一般web开发者在程序上线以后很多都曾遇到过性能的问题。普遍表现为页面速度开始急剧变慢,正常访问时间变的很长,或则干脆给你抛出异常错误页面。这里会涉及到很多可能发生的情况,举例几个最主要发生的情况: * 数据库连接超过最大限制,目前一般表现为程序的连接池满,拒绝了与数据库的连接。 * 数据库死锁 * Web Server 超过最大连接数(一

16、般在虚拟主机上才会限制) * 内存泄漏 * Http连接数太多,即访问量超过了机器和软件设计正常所能提供的服务 2、CC攻击 CC主要是用来攻击页面的.大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观。 一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读读帖子的权限,如果有,就读出帖子里面的内容,显示出来这里至少访问了2次数据库,如果数据库的体积有200MB大小,

17、系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大. CC就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面).这一点用一个一般的性能测试软件就可以做到大量模拟用户并发,假设服务器A对Search.asp的处理时间需要0.01S(多线程只是时间分割,对结论没有影响),也就是

18、说他一秒可以保证100个用户的Search请求,服务器允许的最大连接时间为60s,那么我们使用CC模拟120个用户并发连接,那么经过 1分钟,服务器的被请求了7200次,处理了6000次,于是剩下了1200个并发连接没有被处理.有的朋友会说:丢连接!丢连接!问题是服务器是按先来后到的顺序丢的,这1200个是在最后10秒的时候发起的,想丢?!还早,经过计算,服务器满负开始丢连接的时候,应该是有7200个并发连接存在队列, 然后服务器开始120个/秒的丢连接,我们发动的连接也是120个/秒,服务器永远有处理不完的连接,服务器的CPU 100%并长时间保持,然后丢连接的60秒服务器也判断处理不过来了

19、,新的连接也处理不了,这样服务器达到了超级繁忙状态. 我们假设服务器处理Search只用了0.01S,也就是10毫秒(这个速度你可以去各个有开放时间显示的论坛看看),我们使用的线程也只有120,很多服务器的丢连接时间远比60S长,我们的使用线程远比120多,可以想象可怕了吧,而且客户机只要发送了断开,连接的保持是代理做的,而且当服务器收到SQL请求,肯定会进入队列,不论连接是否已经断开,而且服务器是并发的,不是顺序执行,这样使得更多的请求进入内存请求,对服务器负担更大. 3、防范方法 说了攻击原理,大家肯定会问,那么怎么防御?使用硬件防火墙我不知道如何防范,除非你完全屏蔽页面访问,我的方法是通

20、过页面的编写实现防御. 1. 使用Cookie认证.这时候朋友说CC里面也允许Cookie,但是这里的Cookie是所有连接都使用的,所以启用IP Cookie认证就可以了. 2. 利用Session.这个判断比Cookie更加方便,不光可以IP认证,还可以防刷新模式,在页面里判断刷新,是刷新就不让它访问,没有刷新符号给它刷新符号.给些示范代码吧,Session: 程序代码:,这样用户第一次访问会使得Refresh=1,第二次访问,正常,第三次,不让他访问了,认为是刷新,可以加上一个时间参数,让多少时间允许访问,这样就限制了耗时间的页面的访问,对正常客户几乎没有什么影响. 3.通过代理发送的HTTP_X_FORWARDED_FOR变量来判断使用代理攻击机器的真实IP,这招完全可以找到发动攻击的人,当然,不是所有的代理服务器都发送,但是有很多代理都发送这个参数.详细代码: 程序代码: % Dim fsoObject DimtsObject dim file ifRequest.ServerVariables(HTTP_X_FORWARDED_FOR)= then response.write无代理访问 response.end endif Set fsoObject =Serv

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论