1、如果是应届毕业生的话一般不会存在这样的问题、反正做什么岗位都是0基础开始的、这样来看LZ应该是已经工作过的了。
2、对于转行来说;
买本软件测试书籍先学习下测试的基础知识、很重要。
按照书籍上学的内容自己开始实践(怎么实践?自己下载一个软件或者随便找一个web网站就可以开始了)
完成上面第二步之后,你多多少少已经对测试流程、测试知识有一定的了解了
然后可以开始找工作了,找工作投简历之前先看看对方公司做什么产品的,然后把他们产品弄回来自己吧测试流程跑一遍,BUG都记录下来(不要说没有BUG,每一个产品都存在BUG)。发送简历的时候就可以吧他们产品的BUG给一起发送过去了。
多上上51testing测试论坛、加几个测试Q群、论坛和Q群里面经常会看到有招初级测试的。
还有一种方案;就是在你们公司内部转岗,这个比较好操作(我就从IT部门转到测试部门的)
但是上面测试的知识得自己学、不要指望转岗之后才开始学。
请帮忙解答以下题目!软件测试基础的作业,万分感谢
1.要了解用户的质量要求。比如对缺陷的容忍率,像银行这些系统应该保证“无缺陷”,而有些商业产品,只要没有致命缺陷就可以了。
2.首先分析需求文档,得出测试点,根据不同的测试点,考虑用不同的手段,如白盒(语句覆盖,条件覆盖,判定覆盖),黑盒(等价类,场景分析)等设计测试用例。
3.硬件,软件,网络,数据,工具。硬件和软件是最基本的要素,此2要素可以派生出后3个要素.
硬件:服务器,个人电脑,
软件:操作系统,中间件,数据库软件
数据:模拟数据,真实数据,历史数据
网络:路由器,网关协议,交换机,
工具:测试管理工具,测试工具(自动化测试工具,压力测试工具)
4.测试数据既是测试环境的重要组成,也是测试用例的基础,直接影响测试的执行结果。真实值,模拟值,设计值,历史值
5.来源:真实,模拟。用途:验证那个功能点。保存方式:用数据库保存还是文本文件。生命周期:在哪个阶段使用。
6.应该安排专门的人员进行管理和维护
7.测试数据缺乏规范的管理,测试数据被篡改,测试数据不一致。因为引入配置管理,即对每一轮测试使用特定的测试数据,对测试数据的变更要走配置管理流程
8.a。人工阅读需求文档和操作手册。b。自动化测试工具设定。c。观察软件运行的状态
9.输入框数据,下拉框数据,上传下载文档数据,数据库数据
10.开发测试,用户测试,第三方测试
11.软件缺陷是指从设计上可能使软件出现错误的地方。软件错误是软件缺陷导致的结果,是缺陷的外在表现。软件故障是指使软件不能正常工作的一类大问题,软件失败是特别严重的错误,导致软件不可用。
12.验证是验证软件是否按《需求规格说明书》所要求的工作。确认是确认软件已按要求做了正确的事情。验证对应验收测试,及检查软件已按合同要求实现了功能。确认对应于回归测试,即检查软件的缺陷已得到了修改。
13.a。首先检查测试用例集是否已对需求做了全覆盖
b。检查测试用例的测试步骤的描述是否详尽
C。测试用例是否对测试结果有预期的描述
D。测试用例是否有前置条件等测试用例执行所必需的环境的描述
零基础自学软件测试如何入手,求学习步骤,教程!!
软件测试是一门新兴行业,平均薪酬不错,而且入门简单。需要掌握一定的开发语言基础,相关网络和数据库的基础知识,以及主要的软件测试理论。基础学习的话有人引导就会相当简单,因此建议最好找一个做测试工作的朋友指导学习效率最高。如果是完全自学,建议安排好时间,几方面知识学习同时开始:
1.软件测试基础理论和方法。这块的东西学起来其实不多,重要的是实际的应用。主要掌握黑白盒测试、测试策略、测试方法、测试设计、测试报告等相关理论。在网上或书店随便找一份软件测试学习的书籍都够用了。
2.网络和数据库基础知识。现在的软件基本都离不开网络和数据库应用。所以这两块的基础知识也是必须掌握的。不需要太深,网络知道互联网发展,现代网络架构,IP分配知识,网络七层协议等,数据库要会基本的增删改查语句操作。这个在网上找一些资料和练习题做一做就可以了。
3.开发语言基础。这个很重要。测试要深入发展,掌握至少一门开发语言是很必要的。实际测试的技能需求是大于开发的,除了常用开发语言,最好是能掌握一门脚本语言,作为测试自动化能力拓展的基础。这是通向高级测试的必备技能。这块需要投入很大,但不需要在工作初期要求太高,可以再工作中不断提升。自己选定一门开发语言和脚本语言,持续学习即可。
主流软件测试工具
楼主说的没错,测试工具实在是太多了。但这又何尝不是好事呢????简单的说,很多人一提测试工具就LR、QTP之类,问下,目前有多少公司能花得起这个钱??不过,我们又不得不把这些当作“主流”……个人建议楼主多关注些开源的测试工具,这有碰到了一个问题,就是多!不过既然大多数公司都不愿花那么多钱用大的测试工具,但是又需要测试工具,所以,选择开源工具是个不错的选择,但是各个公司的实际情况不同,定然会选择不同的开源工具。。。按照这样的推理,您的问题是有不妥之处的。也就是工具众多,测试人员无法避免你提出的问题,又无法回答……试问什么叫主流?什么叫多?放入公司的实际情况中,公司用到的就是主流,公司用到的你不会,就会感觉多。。。所以,选择的权利主要部分不在测试人员手里,因为谁都不会说去一个公司靠的就是会bugzilla吧?
下面这些会是回答你的问题,也是说给我自己的:多接触些开源工具,空闲的时候在自己电脑山搭建起来,按照文档使用下,熟悉下使用流程;多接触些脚本语言,简单的使用工具并不能发挥工具更强大的作用,我们要给自己更高的要求。
当然,如果能术业有专攻,学好LR或QTP,至少在使用这个工具本身上会有很多的竞争力,但是学好不是件容易事。
最后给楼主的建议就是:公司现在用的是什么,选搞定,再做其他考虑。
我想学习软件测试,但不知道需要哪些基础
第一步:具备软件测试常识
软件测试行业就像一个围城,很多围城外的人想要进来,一没有高人指点,领你进去;二没有人借梯子给你让你走进去。所以说,如果你是跨专业或者是换职业来做软件测试工程师,是难度非常大的!
所以呢?作为特别白的小白,如何入行呢?!那么这个就是我们今天要做的第一步:具备软件测试常识。
1)什么是软件测试
2)软件测试的分类
3)软件测试常用的一些用例设计方法
4)如何做需求分析
5)如何写软件测试用例
6)什么是bug&bug的管理工具
7)软件测试计划&软件测试报告
如果以上7点你完全具备了,那么恭喜你,软件测试面试的基础笔试和面试,应该是OK的了。当然你也知道每个公司的要求不可能这么简单的!我们还需要加特效加技能!duang起来!请看第二步。
第二步:mysql 特效,Duang!
如果你完成了第一步,那么恭喜你,还是一个可造之材,接下来我们要加特效了!这样能够让你在同等水平中,突出突出特别突出,再也不怕面试官问问题,自己变成傻白甜啦!
1)数据库的定义(理解概念)
2)数据库的增删改操作
3)数据库的查询&关联查询(这个在笔试的时候经常会做题!没有这个常识,你看数据库题目就像是看天书!)
第三步:linux特效,Duang
特效一加完了,这个时候再给自己加点散发光芒的特效。
1)安装VM虚拟机
2)linux的一些常用操作命令
linux部分不会笔试,但是一般面试官会问:你知道linux命令么?能够说出一两个么?当然,你以为学完这两个就算完了么?远远不够。人总是向前看的啦,那你需要继续丰满自己的羽毛,让自己飞的给高,起步更高!
第四步:逼格提升法
并不会说很多,但是你只需做到下面2点即可:
1)学会搭建tomcat+jdk+mysql环境
2)在linux下自己尝试搭建bugfree
如果你完成了,你可以在自己简历上,妥妥的写上:能够独立搭建测试环境这一项了!你可以试试,面试机率直线提升
第五步:安卓IOS大法好!
那么上面说的都是WEB层面的,你会常识会搭建环境,那么其实说起来,现在APP测试工程师是需求量非常大的!所以这个时候,你就需要提升自己APP方面的测试常识了!
1)什么是APP测试
2)APP测试的重点和方式
3)弄懂APP测试的兼容性
哇咔咔,这下,你可是有身份的人了,你有APP测试常识,那么一问你,你而已不会懵逼了。
请六步:这是一只神奇的猴子
学完安卓和IOS大法了。这下,如果能够给这个大法加点自动化,那就更加美妙了。我们可以学习点下面的知识:
1)monkey命令,让自己的大法不仅仅是功能大法,还能够动起来~~动感十足!
2)uiautomator自动化,这样我们也是写过代码的人了。
谁还敢给你脸色看,说你测试功底不咋样,我们就炒他鱿鱼!
第七步:软件测试从入门到放弃
都说软件测试门槛低,其实说低也低,说高也高。如果你学着学着觉得很难很难,没有力气坚持下去,那么,其实,人嘛,活着开心最重要,那我们就干脆放弃了。突然发现,不跟计算机打交道的日子里,天空是那么的蓝~花儿是那么的艳~我们一起去大吃一顿,放弃入门吧!
第八步:找到捷径,重拾软件测试
入门有捷径,当然啦!!!最快的捷径,绝对劲爆!不需要你自己去找资料,不需要你自己去满大街的下载软件,老师手把手教你。当当当~~~这个捷径就是: 报名参加柠檬班!
学费:4500 柠檬班软件测试学习群:333782754
让你以愉快的心情进入软件测试行业,高薪换行就业不再那么遥远!
点击原文就可以报名哟!
软件测试基本理论?
软件测试概念:通过各种手段和测试工具,判断软件系统是否能够满足预期期望。
从软件开发的过程按阶段划分有
A.单元测试
B.集成测试
C.确认测试
D.系统测试
E.验收测试
* 测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。
* 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。
* 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
* 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。
* 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。
单元测试 (Unit Testing)
* 单元测试又称模块测试,是针对软件设计的最小单位 — 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。
* 单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
1. 单元测试的内容
* 在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。
(1) 模块接口测试
* 在单元测试的开始,应对通过被测模块的数据流进行测试。测试项目包括:
– 调用本模块的输入参数是否正确;
– 本模块调用子模块时输入给子模块的参数是否正确;
– 全局量的定义在各模块中是否一致;
* 在做内外存交换时要考虑:
– 文件属性是否正确;
– OPEN与CLOSE语句是否正确;
– 缓冲区容量与记录长度是否匹配;
– 在进行读写操作之前是否打开了文件;
– 在结束文件处理时是否关闭了文件;
– 正文书写/输入错误,
– I/O错误是否检查并做了处理。
(2) 局部数据结构测试
* 不正确或不一致的数据类型说明
* 使用尚未赋值或尚未初始化的变量
* 错误的初始值或错误的缺省值
* 变量名拼写错或书写错
* 不一致的数据类型
* 全局数据对模块的影响
(3) 路径测试
* 选择适当的测试用例,对模块中重要的执行路径进行测试。
* 应当设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。
* 对基本执行路径和循环进行测试可以发现大量的路径错误。
(4) 错误处理测试
* 出错的描述是否难以理解
* 出错的描述是否能够对错误定位
* 显示的错误与实际的错误是否相符
* 对错误条件的处理正确与否
* 在对错误进行处理之前,错误条件是否已经引起系统的干预等
(5) 边界测试
* 注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。
* 如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。
2. 单元测试的步骤
* 模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。
– 驱动模块 (driver)
– 桩模块 (stub) —— 存根模块
* 如果一个模块要完成多种功能,可以将这个模块看成由几个小程序组成。必须对其中的每个小程序先进行单元测试要做的工作,对关键模块还要做性能测试。
* 对支持某些标准规程的程序,更要着手进行互联测试。有人把这种情况特别称为模块测试,以区别单元测试。
集成测试(Integrated Testing)
* 集成测试 (集成测试、联合测试)
* 通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是:
– 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
– 一个模块的功能是否会对另一个模块的功能产生不利的影响;
– 各个子功能组合起来,能否达到预期要求的父功能;
– 全局数据结构是否有问题;
– 单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
在单元测试的同时可进行集成测试,
发现并排除在模块连接中可能出现
的问题,最终构成要求的软件系统。
* 子系统的集成测试特别称为部件测试,它所做的工作是要找出集成后的子系统与系统需求规格说明之间的不一致。
* 通常,把模块集成成为系统的方式有两种
– 一次性集成方式
– 增殖式集成方式
1. 一次性集成方式(big bang)
* 它是一种非增殖式组装方式。也叫做整体拼装。
* 使用这种方式,首先对每个模块分别进行模块测试,然后再把所有模块组装在一起进行测试,最终得到要求的软件系统。
2. 增殖式集成方式
* 这种集成方式又称渐增式集成
* 首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统
* 在集成的过程中边连接边测试,以发现连接过程中产生的问题
* 通过增殖逐步组装成为要求的软件系统。
(1) 自顶向下的增殖方式
* 这种集成方式将模块按系统程序结构,沿控制层次自顶向下进行组装。
* 自顶向下的增殖方式在测试过程中较早地验证了主要的控制和判断点。
* 选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能。
(2) 自底向上的增殖方式
* 这种集成的方式是从程序模块结构的最底层的模块开始集成和测试。
* 因为模块是自底向上进行组装,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以直接运行子模块得到。
* 自顶向下增殖的方式和自底向上增殖的方式各有优缺点。
* 一般来讲,一种方式的优点是另一种方式的缺点。
(3) 混合增殖式测试
* 衍变的自顶向下的增殖测试
– 首先对输入/输出模块和引入新算法模块进行测试;
– 再自底向上组装成为功能相当完整且相对独立的子系统;
– 然后由主模块开始自顶向下进行增殖测试。
* 自底向上-自顶向下的增殖测试
– 首先对含读操作的子系统自底向上直至根结点模块进行组装和测试;
– 然后对含写操作的子系统做自顶向下的组装与测试。
* 回归测试
– 这种方式采取自顶向下的方式测试被修改的模块及其子模块;
– 然后将这一部分视为子系统,再自底向上测试。
关键模块问题
* 在组装测试时,应当确定关键模块,对这些关键模块及早进行测试。
* 关键模块的特征:
① 满足某些软件需求;
② 在程序的模块结构中位于较高的层次(高层控制模块);
③ 较复杂、较易发生错误;
④ 有明确定义的性能要求。
确认测试(Validation Testing)
* 确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。
* 对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。
1. 进行有效性测试(黑盒测试)
* 有效性测试是在模拟的环境 (可能就是开发的环境) 下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。
* 首先制定测试计划,规定要做测试的种类。还需要制定一组测试步骤,描述具体的测试用例。
* 通过实施预定的测试计划和测试步骤,确定
– 软件的特性是否与需求相符;
– 所有的文档都是正确且便于使用;
– 同时,对其它软件需求,例如可移植性、兼容性、出错自动恢复、可维护性等,也都要进行测试
* 在全部软件测试的测试用例运行完后,所有的测试结果可以分为两类:
– 测试结果与预期的结果相符。这说明软件的这部分功能或性能特征与需求规格说明书相符合,从而这部分程序被接受。
– 测试结果与预期的结果不符。这说明软件的这部分功能或性能特征与需求规格说明不一致,因此要为它提交一份问题报告。
2. 软件配置复查
n 软件配置复查的目的是保证
u 软件配置的所有成分都齐全;
u 各方面的质量都符合要求;
u 具有维护阶段所必需的细节;
u 而且已经编排好分类的目录。
n 应当严格遵守用户手册和操作手册中规定的使用步骤,以便检查这些文档资料的完整性和正确性。
验收测试(Acceptance Testing)
* 在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。
* 验收测试是以用户为主的测试。软件开发人员和QA(质量保证)人员也应参加。
* 由用户参加设计测试用例,使用生产中的实际数据进行测试。
* 在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。
* 确认测试应交付的文档有:
– 确认测试分析报告
– 最终的用户手册和操作手册
– 项目开发总结报告。
系统测试(System Testing)
* 系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
* 系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统的定义不符合或与之矛盾的地方。
软件测试0基础怎么办,我想自学,看什么书籍比较好。最好可以网上下载的
你还是去培训学校学吧,一般自学都学不好,焦点测试还不错,有朋友在那学过,现在刚工作了。
《软件测试基础知识》机械工业出版社电子书下载
你看基础知识干嘛?还是建议你看机械工业出版社的《软件测试实用技术与常用模板》吧,这个从基础知识一直讲到高级知识的。
转载请注明出处51数据库 » 软件测试基础下载 0基础怎么学软件测试
孤狼丶丶丶丶