软件测试—-基础篇(1)

软件测试:

1)要有一定的开发能力:开发各种性能工具,看代码,搭建项目环境,代码规范,代码风格

2)熟悉中间件:MYSQL,开发人员写了一个select *,这个时候查询性能很低,测试人员这个时候就需要进行提BUG,有没有使用索引询没有用联合索引键索引立索引之后有没有使用索引/span>

商场买衣服:

1)外观测试:初步筛选

2)试穿测试:尺寸,XS,S,照镜子,测试试穿之后衣服对于个人的外观是否有提升

3)面料测试:纯棉的透气,布料,棉纶

4)价格测试:询价(衣服穿上之后心理预期是300元),但是到了柜台之后发现服务人员说30000,直接不买了….

5)购买衣服交易完成

一:基础篇:

你既然学习了软件开发为什么要学软件测试呢/span>

我们软件开发进入互联 行业之后,开发出来的这些功能是由软件测试人员来进行测试的,开发人员要知道测试人员是从哪些方面来进行测试的,开发的时候就能避免这些的错误,我就更能保证我们开发出来的软件的质量比较高,调试已经不能满足软件的质量了;

1.软件测试是什么/strong>

1)软件:用我们的程序开发出来的app,web系统,软件产品(画图板),单机画图板的一系列产品;

定义:测试软件就是针对我们上述所说的产品进行测试,测试人员验证软件是否满足用户的需求,软件测试是软件开发过程中很重要的组成部分,它主要是通过一系列测试手段对程序进行一个品质或性能的测试,看它是否满足需求阶段的要求 ,软件测试就是不断去发现错误进而去保证软件的质量,我们还要测试一些不满足测试用例的例子,从正反两方面进行测试;

总结:软件测试就是为了进行验证软件产品特性是否满足用户的需求

一:软件测试人员对软件的验证:

1)验证功能是否能够正常运行

2)验证功能是否满足用户的需求

二什么是用户这里面的用户不光是指购买软件的用户,还包括流量用户,那么什么是流量用户呢如说咱们是QQ的使用者,我们并没有给钱,但是我们每一个人都可以进行使用

三:测试开发人员:自动化测试用例开发人员(自动化)和自动化工具开发人员(测试提效)

例如163邮箱的登录功能,对他的登录功能进行测试6-18个字符可使用数字字母下划线,都要以字母开头(需求),输入正确的格式和错误的格式进行测试;

有效:6-18个字符,数字字母或者下划线,必须以字母进行开头

例如123456就不可以注册成功,zhu1234@139.com(可以注册成功)

我们输入12345@163.com就不能注册成功,因为它是不满足我们的一个需求

所以说我们不能只拿着满足需求的情况进行测试,我们还要拿着不符合需求的用例进行测试,如果注册失败,才可以说这个功能做的完全正确

1)是为了发现错误而执行系统或者程序的过程

2)测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量

3)使用人工或者自动手段,来运行或者测试某个系统的过程,目的是检测他是否满足用户的需求或者弄清预期结果与实际结果之间的差别,现在的软件测试已经完全融入到了软件开发的生命周期过程中了;

2.测试和开发有什么区别/strong>

1))软件测试和软件开发的调试的区别/strong>

目的不同,角色参与人员不同,执行阶段不同

目的不同:

调试:是开发人员站在自己的角度查看自己写的代码是否可以实现他所要求所想实现的功能,发现软件的缺陷,定位并解决程序中出现的问题,发现并且解决

软件测试:是测试开发人员查看软件是否实现用户的需求,是发现程序的缺陷,并指出程序中还没有实现的功能,发现但是没有解决

角色不同:

软件测试:黑盒测试工程师,白盒测试工程师,开发人员(单元测试和集成测试是主要由开发人员进行测试);

软件调试:只能由开发人员进行调式

阶段不同:

软件测试:软件测试是贯穿整个软件开发的生命周期(软件从有到无,需求分析,设计,编码,开发的全部构成),等到我们的软件发布到线上之后,我们的测试人员也要监控,看看线上有没有问题,况且来说一但我们的需求出现了问题,那么就需要把整个软件都进行整改,但是此时开发如果已经完成了,就到了不可挽回的地步,因此每开发出一个功能,我们就需要进行验证该功能是否满足用户的需求

软件调试:开发阶段编码过程中对某一项功能的检验,并进行解决

2))开发要求技能集中,专业度高,代码要求精简,效率高(性能比较好),ArrayList与LinkedList(用删除插入的操作),在啥样的场景下使用啥样的集合(Java语法,数据结构,数据库,python,Java,APP自动化工具)

但是测试要求技能更广,深度比较低,需要掌握各种技能测试工具:

接口测试postman,性能测试 jmeter,UI自动化,web,会用到很多测试工具(Robot),安全测试,这些工具只需要会使用,不需要理解这些工具的原理,代码覆盖率工具,数据构造工具,测试人员要求会使用这些工具,来进行协调测试的工作,工具对于测试人员来说只是一种手段,不需要进行了解底层

3))软件测试则是测试一个软件有没有问题,能不能上线,也就是把软件变得更好,起到把关质量的作用,让用户的需求变得更加幸福,辅助开发人员做出更好的产品、

软件测试工程师:进行需求分析,编写测试计划和测试方案,追踪BUG,编写测试 告等

软件开发工程师:根据项目的特点来进行开发一些自动化测试的脚本,或者是自动化测试的一些工具,从而有效的进行测试,提高产品的质量

测试开发工程师的工作的目的就是为了更高效,更快捷的让测试工程师进行测试工作,测试开发岗位一般要求一定的开发能力,解决问题的能力十分重要

软件测试的岗位: 

1)软件测试开发师:

这里面的开发指的是开发效能工具,从而提高软件测试的效能提高软件项目的质量

效能工具:比如说自动化测试工具

注意:这里面的自动化测试是不能够完全代替我们的手工测试的,因为软件的版本在不断的进行迭代,要重复进行测试之前的版本,自动化脚本是依据我们的测试用例来进行编写的

2)软件测试工程师:

3.你为什么要选择软件测试这个行业个优秀的软件测试人员应有的素质有什么优势让自己脱颖而出呢/strong>

一:兴趣:

我在B站上和知乎上面一开始了解了软件测试这个行业,进一步学习了这方面的一些知识,觉得自己对他很感兴趣;

二:技能:

学习能力(写博客),代码能力(写了很多测试用例),抗压力(承受压力)和责任感(对于抗压力举例子,搬凳子坐楼梯学习,做比赛的时候xxxxx),具有快速学习的能力,快速学习JAVA语言编写规范,比如说要学习一些语言,快速上手

三:逆向思维,发散性思维,要想出很多很多的测试点,要有优秀的设计测试用例的能力

四:具备严谨、耐心、认真、负责的态度,批判性思维

一名软件测试工程师必须要对你所测的产品负责,需要以严谨的态度,不放过每一个细节,尽可能找出所有BUG,虽然不能做到完全没有BUG,但一名负责的测试人员应尽自己最大的努力保证自己所负责的产品的质量

五:涉猎广泛的专业技术,掌握自动化技术(企业中必不可少的技术)

技术是为测试服务的,不管是测试理论、测试工具、操作系统、开发知识、数据库,还是 络知识,至少有一门精通,其他也要熟悉,因为测试与开发或者其他行业不同,它更多的是考验你在专业技术上的广度而不是深度,以应对随时可能产生的各种BUG。

六:具备良好的沟通表达能力

测试人员常常需要与不同部门的人员打交道。如何更精确,更简练,更严谨地去描述BUG,并保证开发人员可以接受你发现的BUG,都是需要依靠良好的沟通能力去表达和说服,所以良好的沟通能力尤为重要,和产品经理进行确认需求是否正确

七:文字编写能力:自己写的测试用例要能够看懂,要测试什么么进行测试/span>

八:开发能力

九:保持终身学习的能力

十:有责任感(整个软件开发的生命周期)和一定的压力:尽量不要出现漏测,总结经验,避免以后出现这样的错误

软件开发的生命周期:需求-计划-设计-开发编码-测试-运行维护-上线

那我们的微信APP来进行举例:

需求:我需要你们团队做这样一个 交软件,能够像QQ一样实现聊天功能,发布说说的功能,能够群聊,可以转账

计划:计划软件开发的时间,以及这个软件怎么进行设计,从需求阶段测试人员就要进行验证了,进行分析和认证,要进行验证和分析需求的一个合理性,看看计划和设计是否合理

举一个自动饮料售卖机的例子(进行联 ,通电)—-站在用户角度看待问题

按什么饮料出什么饮料:1.5元钱,出一杯可乐,雪碧,苏打水,纯净水

1)什么都不投,先按一下按钮试试是不是会出饮料;

2)投不是1.5元钱的纸钱,比如说两元,看他会不会找零钱,以及现在售卖机里面没有零钱怎么办/strong>

3)投个石头,看看这个售卖机会不会把石头当成硬币,检测,投一个假钱,投一个游戏币

4)放完钱突然断电了,按这些按钮出不来这些饮料怎么办,看看是否有提示/strong>

5)我想要喝可乐,但是我投完硬币后没有可乐怎么办/strong>

6)贩卖机是否进行扣钱

自动化测试:按照我们人为的预备好的一系列条件,让机器去执行

为什么选择软件测试这个岗位因为软件测试简单吗/strong>

1)一开始学习软件开发的知识是因为对计算机行业很感兴趣,后来随着对软件开发的深入学习了解了软件测试这个岗位还有一些相关知识,发现自己很对软件测试感兴趣,非常有意思,发现软件测试适合自己;并且深入软件开发,这对于软件测试有很大的好处;后来有深入的学习了一下软件开发;

学习软件开发,是为了可以更好的和软件开发人员进行沟通和交流,方便以后能够在未来中深入学习软件测试,有助于进行软件测试的开展,甚至可以自己找出bug,找到原因,提出更好解决方案。总而言之是为了让让自己的软件测试工作做得更好;

2)我喜欢与人交往。作为软件测试人员,我可以获得很多与人们互动的机会(不仅是同行,我还可以与老板讨论)

3)有一定的代码能力,而且我对测试有一定的兴趣,平时在做测试工作的时候,就会觉得这个好有趣,说俗一点我就是各方面的去测,探索性的去测试,喜欢多方面的想,直觉的去按照错误猜测法等去测这个软件存在的缺陷,就比如说我写一个简单的代码,我就会用各种各样的用例去试验这段代码是否最后真的完美了。
4)与人打交道,首先要会听,理解对方要表达的底层意思是什么,我回答的时候不仅要自己明白我说的什么,最主要是对方可以很清楚的知道我要表达什么

4.你的抗压能力怎么样/strong>

举例子;高中时怎么学习的,别说学生会,一定要镇定。。。。

举个例子对于售卖机功能的测试:

售票机没有电,售票机断 ,售票机发生故障,售票机没有纸,没墨,提示购票人员联系工作人员进行处理,是否有电话/span>

一:选择始发站到达终点站:

1)选择一个不存在的站点,显示并没有这个车站

2)该车次车票已经售完,无法在进行买票

3)选择车次后取消,无法进行购买

4)身份信息校验失败,无法进行买票

5)学生证验证失败,无法进行购买半价票

6)是否接受中转站还是一站达到,如果接受,有两张票

二:座位选择:

1)一等座,二等座,商务座

2)座位售完是否有站票

3)站座和坐票都售卖完,无法进行购买

4)无票的时候是否候补

5)选择的座位 已经无,是否接受系统随机安排座位

三:身份证校验:

1)身份证在有效期内,校验成功

2)身份证失效

3)身份证消磁

4)假身份证

5)用其他的卡代替身份证,校验失败

6)丢失的身份证办理的身份证

四:付款

假币,外币,现金破损,输入现金余额不够,输入现金多,找零正确

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月4日
下一篇 2022年11月4日

相关推荐