小丫夏夏
一、业务分析能力1.分析整体业务流程不了解整个公司的业务,根本就没办法进行测试2.分析被测业务数据了解整个业务里面所需的数据有哪些?哪些是需要用户提供的?哪些是自己提供的?有哪些可以是假数据?有哪些必须是真数据?添加数据的时候可以用哪个库?明白了整个软件的数据库架构,才能知道哪一个数据是从哪一个表里头带出来的,它的逻辑是什么,有没有连带关系。3.分析被测系统架构用什么语言开发的?用的是什么服务器?测试它的话需要用什么样的环境进行测试?整体的测试环境是什么样的?如果缺少了,需要进行环境搭建,架构搭建。一般去一家新公司之后,架构是搭建好的,了解它即可,熟悉之前的这些老员工们使用什么样的架构去做的。4.分析被测业务模块整个软件有哪些模块,比如说首页面、注册页面、登录页面、会员页面、商品详情页面、优惠券页面等等明白有多少个模块需要测试,每个模块之间的连带关系,进而怎样进行人员分工5.分析测试所需资源我需要几台计算机,需要几部手机,手机需要什么样的系统,什么样的型号。比如测一个网站的性能的时候,电脑的配置达不到测试并发5000人的标准,要么升级电脑的硬件配置,要么多机联合,多机联合时需要几台电脑,都需要提前筹划。6.分析测试完成目标我的性能目标是什么样的?我的功能目标是什么样的?我要上线达到的上线标准是什么样的?性能目标,比如我要达到并发5000人的时候,CPU占用率不能高于70%,内存占用率不能高于60%,响应时间不能超过5秒功能目标,比如整体的业务流程都跑通,所有的分支流程都没有问题,所有的接口都能够互相调用,整体的UI界面没有问题,兼容性没有问题等把这些问题都弄清楚,测试的思路会非常的清晰二、缺陷洞察能力1.一般缺陷的发现能力至少你要满足一般缺陷的发现能力,这个是最基本的,如果要连最简单的一般的缺陷都发现不了的话,别说优秀测试工程师了,你说你是测试我都不信2.隐性问题的发现能力在软件的测试过程当中有一些缺陷藏的比较深,有的是性能方面的问题,有的是功能方面的问题,它需要有一些设定特定的条件的情况下才会出现这样的问题。比如说买双鞋必须选择的是什么品牌,必须选择是红颜色,必须选择44号,而且必须选择用特定的支付方式才会出现这样的bug的时候,那么这种就属于特别隐性的bug,对于这样的问题的发现能力一定要比别人更强,要找到一些别人可能发现不了的bug3.发现连带问题的能力当发现了一个缺陷之后,能够想到通过这个缺陷可能会引发其他哪个地方出现问题,这就叫做连带的问题。而不是说发现这一个bug之后提了这一个就算完了,一定要有一个察觉,可能其他地方也存在这样的问题。4.发现问题隐患的能力有些软件里边可能有一些操作模块,或者是代码写的接口,表面上没有什么问题,但是它是有隐患的,比如说这个接口写的不稳定,当他传的数据有一些问题的时候,可能它最后返回的结果就是报错就是报404或者报乱码。5.尽早发现问题的能力如果你只能停留在界面级别的话,那你根本就没有办法达到尽早发现问题的这个能力你必须要等到前端人员把每个界面都做好了之后才能进入测试,而我能比你早一个月进入测试了,然后我比你结束测试时间快一个月,而你又比我晚一个月,那么咱俩的薪资一下就拉开了6.发现问题根源的能力需要知道这个缺陷它到底是由什么原因产生的,是属于什么类型的缺陷,是ui前端人员做的问题,还是后台接口人员做的问题?不仅要找到这个bug,还要知道这个bug产生的原因,这样的测试人员是非常棒的,而且很是受人尊敬,提bug的方式也就不一样了三、团队协作能力1.合理进行人员分工2.协助组员解决问题3.配合完成测试任务4.配合开发重现缺陷5.督促项目整体进度6.出现问题勇于承担四、专业技术能力1.掌握测试基础知识2.娴熟运用测试工具熟悉工具和熟练使用工具完全是两个概念,熟悉工具基本上等同于不会,遇到过很多简历上写会使用什么什么工具,都没有实际能力。比如loadrunner只会一个简单的录制,增强一下脚本,觉得会用了,那知识会用了1/5,其他4/5 都不会。3.了解工具操作原理它是怎么样给服务器发送请求的,是用什么样的方式去发送请的,是用什么样的方式去监控的,它的操作原理是什么样的,咱们要把这件事情搞清楚,这样的话能有助于更好的去使用这些东西。包括一些请求的协议,每个协议代表什么意思,它是用来干什么的。4.自主完成测试任务一定要能够自己完成一个独立的内容,独立的工作,这件事情领导你交给我好了,放心我能给你搞定,要的是这样的人5.找出问题出现原因找出缺陷的时候,不仅要看它的表面,还要看它的本质6.提供问题解决方案发现问题不是能力,发现问题并提出解决方案才是真的能力7.提供完整测试报告测试报告能够说明你表达的清不清楚?领导能不能看懂?还有就是能不能够把你整个测试的过程给它梳理得非常详细,人家能够通过你的报告,能够了解到整个的项目的情况,而不是只了解一个片面的情况8.了解相关技术领域触类旁通
Moser~子涵
一、软件测试工程师第一阶段培训内容1、搭建 Windows 测试环境搭建Windows Sever测试平台软、硬件及网络知识。计算机组装与维护,Windows2008安装与配置网络与工作环境,TCP/IP协议,管理文件系统与注册表,配置本地安全策略,管理磁盘存储,备份与灾难恢复,性能监视与维护,配置DHCP和DNS服务,搭建WEB和FTP站点,等实践。2、JAVA编程第一部分JAVA应用程序,变量、数据类型,算符和条件结构,循环结构,对象和类,类的方法,数组,字符串,等实践。3、软件测试基础软件测试概述,识别和管理缺陷,编写和管理缺陷报告,软件开发和测试流程,系统测试与软件测试分类,编写测试方案和测试计划,需求分析与评审,理解软件测试原则,测试总结报告和测试团队组建,等实践。4、数据库技术第一部分SQL Server 2008数据库基础,数据库表管理,数据管理,等实践。5、用户界面技术Windows .Net 2008编程,使用控件快速开发用户界面,使用DataGridView显示和操作数据库,用户界面设计与美化,用户界面设计与美化,等实践。6、高效设计测试用例软件测试用例,等价类和边界值,因果图,正交实验法,状态图和场景法,功能测试,文档测试与安装测试,兼容性与易用性测试,软件故障模型一、二、三,等实践。7、阶段项目实训实训项目统畴,测试方案与测试计划,测试需求与测试大纲,测试用例设计与评审,执行测试用例并提交缺陷报告,测试总结报告与答辩。内部测试与点评。8、职业导向训练第一部分开学典礼,知识竞赛,自驱力,读书会,行业讲座,PPT大赛,团队合作拓展,等训练。二、软件测试工程师第一阶段培训内容1、搭建 LINUX 测试环境LINUX系统安装及基本操作,管理文件和目录,安装及管理应用程序,管理用户和文件权限,管理磁盘和文件系统,管理进程和计划任务,编写Shell脚本一、二,系统故障分析与排查,LINUX网络配置,构建文件服务器,构建LAMP网站平台,等实践。2、JAVA编程第二部分封装,继承和多态,接口,使用异常处理程序错误,等实践。3、白盒测试白盒测试与代码质量,逻辑覆盖测试与循环覆盖测试,基本路径测试,单元测试与测试驱动程序框架,测试报告和通过准则,测试报告和通过准则,等实践。4、数据库技术第二部分Oracle基础,SQL和Oracle数据结构,PL/SQL和游标,过程和触发器,备份与恢复,备份与恢复,等实践5、WEB技术HTML常用标签,JavaScript语法,文档对象模型,表单验证,使用JDBC访问数据库,JSP介绍,使用JSP处理客户端请求,JSP页面的访问控制,等实践。6、高效使用自动测试工具QTP基础,增强QTP测试脚本,QTP高级使用,Flight Reservation测试案例,LoadRunner基础,LoadRunner测试脚本设计,创建LoadRunner场景,分析LoadRunner测试结果,等实践。7、软件质量保证软件质量体系,软件测试项目管理,配置管理,软件测试过程改进,Quality Center站点管理和项目管理,Quality Center测试管理过程,等实践。8、流行测试技术WEB功能测试,WEB数据库测试,WEB性能测试,手机测试入门,手机功能和性能测试用例,手机界面和功能测试要点,手机软件其它测试,Windows客户端软件简介,桌面软件用例设计技术,桌面软件冲突测试和兼容性测试,安全测试1,安全测试2,安全测试3,等实践。9、企业级项目实训10、职业导向训练第二部分户外拓展,如何度过试用期,面试一,面试二,读书会,模拟面试一,模拟面试二,等训练。
lindadoncry
很多朋友都会咨询:软件测试要学些什么。有的人说的很简单,有的人说的很多,我认为都对。但是,如果学的很简单,比如只学过手动测试,那么在今后的发展过程中,势必要遇到瓶颈。而遇到瓶颈,想要突破,就必须得加紧学习了。突破瓶颈如何突破现有的瓶颈?当测试人员入职后,测试人员不能仅仅做好本职工作,还需要思考如何将工作做的更快,更好;思考是不是还有其他方式完成工作。下面给大家介绍下突破瓶颈需要的能力,以及学习方向。代码能力测试人员不需要学习ssh框架、mvc框架。但是测试人员选择的开发语言要与公司常用开发语言一致。达到能看到开发写的逻辑就可以了,进阶的话,测试人员可以自己利用公司的框架写一点小的项目,这样可以更加理解开发的工作方式,易错点。很多时候,你会发现有些功能点的问题好的测试工程师一眼就发现了,因为他们也错过。沟通能力沟通能力是作为测试很关键的一个能力,开发、运维、客户等角色都需要测试人员去沟通。有时候还需要测试人员去协调资源。如果只是闷头测试,那你的眼界只能局限于一小块,整天只能唉声叹气抱怨为啥提交质量这么次,客户老骂人了。测试知识广度当测试人员要晋升高级、资深测试的时候,测试人员需要给公司看出他们的价值,测试人员和新员工的区别。此时,测试人员不光要在业务上有自己的见解,在测试技术上也要有所涉及。了解那些技术会对测试效率有提升,为公司省钱。自动化测试、性能测试、白盒测试、灰盒测试、接口测试、混淆测试等等,不光要理解名字,建议能自己实际操作下。看着很难的东西,上手了就没那么难了。测试知识深度当测试人员专注于测试的时候,一定要选个方向。自动化还是性能?不建议选择业务专家或者测试管理,前者太难,后者容易被淘汰。作为一名性能测试、自动化测试都有涉猎的人来说,比较推荐大家入门自动化方向。需要学习的东西较少,大公司招聘的很多。作为自动化测试来说,需要学习单元测试、接口测试、UI自动化测试,需要深入学习代码、框架。这些基本就够了。
Sissy有福相
软件测试课程体系-北测教育 通过本课程体系的学习,学员能够掌握基于各种操作系统平台下(Windows和Linux)的桌面版和网络版软件在软件功能与性能上的测试;掌握软件质量保证技术;掌握3G移动通信测试技术,掌握游戏测试方法,最终获得北测教育“软件测试工程师”认证和工信部“软件测试工程师实训技术”认证的职业资格证书。《软件技术基础》课程内容: 掌握计算机相关的软、硬件与网络技术,熟悉MS-DOS命令,能够在Windows和Linux等相应平台上进行各种应用服务器的搭建。掌握C++程序设计语言。最终能力:熟练搭建各种测试环境与掌握一定的开发技术。 《软件测试技术》课程内容:掌握软件测试基本理论;掌握软件开发与软件质量、软件测试的相互关系;掌握软件开发过程;掌握软件质量保证过程;掌握软件测试过程模型;学会软件测试计划的编写,熟练掌握10种软件测试用例设计技术,掌握软件缺陷的有效管理;学会编写软件测试报告。 最终能力:掌握软件测试初中级人员必备的基础理论、软件测试实用技能。 《测试开发技术》课程内容:掌握SQL Server 2005数据库管理系统,掌握必要的建、增、删、改、查、检等相关SQL语句,掌握数据库的备份与脚本生成。掌握Dot Net开发平台下的C#程序设计技术。最终能力:掌握主流的数据库开发与面向对象程序设计技术,为软件测试人员进一步的技能提升打下坚实的基础。 《高级软件测试技术》课程内容:掌握软件测试的熟悉7种测试策略和26种测试方法;掌握白盒测试技术;掌握单元测试、集成测试、系统测试、验收测试各个阶段的测试技术;掌握回归测试、数据库测试、本地化测试与数据库测试、安全测试技术;掌握项目管理与测试团队的建设。最终能力:掌握软件测试中高级技术,为软件测试人员向测试管理人员的提升做准备。 《软件自动化测试技术》课程内容:掌握HP公司的三大软件测试自动化工具:Qulity Center(测试管理)、Quick Test Professional(功能测试)、LoadRunner(性能测试)。掌握软件测试自动化框架设计思想,掌握脚本的开发。最终能力:掌握软件测试自动化工具,为功能测试工作、性能测试工作、测试管理工作打下良好的基础。 《高级行业测试技术》课程内容:掌握无线通信基础理论,掌握第三代移动通信的软件测试方法,掌握基于3G通信的手机测试技术,掌握游戏测试方法。最终能力:掌握最新移动通信与游戏测试行业的测试方法。 《职业素养与面试技巧》课程内容:掌握职场必要的礼仪,掌握简历的写作技巧,掌握相应的管理技巧与逻辑思维方法。最终能力:掌握适合于在IT企业独立工作的综合能力。 《行业英语与职场英语》课程内容:掌握5个模块的英语知识(Computer Foundation、Software Testing、Mobile Communication、Office、Interview Communication),与课程专业知识对应。最终能力:熟练使用英文进行软件测试工作。 《软件测试项目实训技术》课程内容:掌握4个功能测试项目、3个性能测试项目、1个白盒测试项目的整体测试流程,从软件测试企业的实际要求出发,进行项目实践。最终能力:获得在企业6-12个月的企业项目实际经验。希望能帮到你,有疑问可以和我百度留言。
墨迹墨迹小蜗牛
搭建 Windows测试环境主要讲解搭建 Windows 测试环境所要具备的软、硬件及网络知识。包括计算机中各种硬件和接口。软件的分类、分发和授权等方式;操作系统的初步知识;注册表、病毒、安全等知识; TCP/IP 协议和 DNS 、活动目录等知识。从而让学员可以在实际工作环境当中搭建一个基于 Windows活动目录的局域网环境。使用 C 语言开发简单应用设置本课程的目的主要是使学员掌握软件开发的技术,掌握编程的方法、思想,了解软件开发过程当中常犯的错误,为后面的测试课程以及编写测试脚本打下语言基础。课程中主要包括 C 语言的语法、程序基本结构、函数、指针、数组、数据结构、算法等程序设计所涉及到的知识。课程注重实用性、重在培养学员对代码分析的能力,掌握编码规范,掌握调试知识和分析程序错误的能力。同时学习内存检查工具和软件配置管理等知识。该课程中贯穿了一个开发“软件测试工程师管理系统”的项目,增加学员开发项目的经验。测试计划与软件缺陷本课程是软件测试重点课程。本课程主要介绍软件测试的基本概念和基础知识、如何编写测试计划、识别软件缺陷、编写缺陷报告等。通过学习,学员可以掌握软件测试的流程、软件测试的策略和分类,掌握缺陷的分类和优先级等,从而对测试有一个整体的认识。本课程中介绍了 Bugzilla 缺陷跟踪管理系统(测试工具)。总体来说,本课程将使学员掌握大部分软件测试相关的基础知识。高效设计测试用例本课程是软件测试重点课程。本课程主要通过引入的大量案例讲解如何编写测试用例。讲解设计测试用例的技术包括等价类划分、边界值分析、因果图方法、状态图方法、测试大纲等的方法以及正交排列表、测试矩阵等。测试特性包括:功能、性能、兼容性、易用性等。测试对象包括软件功能、 GUI 界面、文档测试、安装和卸载测试等。通过本课程,主要是培养学员设计测试用例的视角,在最短的时间内针对功能写出恰当的测试用例。本课程和《测试计划与软件缺陷》课程中贯穿了对“软件测试工程师管理系统”编写测试计划、测试设计和开发,实施测试及测试评估的项目,增加学员软件测试相关经验。白盒测试本课程主要讲解白盒测试技术。主要内容包括逻辑驱动覆盖和基本路径覆盖两个方面,在逻辑驱动覆盖中主要介绍了语句覆盖、判定覆盖、条件覆盖、判定 / 条件覆盖、条件组合覆盖、路径覆盖和循环语句覆盖;在基本路径覆盖中介绍了绘制控制流图及程序复杂性相关概念,最后重点介绍了单元测试技术。通过学习,学员可以了解白盒测试的理论,组织方式,已经如何评估一个白盒测试的效果。本课程中介绍了Logiscope和 C++ Test 两个白盒测试工具。Linux 与网络应用环境本课程主要讲解搭建 Linux测试环境所应具备的知识。通过学习 Linux 的安装和配置、 Linux 常用命令、 Linux 下软件安装、卸载和使用、常见的 Linux 的服务(Apache 、 Mysql 、 Squid 、 Iptables 等)、 Linux软件开发环境等,让学员能够使用 Linux 实现一个提供常见服务的网络环境。本课程中在前期通过在 Linux 当中搭建 Bugzilla 缺陷跟踪管理系统来讲解 Linux 的使用和配置。WEB 技术与数据库本课程通过对数据库、 HTML 、 XML 、 HTTP 、 J2EE 、 .NET 等基础知识的讲解,让学员掌握这些技术,以便于建立分布式软件的测试环境。数据库是以 SQL Server 作为重点讲解,同时也介绍了 Oracle 和 MySQL 数据库。高效使用自动测试工具本课程主要介绍了国际测试工具占有率最高的 MI 的三大测试工具:功能测试工具 QuickTest Professional 、性能测试工具 LoadRunner 、测试管理工具TestDirector。学员掌握这些流行的测试工具,从而进一步提高测试的效率。软件测试实训本课程是最后一门课程,该课程主要是通过运用前面所学习的课程,指导学员完成一个项目的测试过程,从而巩固所学知识。在该课程中将完成分组分工、编写测试计划、写工作日志和开例会、设计测试用例、执行测试、填写和处理缺陷报告的过程。使用的项目通过三个版本来进行回归测试,通过分工与合作来完成测试工作,通过讲师和学员分别模拟测试组成员角色,锻炼学员实践的能力。该项目是一个百万行代码级别的类 Office 系统。职业导向训练职业导向训练,简称COT课程,即Career oriented Training,是对学员进行职业引导,包括就业指导和职前引导。通过就业指导以及就业专员、就业明星与学员的座谈会等日常辅助训练明确就业方向,进一步了解就业形式。详细介绍如何写简历,通过强化面试训练,以及模拟面试等方式,提升学员应对面试的能力,从而加强学员就业竞争力。华为软件测试工程师学习大纲一、软件测试的原理v 软件工程:软件的含义、软件开发过程的特性 、软件生命周期模型、软件管理过程软件质量和质量保证:软件质量就是客户的满意度 、质量的概念、软件质量的内涵、质量管理体系、SQA、SCM、SEPGv软件测试概念:软件危机、软件测试产生的背景,软件缺陷是什么、软件测试职业发展,软件测试人员应具备的素质和技能、软件测试基本概念、软件测试的目的、软件测试的重要性、软件测试的原则、软件开发与软件测试v软件测试依据和规范:软件质量标准、软件测试规范、界面规范、编码规范、CMM和ISO9001思想结构体系、CMM VS ISO二、软件测试的技术v软件测试技术概述:软件测试的基该方法,黑盒测试、白盒测试、静态测试、动态测试、测试策略v软件测试流程:软件测试流程、通用测试文档模板 、软件测试的分类、软件包的质量特性v 单元测试和集成测试:什么是单元测试、单元测试的目标和任务、单元测试方法、调试与评估、什么是集成测试、集成测试目标和任务、集成测试的模式与方法v 系统测试和验收测试:什么是系统测试,系统测试的目标和任务,系统测试方法,系统测试中工具的应用、什么是验收测试、验收测试的目标、验收测试的过程和主要内容、产品规格说明书的验证v 特定类型的软件测试:面向对象软件的测试、面向对象软件的特点、面向对象测试的层次与数据流、面向对象的单元测试、面向对象的集成测试 、基于应用服务器的测试、应用服务器的分类和特征、基于Web服务器应用的测试、基于数据库应用服务器的测试、基于J2EE平台的测试、软件本地化测试:什么是软件本地化、软件本地化的翻译问题、软件本地化测试的技术问题、本地化测试的重点三、软件测试的实践v测试环境的部署:测试环境的重要性、测试环境的各要素、建立测试实验室、测试环境的维护和管理v软件测试用例的设计:测试用例来源、测试需求提取、测试用例设计、白盒测试用例设计方法、逻辑覆盖法/基本路径测试法 、黑盒测试用例设计方法、等价类划分法/边界值分析法/因果图法/错误推测法 /功能图法、测试用例的组织和跟踪、使用实际项目实践v 报告所发现的软件缺陷:软件缺陷的描述 、软件缺陷相关的信息、软件缺陷的处理和跟踪v软件测试和质量分析报告:软件产品的质量度量 、评估系统测试的覆盖程度 、软件缺陷分析方法 、基于缺陷分析的产品质量评估 、软件质量的可靠性评估、软件可靠性模型、可靠性评估过程v软件测试自动化:测试自动化的内涵、测试工具的分类和选择、测试工具的主流产品介绍、IBM-Rational产品的整体解决方案、Mercury Interactive产品的整体解决方案,测试管理工具TD实操演示及指导、功能测试工具Robot实操演示及指导、脚本语言perl实操演示及指导、性能测试工具LRv 网络基础知识:协议概念、常见的网络协议及层次、TCP/IP协议、Arp协议等报文分析、常见的网元设备及工作原理、常用的网络操作相关命令、客户机服务器模型、抓包工具使用v 数据库简介及SQL语句:数据库系统概念、数据管理的发展阶段、数据库系统的特点、SQL概述、SQL数据定义功能、SQL数据查询功能、SQL数据修改功能、嵌入式SQLv Linux操作系统简介及常用命令:Linux系统介绍、Linux系统历史及发展、Linux系统特点、Linux系统安装与配置、Linux系统命令的使用方式、文件及目录操作命令、文件压缩命令、联机帮助命令、进程管理的命令四、软件测试管理v 组织和管理测试团队:基于ISO的测试管理体系构成、测试团队的地位和责任、测试团队的构成 、测试团队的管理和发展v软件测试项目管理:软件测试项目管理的概述、软件测试项目的组织 、软件测试项目的过程管理 、软件测试项目的资源管理 、测试项目的进度管理 、测试项目的风险管理 、测试项目的质量和配置管理、软件测试文档的管理v 理解CMM:KPA简介 、CMM的五个等级及关键过程域、CMM实例简介 、CMM的发展、CMMI2级详细讲解五、软件测试人员面临的机会和挑战v软件测试职位在IT行业的现状v软件测试职位到底是干什么?v软件测试行业的背景v软件测试人员需要具备的基本素质v软件测试工程师需掌握的技术技能大纲v软件测试人员后期的发展机会和挑战附录(基础技能版,本内容为华为公司指定培训内容):一、基础技能方面:Unix/Linux操作系统:⒈熟悉UNⅨ环境⒉掌握UNⅨ常用命令⒊了解并掌握Vi的一些常用命令⒋了解基本的shellInformix:⒈熟悉并掌握informix常用命令⒉掌握SQL相关的一些知识Oracle:⒈掌握Oracle的基本操作⒉掌握在unix/Linux系统下安装Oracle数据库二、网络基础知识⒈熟悉TCP/IP、HTTP、UDP协议⒉掌握常用的网络命令⒊抓包工具的熟悉与学习三、测试理论⒈软件及其开发过程⒉软件测试的基本概念与方法⒊质量保证与策略⒋测试依据与规范⒌单元测试⒍集成测试与系统测试⒎验收测试⒏基于应用服务器的测试⒐测试计划的制定、用例的设计与执行、缺陷的跟踪四、模拟项目练习⒈理解需求,设计测试用例、测试用例评审⒉测试执行⒊提单规范有关模拟项目的需求、用例模板、测试版本。
优质工程师考试问答知识库