软件测试工程师需要读哪些书
软件测试工程师主要职责是编写测试用例,按照产品要求测试功能点,发现并记录bug的。
软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。
简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。
按其级别和职位的不同,可分为三类:1、高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估;2、中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务;3、初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。
软件测试工程师
如果你是计算机毕业毕业后可以直接找个测试的工作 不需要参加什么培训 当然考证是可以的现在社会上的测试培训多是针对非计算机专业的 而且测试工作确实相对入门比较低 这就造成了它成为社会上快餐式培训的宠儿不过也正因为入门比较低 所以高水平的软件测试人员并不多 而且中型以上企业很缺少中级水平以上的测试人员软件测试虽然入门容易 但是由于工作相对稳定 又有一定的重复性 使很多人认为它没前途 也不容易提高 其实这是个人自身的问题 和行业无关其实想做好测试还是很难的 要懂得很多知识 操作系统 数据库 编程 业务流程 呵呵 女孩子做测试 会是一个很好的选择 你要坚持自己 加油
中高级软件测试工程师需要考什么?
中高级软件测试工程师需要考的内容考试内容: 一、软件测试的基本概念 1.软件质量的概念。
2.软件测试的目标和原则。
3.软件测试的心理学。
4.软件测试的经济学。
5.软件质量保证。
二、软件测试的类型及其在软件开发过程中的地位 1.软件开发阶段。
2.规划阶段的测试。
3.设计阶段的测试。
4.编码阶段的测试。
5.验收和维护阶段的测试。
三、代码检查、走查与评审 1.桌面检查。
2.代码走查。
3.代码检查。
4.同行评审。
四、覆盖率(白盒)测试 1.覆盖率测试。
2.逻辑结构的覆盖率测试。
3.路径覆盖率测试。
4.数据流测试。
5.程序变异测试。
6.基于覆盖的测试用例选择。
五、功能(黑盒)测试 1.边界值测试。
2.等价类测试。
3.基于因果图的测试。
4.基于决策表的测试。
5.基于状态图的测试。
6.基于场景的测试。
7.比较测试。
六、单元测试和集成测试 1.单元测试的目标和模型。
2.单元测试策略。
3.单元测试分析。
4.单元测试的测试用例设计原则。
5.集成测试基本概念。
6.集成测试策略。
7.集成测试分析。
8.集成测试用例设计原则。
七、系统测试 1.系统测试概念。
2.系统测试方法。
3.系统测试的实施。
八、软件性能测试和可靠性测试 1.软件性能的概念。
2.性能测试的执行。
3.软件可靠性的概念。
4.可靠性预计。
5.可靠性分析方法。
6.软件可靠性测试的执行。
九、面向对象软件的测试 1.面向对象软件测试的问题。
2.面向对象软件测试模型。
3.面向对象软件的测试策略。
4.面向对象软件的单元测试。
5.面向对象软件的集成测试。
6.面向对象软件的系统测试。
十、Web应用测试 1.应用服务器的分类和特征。
2.Web应用系统的特点。
3.Web应用系统的测试策略。
4.Web应用系统测试技术。
5.Web应用系统安全测试。
十一、其他测试 1.兼容性测试。
2.易用性测试。
3.GUI测试。
4.构件测试。
5.极限测试。
6.文档测试。
十二、软件测试过程和管理 1.软件测试过程概念。
2.测试组织管理。
3.测试计划的制定。
4.测试步骤的确定。
5.测试环境管理。
6.软件测试风险分析和成本管理。
7.测试文档管理。
8.测试的复用与维护。
十三、软件测试自动化 1.测试自动化的原理、方法。
2.测试用例自动生成。
3.测试执行自动化。
4.测试结果比较自动化。
5.测试工具的分类和选择。
6.测试工具的主流产品介绍。
十四、软件测试的标准和文档 1.软件测试的标准。
2.软件测试的文档。
十五、软件测试实践 1.软件测试过程管理。
(1)软件测试过程管理概念。
(2)测试的设计。
(3)测试的准备。
(4)测试的执行。
(5)软件问题报告和软件问题生命周期。
(6)测试的总结。
(7)QESuite软件测试过程管理平台。
2.白盒测试实践。
(1)被测程序说明。
(2)静态分析。
(3)被测程序的插装和动态测试。
(4)QESAT/C++白盒测试工具
软件测试工程师应该学些什么方面的知识?
软件测试工程师应该学习知识:(1)软件开发技术很多人认为,干吗要学习软件开发啊,那还不如直接去学什么JAVA、C++、C#了。
要知道,在以后的软件测试工作中,你就会发现软件开发与软件测试之间是什么样的关系了。
没有软件开发,就没有软件测试,有了软件测试,软件开发出的软件产品才能够达到用户满意的地步,他们之间是相互依赖关系。
有了更多的软件开发知识,就会更好地能理解软件产品,就知道在哪个环节开发人员容易犯错误,知道在哪个逻辑结构、哪个接口或函数,甚至是从内存的管理机制上都可以找出问题。
软件开发所用的程序设计语言有很多种,所以要精通其中一门,其他能看懂代码,会对你的测试工作有更好的帮助,另外也会帮助开发人员进行快速缺陷定位。
而且在软件测试工作中,要编写一些辅助测试的小工具,都需要有软件开发基础。
象测试过程管理工具、测试用例管理工具、缺陷跟踪工具、性能检测工具等等。
不要老是认为软件开发难,什么事都是从不会到会,从不精通到精通,都需要一个过程。
没有人一生下来就什么都会的,都需要自己的不断努力才能成功。
(2)网络技术软件是从字符界面产品发展到图形界面产品,从单机版到网络版(C/S结构和B/S结构),经历了一个漫长的过程。
计算机网络的出现,改变了现实社会中人们的相互沟通方式,把一个小小的地球变成了一个地球村。
所以,目前所有的软件产品都从传统的单机模式向网络模式转变,网络技术就更加关键。
目前网络的发展,使得网络速度进一步提高。
目前,家庭网速达到1M~2Mbps,企业达到4Mbps,据说要到2012年家庭的网络速度要达到20Mbps。
那么网络硬件从传统的电缆到目前的光纤技术、无线通信技术。
从目前的发展速度,三网(电信网、电视网、计算机网络)合并是迟早的事情。
网络硬件协议的测试,也是网络设备生产商要做的工作。
(3)数据库技术现在的数据信息是海量的。
在目前的软件产品中,底层架构中就需要有数据库进行数据存储,那么对数据的增删改查的操作是软件测试人员必须要必备的技能。
数据库测试也是测试技术的一种。
(4)测试与质量保证技术精通软件测试理论,熟悉软件测试流程,理解软件测试的哲学思想,掌握软件测试每个阶段的文档编写技巧,掌握软件测试的策略与各种测试方法,掌握测试用例的设计方法。
掌握单元测试、集成测试、确认测试、系统测试、验收测试等每个阶段的测试技术。
软件质量保证知识、测试项目管理、测试团队建设知识也是必须要具备的。
掌握软件测试自动化工具,理解软件测试自动化测试框架,能够学会如何进行测试项目管理、回归测试以及性能测试,能够把性能缺陷进行定位。
软件测试还是一个崭新的学科,还没有形成一个独有的知识体系,还需要我们不断的研究与实践。
(5)行业知识目前软件测试涉及的行业是多种多样的,从金融产品到电信、游戏、汽车、杀毒、网站、企业管理、学校教育、本地化产品等等,各行各业的软件产品都需要大量的测试,所以相关行业知识的储备也是必须的。
(6)职场规范职场礼仪是必须的,你是否适合某个企业,能否融入这个企业,基本的职场规范是要学习的。
必要、有效的沟通也是软件测试人员所必须掌握的技巧。
软件测试工程师的前景如何?
前景分析: 软件测试人员的主要职责是对软件产品的整个开发过程进行监督和检验,使之能够达到满足客户的需求,因此对于企业来讲是十分重要的岗位。
在国外,一般软件测试人员与软件开发人员的岗位设置比例是1:1,像微软在开发windows2000时候使用的软件开发人员是1700名,而专业的测试工程师有3200名,测试开发人员比例高到1.7:1,由此可见软件测试岗位重要性的不一般。
软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。
简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。
按其级别和职位的不同,分为三类。
按其级别和职位的不同,可分为三类: 高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估 ; 中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务; 初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。
软件项目开发是个分工明确的系统工程,不同的人员扮演了不同的角色,包括部门经理、产品经理、项目经理、系统分析师、程序员、测试工程师、质量保证人员等。
可见,软件测试工程师只是软件项目开发中的一个角色而已。
测试工程师承担的任务角色决定工作内容和承担的任务。
测试工程师的角色应该承担什么任务呢?这没有统一的答案。
因为,这与软件公司的规模,软件项目管理制度,公司领导和项目经理的管理风格,以及具体软件项目自身的特点有很大关系。
而且,测试工程师也有普通和高级之分。
笼统的答案列举如下: 设置软件测试环境,安装必要的软件工具。
运行软件,发现和报告软件缺陷或错误。
尤其需要快速定位软件中的严重的错误。
对软件整体质量提出评估 确认软件达到某种具体标准 以最低的成本,最短的时间,完成高质量的测试任务 ...... 在这其中,最重要的是要明确,程序员的责任和目标。
在执行任何具体测试任务前,都要在项目组内对于责任和目标达成共识,以免带来后续工作的相互推诿。
提高测试质量的要诀 另外一个值得注意的方面就是工作效率和质量,或许高级测试工程师与普通测试工程师的主要区别在于高级测试工程师可以更快地发现更多软件中的严重错误。
对此,有什么可以借鉴的诀窍吗?请尝试以下方法,保证不会使您失望。
首先测试程序的核心功能,然后测试辅助功能。
首先测试功能,然后测试性能。
首先测试常见情况,然后测试异常情况。
首先测试经过变更的部分,然后测试没有变更的部分。
首先测试影响大的问题,然后测试影响小的问题。
首先测试必须测试的部分,然后测试可选或没有要求测试的部分。
服务员 需要强调的一点是,无论你是多么高级的测试工程师,都要明白无论测试需要的工具多么复杂,测试步骤多么冗长,测试工程师在软件项目开发中始终都是扮演服务员的角色,这是由测试工作的特点决定的。
任何服务都有被服务对象—客户,测试工程师的服务对象有哪些呢? 最重要的客户是软件的用户。
测试工程师需要站在客户的使用和需求角度测试软件,报告问题。
项目经理也是客户。
测试工程师需要报告测试工作进度和发现的问题,尤其是严重的问题。
程序员是最经常打交道的客户。
为了便于程序员重复报告的错误,尽量提供良好的软件问题报告,以便程序员可以更快的修复软件错误。
技术文档工程师、市场开发人员和技术支持工程师也都是测试工程师的服务对象。
避免错误 前文已经指出测试工程师应该明确角色,明确任务和责任。
知道哪些是自己分内的事,哪些是不属于自己的事。
一定要尽最大努力完成分内的事,不要做不属于自己的事情,以免弄巧成拙。
为了更好的扮演软件测试工程师的角色,尽量避免犯下面的错误: ⒈承诺完成测试的软件没有质量问题 软件测试只是保证质量的一种方法,软件测试工程师的工作不会直接提高软件质量,因为绝大多数软件错误都需要程序员修复。
软件测试只能证明软件存在错误,不能保证软件没有错误,不可能找出全部软件错误。
个人的能力和对质量的影响范围很小,软件质量的提高要靠软件项目团队全体成员的共同努力。
⒉承担软件的发布权利 不要因为软件中存在还没有修复的错误,而试图提出更改软件发布的计划。
也不要认为已经完成了测试计划,自己决定可以发布软件。
因为,改变软件发布计划可能要失去进入市场的良机和很多客户,对此造成的经济和公司市场的损失将不是测试工程师能够承担的。
另外,软件发布后,如果用户发现了新的软件错误,公司领导或项目经理可能将过错加在软件测试人员的头上,因为他们同意发布软件。
通常软件发布的权利由产品经理、项目经理、测试经理、市场经理共同集体讨论决定。
⒊扮演过程改进...
软件测试工程师有什么要求?
首先,我不急于回答你的问题你先自己检查一下自己所说的话语中有没有错误,软件测试最关键在于是细心,认真。
其次,你的问题1.你们是怎样进行回归测试的,一般进行几轮,具体说一下?2.你们一个项目总工要写多少用例?3.你知道一个项目代码有多大?4.你们公司的测试流程?5.在测试之前,你们干什么?6.测试计划中,你们项目经理是依据什么给你们分配任务的?7.你们的测试数据主要来自哪?8.测试过程中与开发因为BUG发生冲突,你们公司怎样解决?9.具体讲一下容量测试,强度测试,负载测试的区别?10.你们公司是怎样进行评审的?11.你写的项目时间是整个项目从开始到结束的时间,还是只是测试时间?12.开发在做项目的时候,测试在干嘛?1、 一般就是先进行冒烟测试,首先确定这些被测试的软件能够运行,然后进行第一轮的测试,测出来问题之后经过项目经理签字确认然后发给每个程序员进行修改,确认回归测试的日期,回归测试时主要测试修改过的部分,同时兼顾不能引发其他方面的问题。
一般情况第一轮回归测试完成之后不再出现问题,但是实际过程中会出现第二轮回归测试,如果出现第三轮回归测试,我们将提交问题到质量问题报告中。
2、 测试用例的多少主要要根据项目的大小而定,项目比较大,业务比较复杂的测试用例相对比较多,相反,项目比较小,业务比较简单的测试用例相对比较少一些。
不是测试用例多就好,而是测试用例复用性好就说明测试用例选择的好。
3、 根据项目而定。
团队规模周期长短 10人以上 5人-10人 3-5人 3人以下6个月以上 一类 一类 二类 三类2个月-6个月 一类 二类 三类 四类2个月以下 二类 三类 三类 四类4、 测试流程:按照测试计划,项目经理提交测试文档和代码或者可执行文件-测试经理按照测试计划布置测试任务-首先测试工程师进行冒烟测试冒烟测试通过之后进入功能测试-发现bug之后记录bug,并对bug进行管理-一轮测试完毕之后提交项目经理确认-项目经理确认之后进行修改任务分派-程序员进行修改-修改完成之后提交给项目经理确认-之后提交给测试组进行回归测试,如果没有问题测试结束,如果出现问题-重复上面的工作进行第二轮测试。
5、 按要求,在测试之前,开发计划编制完成之后编制测试计划,需求阶段我们应该做系统测试方案和系统测试用例,在设计阶段我们应该编制集成测试方案和集成测试用例,在编码阶段,我们应该编制单元测试方案和单元测试用例。
但是实际生活中,我们只编制系统测试计划和系统测试用例。
6、 测试经理给我们分配的任务应该是按照项目开发计划和每一位测试人员的水平及技术特长而定的。
7、 测试数据一般来自于用户需求、概要、详细、数据库设计文档、测试用例或用户实际数据。
8、 依据需求,通过沟通来解决问题,如果需求中不明确则参考设计并听取分析员的意见。
9、 负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担,响应时间是多少,测试的结果和时间有关系,比如速率、响应时间。
强度测试:在一定的负载条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响,测试的结果看硬件是否满负荷,比如内存溢出等。
容量测试:确定系统可处理同时在线的最大用户数,测试的结果主要是针对数据库里的数据。
10、 在开发计划、用户需求、需求分析规格说明书、概要设计、详细设计、数据库设计等文档完成之后都要进行评审,这里的评审一般都是同行评审。
一般都是以正式会议的形式进行。
11、 项目时间一般是指从项目立项到客户验收汇款这一段时间。
不包括维护阶段。
12、 开发做分析设计及编码的时候测试在写测试用例,准备测试数据。
最后,告诉你,我不是做软件测试的,但是希望我所知道的这些能给予你帮助,我还有一份测试文档,不知能否帮助你,需要的话请找我。
希望你能成为这方面的人才专家!
软件测试工程师工作内容是什么?
以下是作为一名测试工程师的日常工作:阶段:编写测试计划,测试用例、测试缺陷报告,并执行测试用例,搭建Windows测试环境,熟练使用Bugzilla提交软件缺陷报告 至于为什么嘛,当然要一步步来的,要有计划才能执行啊,大概是这样吧 ^_^ 使用测试技术及工具:白盒测试和黑盒测试 Loadrunner、Winrunner 能够运用边界值、等价类划分法、因果图、状态图、大纲法等测试方法设计高效测试用例 软件测试工作总体流程图:详细测试步骤: 1. 书写测试计划 2. 审核测试计划,未通过返回第一步 3. 书写测试用例; 4. 审核测试用例,未通过返回第三步 5. 测试人员按照测试用例逐项进行测试活动,并且将测试结果填写在测试报告上;(测试报告必须覆盖所有测试用例) 6. 测试过程中发现bug,将bug填写在bugzilla上发给集成部经理;(bug状态NEW) 7. 集成部经理接到bugzilla发过来的bug 7.1 对于明显的并且可以立刻解决的bug,将bug发给开发人员;(bug状态ASSIGNED); 7.2 对于不是bug的提交,集成部经理通知测试设计人员和测试人员,对相应文档进行修改; (bug状态RESOLVED,决定设置为INVALID); 7.3 对于目前无法修改的,将这个bug放到下一轮次进行修改;(bug状态RESOLVED,决定设置为REMIND) 8. 开发人员接到发过来的bug立刻修改;(bug状态RESOLVED,决定设置为FIXED) 9. 测试人员接到bugzilla发过来的错误更改信息,应该逐项复测,填写新的测试报告(测试报告必须覆盖上一次中所有REOPENED的测试用例); 10. 如果复测有问题返回第六步(bug状态REOPENED) 11. 否则关闭这项BUG(bug状态CLOSED) 12. 本轮测试中测试用例中有95%一次性通过测试,结束测试任务; 13. 本轮测试中发现的错误有98%经过修改并且通过再次测试(即bug状态CLOSED),返回第五步进行新的一轮测试; 14. 测试任务结束后书写测试总结报告; 15. 正规测试结束进入非正规测试,首先是ALPHA测试,请公司里其他非技术人员以用户角色使用系统。
发现bug通知测试人员,测试人员以正规流程处理bug事件; 16. 然后是BETA测试,请用户代表进行测试。
发现bug通知测试人员,测试人员以正规流程处理bug事件。
转载请注明出处51数据库 » 软件测试工程师电子书
v肆零扒扒酒吧宜零宜