软件测试工具

软件测试工程师职称评定细则

谁都会走 提交于 2019-12-02 21:17:49
见习测试工程师 任职要求: 1.应往届理工科毕业生,有志于在IT行业发展。 2.计算机相关专业; 3.有计算机语言者优先,如:C语言、C++、Java、.Net等。 初级测试工程师 任职要求 1.一年以上软件测试经验,熟悉各种测试方法、测试工具、测试流程; 2.本科及以上学历,计算机相关专业; 3.有较强的分析问题能力和文字表达能力,逆向思维好;能完成测试方案、测试案例、测试报告的编写; 4.热爱软件测试工作,可以胜任重复性工作; 5.具有较强的沟通理解能力和协调能力,对工作积极主动、认真负责; 中级测试工程师 任职要求 1.三年以上软件测试工作经验; 2.熟练使用缺陷跟踪工具,如mantis;了解版本控制; 3.熟悉缺陷分类;有迭代测试经验; 4.能独立搭建测试环境,总结完善测试方法,发掘新的测试工具 5.完成公司项目、产品的相关测试工作; 6.根据产品原型、需求和设计文档,完成测试用例的编写,同时对需求进行分析,提出有价值的建议; 7.执行具体测试任务,确认测试结果、跟踪缺陷,完成测试报告并分析测试结果,总结得失; 8.有良好的沟通能力:与开发、产品等部门沟通,保证测试的正确性和完整性; 9.熟练运用两种以上的测试工具,熟悉一种数据库,熟悉一种以上的编程语言 高级测试工程师 任职要求: 1.计算机或相关专业,专科或以上学历; 2.认真负责,具有良好的沟通协调能力和团队合作精神;

软件测试基础2(软件测试)

时光怂恿深爱的人放手 提交于 2019-12-02 19:47:06
测试六问: why:为什么测试?对功能、性能、可用性、容错性、安全性等测试,检查是否符合相关要求。 what:测试什么?测试对象包括文档、代码、图标等。 where:测试哪里?测试用例的环境,包括系统的硬件、软件和网络环境等。 when:什么时候测试?测试用例所需的前提条件是尽快开始。 which:什么数据?测试用例设计的各种数据。 how:如何执行?结果怎么样要根据测试用例设计的步骤来执行,最后进行结果比较,确定是否一致。若一致才能通过测试。 测试是为了发现错误而执行的一个程序或者系统的过程。 测试不单纯是发现错误的过程,而且包含软件质量评价的内容 测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量 测试是为了度量和提高被测试软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期。 软件测试只能证明软件存在错误,而不能证明软件没有错误。 测试的目的:把软件的错误控制在一个可以进行产品交付的程度,把错误控制在一个合理的范围之内。 软件测试包括:单元测试、集成测试、确认测试、系统测试、验收测试。 大量资料证明60%以上的软件错误并不是程序错误,而是分析和设计错误。 软件的质量 : 软件满足规定或者潜在用户需求特性的总和。 包含内部质量、外部质量、使用质量 质量保证QA:质量保证的重要工作通过预防、检查与改进来保证软件质量。着眼与软件开发活动中的过程

速读《构建之法(第三版)》总结

半腔热情 提交于 2019-12-02 13:35:12
速读《构建之法(第三版)》总结 花了两天的时间,终于是把这本《构建之法》粗略的阅读完毕,我在阅读的过程对于感兴趣的部分进行了仔细阅读,其中也碰到了一些问题。但我认为领悟这本书所传达的思想及思维方式是非常重要的,在此提出自己阅读时所收获的一些问题,不对的地方还望大家及时指正。 问题一 在软件的开发过程中,即便我们有了一定的软件开发能力后,为什么我们还要必须具备软件工程的工程思维? 从以下几个主要方面进行简单分析 软件开发的变化 追溯到计算机刚起步的时候,软件设计只是为了个特定的应用而在指定的计算机上设计和编制,当时的语言使用还是机器代码或汇编语言,软件的规模也比较小,很少使用系统化的开发方法,软件设计几乎就是在个人编程。随着现在计算机整个行业的发展,软件的增多,高级语言的出现等,软件的规模越来越大,复杂程度也越来越高,软件的可靠性问题突显出来。在这个软件开发越发成熟的今天,从软件的立项到最后软件的发出,中间的开发过程慢慢的形成了各式各样固定的体系,当软件开发还处于幼年时期时,产品大多遵循[分析→设计→实现(制造)→销售→维护],弊端是具有单向、不可逆性。后来,Winston Royce提出了具有相邻回溯的“瀑布模型”以及改进后的最终版本,后续又出现了很多“瀑布模型”的变形版。 图1.1 相邻回溯 图1.2 最终版 软件开发的模型有很多种,不同的软件可能适合不同的开发模型。

软件测试面试过程中,被问到 “你会搭建测试环境吗” 要怎么回答?

萝らか妹 提交于 2019-12-02 08:24:00
● ○ ● 你会搭建测试环境吗?● ○ ● 导语:很多人在面试软件测试的过程中,经常被问到“你会搭建测试环境吗”?面对这样的提问,你知道怎么回答么? ● ○ ● 如何回答● ○ ● 面试的时候,遇到这样的提问,很多人的都会感觉脑子一下一片空白,或者星星点点,不知道从何说起。一方面不知道面试官问这个问题的意图是什么?也不知道他想得到的答案是什么?更加不知道该从哪些方面来回答。作为一个测试行业从业8年有余的测试人员,我想跟大家分享一些我的经验和看法。 首先,毋庸置疑的是,面试官问这个问题,想要得到的是你肯定的答案,希望你是一个会搭建测试环境的优秀测试工程师。QA不管是做什么类型的测试,最基础的功能测试,需要搭建测试环境;进阶部分的性能压力测试,对搭建环境的要求更高。所以搭建测试环境是优秀测试工程师的必备技能之一,也是QA开展测试工作的前置条件。当然有些公司可能会有运维或者研发部门帮忙准备好测试环境,但是QA如果一味依赖别的部门,就会大大的局限测试工作的开展,如果别的部门没有时间或者进度滞后,会直接影响到测试工作的进度和效率;而且测试环境如果不是QA负责维护的,后期扩展业务需要优化测试环境的时候,或者遇到问题要调试的时候,都需要依赖其他部门,会导致测试工作不独立,也会显得测试工作人员不专业。 ● ○ ● 需掌握的知识● ○ ● 了解了QA具备搭建测试环境能力的重要性

在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?

时光毁灭记忆、已成空白 提交于 2019-12-01 23:29:42
导语 : ‘“国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?” ● ○ ● 背景 ● ○ ●    偶然在知乎上看到一篇关注度很高的话题,标题如上。 作为一名从业8年有余的软件测试工程师,并且一直在外企做测试的我, 忍不住想发表一些自己的看法和见解。 我觉得在国内,很多公司或者个人把自动化测试当成一个了不起的资本,根本是源于国内大家对代码的无上崇拜,这也造就了国内现在IT互联网行业内一个鄙视链: 开发---> 测试开发--->自动化测试--->纯手工测试 。所以,在这个鄙视链中,纯手工测试属于底端被碾压的生物。 实际上,我觉得这是一种严重的偏见,并且体现了其对测试行业认知的极其不专业。 ●自动化测试固然重要,但是测试思路才是重中之重 ● 首先,我们不能否认自动化测试的作用,他肯定是将来软件测试发展的一个大方向。 自动化测试将QA从繁重的重复劳动中解放出来,优化测试资源,提高测试效率,对产品质量保证起到积极的作用;另外,一个有自动化测试脚本、框架、工具开发能力的QA,更有竞争力也是一件毋庸置疑的事情。   但是,但凡做过测试工程师的朋友都知道,一些逻辑非常复杂的场景是很难用自动化脚本实现的,就算要强行实现,也性价比很低,因为太费时费力了。    

软件测试工程师经典面试题

a 夏天 提交于 2019-12-01 18:12:28
  软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块 (一到两年工作经验) 。今天这篇帖子主要讲解之前面试自己面试过程中或者周围人面试过程中经常被问到且比较经典的面试题,一家之言,如有异议或者有想问的问题,可以在评论区留言,看到后将在第一时间内回复! 1、软件测试的流程是什么?    分析: 每当HR问一个问题的时候我们都可以用1~2s的时间去想HR想要从这个问题中获取什么信息,这点搞清楚之后再去回答就很好回答了。如果有工作经验,直接按照公司流程回答即可,如果是刚转行或者刚实习,那按标准回答即可,文中回答仅供参考;    回答: 项目经理或者PD把项目需求文档提前下发给相关的研发人员,研发人员抽出一定的时间记录文档内需求不明确或者遗漏的点为后面的评审做准备;在需求评审会议上,各研发人员提出自己的疑问并解决,需求评审最终通过之后会出一份最终的需求规格说明书; (需求评审阶段)     需求规格说明书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划

一文带你搞懂什么是测试开发!

对着背影说爱祢 提交于 2019-12-01 09:45:21
0 1 开始前说点什么 需要说明的是,原文发表于作者的公众号中,文章篇幅虽长,但内容朴实、且能帮助读者进一步理解测试开发工作,请读者耐心品完~ 1. 自我反省 公众号开通了也有两年多了,除了刚开通的那段时间发文比较频繁之外,从去年上半年开始,几乎很少再去打理了,翻了翻历史推文,从时间频率来讲,基本上平均2~3个月才更新一篇文章,工作忙虽是一方面,但这也只是借口,归根原因还是不够坚持。 2. 养成投资自己的习惯 最近一直在思考,当初为什么要开办公众号?有些读者可能会想:“是不是就想弄个渠道引流打广告!”,上周确实也帮朋友在公众号内做过一两次专栏推荐,但我想说的是,虽然有些小部分推文有些推广的成分, 但请试想一下,推荐给大家的学习专栏,都是实实在在能帮助大家提升自己技能、打造职场竞争力的有用课程,并不是无用的。 经常有周边同事或者读者跟我说:“你怎么会懂得那么多种类的专业知识啊,而我自己啥都不会,但又不知道怎么学,怎么办呢?”,我想对这些人说, 放开畏难情节,养成持续学习的习惯 ,这样知识技能的积累才能越来越多、越积越厚。现在社会上有很多人,喜欢投资房子、投资脸蛋、投资享乐,当然这些都没有错,但真正的长期投资,应该是投资自己,知识的投资对于自己来说,才是永恒属于自己的。 3. 回归初衷 前面说了那么多,更重要的还是想呼吁大家懂得投资学习,投资自己。回想当初为什么要开办公众号

软件测试-基础理论篇

不打扰是莪最后的温柔 提交于 2019-12-01 08:04:26
1,B/S和C/S架构的区别? 从测试的角度来讲。B/S架构需要重点考虑系统在不同的浏览器中的兼容性问题;C/S 架构需要考虑系统在不同平台的安装、卸载、升级 B/S 即Browser/Server(浏览器/服务器)结构,指浏览器和服务端,在客户机端不用装专门的软件,只要一个浏览器即可。 C/S 即Client/Server(客户机/服务器)结构,指客户机和服务端,在客户机端必须装客户端软件后才能访问服务器。 2,对HTTP协议怎么理解的? http协议是应用层的一个数据传输协议,由请求和响应构成, 主要的请求方式有get和post两种,get请求的请求数据在请求头,post请求的请求数据在请求体 响应的数据也包含响应头和响应体。 3,常见的http状态码? 200 请求成功 用于get/post请求 301 永久移动 302 临时移动 404 服务器无法找到资源,网页丢失 500 服务器内部错误 4,http请求头包含哪些信息? content-type (作用:定义网络文件的类型和网页的编码 ) accept (作用:发送端(客户端)希望接受的数据类型) 5,get和post的区别? get 请求数据参数放在请求头传送,请求地址长度有限制,一般用在获取数据。 post请求数据参数放在请求体传送,请求地址没有长度限制,一般用在提交数据。 6,什么是软件测试? 软件测试就是使用软件

软件测试分类

自作多情 提交于 2019-12-01 08:01:29
软件测试分类 1. 按照阶段进行划分 1.1 单元测试(Unit Testing) 单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。 测试阶段:编码后 测试对象:最小模块 测试人员:白盒测试工程师或开发工程师 测试依据:代码和注释+详细设计文档 测试方法:白盒测试 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试 1.2 集成测试(Integration Testing) 集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。主要目的是检查软件单位之间的接口是否正确。 测试阶段:一般单元测试之后进行 测试对象:模块间的接口 测试人员:白盒测试工程师或开发工程师 测试依据:单元测试的模块+概要设计文档 测试方法:黑盒测试与白盒测试相结合 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 补充说明: 单元测试是一个模块内部的测试,集成测试是在模块之间进行测试(至少两个) 1.3 系统测试(System Testing) 将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试 测试阶段

颠覆完美软件:软件测试必须知道的几件事(读书笔记4)

…衆ロ難τιáo~ 提交于 2019-12-01 07:22:10
七、测试评估方法和测试误区(第8章和第9章)   良好的测试是无法确认的。但是我们可以通过很多方法,知道或估算出不好的测试是什么样的。识别出有关测试的主要误区,可以更好的进行测试。     测试的评估方法    1、永远无法确切地知道良好的测试   完美的测试具有如下特点:a)它会检测出一个系统中的所有缺陷;b)它永远不会将不是缺陷的情况判断为缺陷;3)它能让我们完全确信它完成了a和b;d)针对我们的需要,它可以足够迅速和廉价地实现a、b和c。你会发现完美的测试和很糟糕的测试具有惊人的相似性,一个很糟糕的测试也可能会满足a、b、c和d。   良好的测试是描述测试与某个实现之间的特定关系的属性。我们是无法知道测试是良好的,但是我们我们可以根据一些元信息知道测试是否糟糕。   2、根据事实来评估良好性   1)根据系统中缺陷的多少,来评估一组测试的良好性。     对这些缺陷进行追踪,分析他们的具体使用情况,可以得到一些信息。比如,测试有多好,以及好在哪些方面;将来可以如何对测试加以改进;测试会经常遗漏哪种缺陷。   2)根据长时间积累的缺陷,进行评估   3)其他评估方法     将测试覆盖范围和故障理论进行比较;随机改变测试来了解问题如何出现;对不同类型测试进行比较。   3、植入缺陷进行评估     插入已知的缺陷而不告诉测试人员