您好,欢迎访问三七文档
培训软件测试工程师知识1)明确测试任务的范围测试文档通常包括测试目的、测试环境、测试方法、测试用例、测试工具等。测试工程师首先要通读文档,对整个测试要求形成整体认识,明确测试目的,以及测试要求和测试重点,明确软件测试方法和使用的测试工具。2)明确测试时间明确测试周期和测试时间进度。如果是多人合作完成一个软件,则要首先明确属于自己的测试内容、根据测试内容和测试周期,估算自己每日应该完成的工作量。此外由于软件测试是群体协作的测试活动,需要明确哪些测试内容要与其他测试工程师协作才能完成。3)设置测试环境根据测试文档要求,设置测试需要的软件和硬件环境,包括操作系统,要测试的软件和其他必要的测试工具软件等。所有这些完成后,分别运行,查看是否能正确运行,保证符合测试文档要求的测试环境。4)学习被测试软件对于不太熟悉的软件,可以通过阅读软件自身的教程和帮助文件,学习本软件的一般操作方法,也可以参照相关的书籍资料等。另外,向熟悉测试软件的其他同事请教软件使用方法,也是学习软件的一条捷径。对软件使用越熟练,测试过程越顺利,测试效果越理想。5)确认完全理解测试任务软件测试最重要的要求就是确实明确了测试任务和要求,这包括正确理解了测试文档,确认可以按照测试进度要求,完成测试。对于测试工具要正确安装,熟练使用。如果有任何不明白之处,向软件测试负责人询问。切忌凭自己的理解和主观推测,自行其事。当然,真正测试中,往往会遇到各种新的小疑难问题,也需要及时向测试负责人请教,以保证测试顺利进行。执行软件测试任务1)按照测试文档要求,逐项认真测试根据测试文档测试要求,按照测试步骤,逐项进行。通过运行软件,观察测试结果,与软件需求说明书的内容进行比较,找出软件错误。对于需要调用测试用例的测试,保证正确地调用了测试用例,注意观察和分析测试结果。某些不容易重复的错误,需要反复测试,总结重复该错误所需要的测试步骤,直到确认可以重复出现为止。软件测试工程师工作流程2)记录发现的错误,填写软件问题报告为了纠正软件中的错误,测试工程师要正确记录发现的错误,将错误再现的步骤写入测试报告中,测试报告是程序测试的重要组成部分,正确书写测试报告是对测试工程师的基本要求。采用软件缺陷数据库管理测试中发现的软件缺陷,每一条错误作为数据库的一条记录,方便记录、修改、查询。3)填写测试进度表和必要的测试内容记录表每天将测试内容写入测试进度表文档,可以使测试负责人了解测试进度,控制测试周期内测试的连续性,增强测试过程控制性,保证测试的正常进行。测试记录要准确完整,实事求是,必要时插入测试注释,解释测试中的特殊问题。测试进度表是评价测试质量和工作内容的重要凭证,对于测试后发现的测试错误和失误,可以通过检查测试记录,寻找产生错误的原因。4)测试中发现疑难及时请教测试是一个动态的过程,可能由于自己的错误操作或者测试文档内容的错误,使得测试过程中出现自己不能解释的现象或结果,出现与测试要求不符合的情形,这时可能需要与其他测试者协商或求助,如果问题仍然不能解决,应该及时请教,听取意见和建议,必要时反复讨论直到问题全面解决。全面检查测试结果1)检验书写的软件问题报告的记录,使之确切、规范正确书写测试记录是保证迅速定位软件错误,加快改正错误的必要前提。专业规范的软件记录报告是体现公司测试水平和专业实力的外在体现。认真检查书写的每条记录是否符合规范,格式、步骤、内容一一检查,必要时补充或删减。2)对照测试文档要求,检查测试内容是否完整测试完成后,要对照测试文档检查测试是否全部完成,保证没有丢失测试内容。如果某些内容,由于测试环境的要求不满足,或者由于测试时间短没有进行,则要写入测试进度表文档。软件测试指导手册单元测试一、单元测试环境配置测试1.网络连接是否正常2.网络流量负担是否过重3.软件测试平台是否可选4.如果(3),是否在不同的软件测试平台进行软件测试5.所选软件测试平台的版本(包括ServicePack)是否正确6.所选软件测试平台的参数设置是否正确7.所选软件测试平台上正在运行的其它程序是否会影响测试结果8.画面的分辨率和色彩设定是否正确9.对硬件测试平台的要求和支持程度二、代码测试A静态测试1.同一程序内的代码书写是否为同一风格2.代码布局是否合理、美观3.程序中函数、子程序块分界是否明显4.注释是否符合既定格式5.注释是否正确反映代码的功能6.变量定义是否正确(长度、类型、存储类型)7.子程序(函数和方法)接受的参数类型、大小、次序是否和调用模块相匹配合8.函数的返回值类型是否正确软件测试要点总结一、环境配置测试(1)网络连接是否正常(2)网络流量负担是否过重(3)软件测试平台是否可选(4)如果(3),是否在不同的软件测试平台进行软件测试(5)所选软件测试平台的版本(包括ServicePack)是否正确(6)所选软件测试平台的参数设置是否正确(7)所选软件测试平台上正在运行的其它程序是否会影响测试结果(8)画面的分辨率和色彩设定是否正确二、代码测试A.静态测试(1)同一程序内的代码书写是否为同一风格(2)代码布局是否合理、美观(3)程序中函数、子程序块分界是否明显(4)注释是否符合既定格式(5)注释是否正确反映代码的功能(6)变量定义是否正确(长度、类型、存储类型)(7)是否引用了未初始化变量(8)数组和字符串的下标是否为整数(9)的数组和字符串的下标是否在范围内(不“越界”)(10)进行数组的检索及其它操作中,是否会出现“漏掉一个这种情况浅谈软件测试的思路1、逆向思维方式·逆向思维在测试中用的很多,比如将根据结果逆推条件,从而得出输入条件的等价类划分·其实逆向思维在调试当中用到的也比较多,当发现缺陷时,进一步定位问题的所在,往往就是逆流而上,进行分析·逆向思维是相对的,就是按照与常规思路相反的方向进行思考,测试人员往往能够运用它发现开发人员思维的漏洞2、组合思维方式·很多东西单一的思考都没有问题,当将相关的事物组合在一起却能发现很多问题;如多进程并发,让程序的复杂度上了一个台阶,也让程序的缺陷率随之而增长·按照是否排序组合可以分为:排列(有序)和组合(无序);针对不同的应用,可以酌情考虑使用“排列”或者“组合”·为了充分利用组合思维而不致于让自己的思维混乱,要注意“分维”,将相关的因素划分到不同的维度上,然后再考虑其相关性3、全局思维方式·事物往往存在多面性,当我们掌握了越多的层面,我们对它的认识就越清楚,越有利于我们掌握其本质,全局思维方式就是让我们从多角度分析待测的系统;试着以不同角色去看系统,分析其是否能够满足需求·其实平常我们在软件开发过程中,进行的各种评审,就是借助全局思维的方式,让更多的人参与思考,脑力激荡,尽可能的实现全方位审查某个解决方案的正确性以及其他特性4、两极思维方式·边界值分析是两极思维方式的典范·为了看系统的稳定性,我们采用了压力测试·两极思维方式,是在极端的情况下,看是否存在缺陷?·注意是两极,不是一极·测试人员做久了,往往容易走极端——职业病,不利于与人沟通5、简单思维方式·剥离一些非关键特征,追逐事物的本质,让事物简单的只剩下“根本”·针对事物本质(解决问题的本质)的测试,让我们不至于偏离方向6、比较思维方式·认识事物时,人们往往都是通过和头脑中的某些概念进行比较,找出相同、相异之处,或者归类,从而将其加入大脑中的知识体系,可能的话,再建立好的搜索方式,以便以后使用·应用模式是“比较思维”很常见的例子,现在模式很火,有设计模式、体系结构模式、测试模式、等等,一些专家针对一些相关问题的共性找出来的解决方法,取完名字后,可以让大家方便的复用·让经验在这里发挥作用,测试中经验很重要,比较思维是使用经验的方式7、动起来,更精彩·关注程序的运行时状态·传统的基于结构的程序可以更多的在代码中反映将来程序的运行方式;而面向对象将代码和运行时显著分离·让我们在关注代码静态结构(如类结构)的同时,也要谨慎关注其动态(对象交互网)表现其实这些思维方式,大家都在有意识或者无意识的使用着,它们各自都有自己的妙处,将我们的思维发散,有意识的将他们用在问题的思考上,有时可以给我们一种“柳暗花明又一村”的感觉。软件测试环境如何配置配置测试环境是测试实施的一个重要阶段,测试环境适合与否会严重影响测试结果的真实性和正确性。测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备,以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统、数据库及其他应用软件构成的环境。在实际测试中,软件环境又可分为主测试环境和辅测试环境。主测试环境是测试软件功能、安全可靠性、性能、易用性等大多数指标的主要环境。一般来说,配置主测试环境可遵循下列原则:1.符合软件运行的最低要求。测试环境首先要保证能支撑软件正常运行。2.选用比较普及的操作系统和软件平台。例如,一个软件若声称支持“Windows9X/ME/NTWorkstation/2000professional”和“MSOffice97/2000/XP”,一般我们会采用如“Windows2000professional+MSOffice2000”的流行环境。3.无毒的环境。利用有效的正版杀毒软件检测软件环境,保证测试环境中没有病毒。辅测试环境常常用来满足不同的测试需求或特殊测试项目:兼容性测试:在满足软件运行要求的范围内,可选择一些典型的操作系统和常用应用软件对其安装卸载和主要功能进行验证。模拟真实环境测试:有些软件,特别是面向大众的商品化软件,在测试时常常需要考察在真实环境中的表现。如测试杀毒软件的扫描速度时,硬盘上布置的不同类型文件的比例要尽量接近真实环境,这样测试出来的数据才有实际意义。横向对比测试:利用辅测试环境“克隆”出完全一致的测试环境,从而保证各个被测软件平等对比。4.营造相对简单、独立的测试环境。除了操作系统,测试机上只安装软件运行和测试必需的软件,以免不相关的软件影响测试实施。软件测试中Web性能测试和CC攻击和方法和防范1、Web性能测试Web性能测试涉及的范围太广,但一般web开发者在程序上线以后很多都曾遇到过性能的问题。普遍表现为页面速度开始急剧变慢,正常访问时间变的很长,或则干脆给你抛出异常错误页面。这里会涉及到很多可能发生的情况,举例几个最主要发生的情况:*数据库连接超过最大限制,目前一般表现为程序的连接池满,拒绝了与数据库的连接。*数据库死锁*WebServer超过最大连接数(一般在虚拟主机上才会限制)*内存泄漏*Http连接数太多,即访问量超过了机器和软件设计正常所能提供的服务2、CC攻击CC主要是用来攻击页面的.大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观。一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是论坛就不一样了,我看一个帖子,系统需要到数据库中判断我是否有读读帖子的权限,如果有,就读出帖子里面的内容,显示出来——这里至少访问了2次数据库,如果数据库的体积有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU资源和时间?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大.CC就是充分利用了这个特点,模拟多个用户(多少线程就是多少用户)不停的进行访问(访问那些需要大量数据操作,就是需要大量CPU时间的页面).这一点用一个一般的性能测试软件就可以做到大量模拟用户并发。假设服务器A对Search.asp的处理时间需要0.01S(多线程只是时间分割,对结论没有影响),也就是说他一秒可以保证100个用户的Search请求,服务器允许的最大连接时间为60s,那么我们使用CC模拟120个用户并发连接,那
本文标题:软件测试工程师知识
链接地址:https://www.777doc.com/doc-213399 .html