什么是软件以及什么是软件测试。

大家关于测试最常听说的就是点点点,但这只是测试的一部分--功能测试.......

一,认识软件及测试

1、什么是软件

软件这个词相信大家都很熟悉,软件就是一种控制计算机工作的工具,比如:某信、某东、某宝、包括Windows系统都是软件。

2、软件的产生过程

每一个软件都并非是程序员心血来潮制作出来的,它需要通过一些列的流程才能呈现在我们的面前。

首先是产生需求,一个软件的产生必然是有人需要使用,否则这个软件的开发就没有任何意义,因为没有人使用。

而软件需求的产生一般分为两种:一种是需求方也就是甲方爸爸来提出,另一种则是产品经理。

他们的区别是:需求方是为了满足自己公司的需要而找到软件开发公司针对他们的需求进行开发,而产品经理则是对市场进行调研之后,发现市场中需要但没有一款软件实现了这个功能,因此产品经理提出需求。

其次是产品经理根据甲方的需求或者市场的调研结果来撰写需求文档。

第三则是由UI设计师来设计产品相关的一些效果图。

第四就是由产品开发来编写代码,实现产品说明书当中的功能。

第五、当开发的功能全部编码完成之后,就该由产品测试登场,产品测试也是软件上线之前的最后一步,产品测试的结果也在某种程度上决定了产品是否能够上线。

最后,当所有功能全部测试完毕并且测试通过之后就可以交由相关负责人员进行上线了。

3、什么是软件测试

软件测试的定义就是:使用技术手段来验证软件是否满足使用的需求。

4、软件测试的目的

减少软件的缺陷,提升软件的质量,尽量让软件变得更加好用,软件测试人员并不能让软件变得好用,他们是与开发人员共同协作来实现的。

二、测试的主流技能

1、功能测试

功能测试也叫手工测试,就是大家所熟知的点点点,但是这样去给功能测试下定义的话,未免太过片面,因为它包含点点点,但绝对不止点点点。

功能测试的主要作用是验证程序的功能是否满足使用需求,在这之前需要做一些列的准备,还需要根据需求文档提前编写测试所需要的用例,用例会在后面讲到,此处不作解释。

2、自动化测试

自动化测试也是目前市场上比较热门的岗位,几乎所有的公司都在招聘这样的人才。因为自动化测试是通过代码来代替手工执行测试用例对软件进行测试,一般是在由大量的重复的测试工作时使用。

这大大节省了工作时间,同样也节省了公司的成本,本来五个手工测试加班一周才能测完的功能,只需要一天就完成了,岂不美哉?

3、接口测试

在接口测试之前,先了解一下什么是接口,无论是笔记本电脑亦或是台式机,上面都会有各种各样的插口,而这些插口就是电脑的接口,这些接口用来连接键盘、音响、显示器等等。

同样的软件之间也有着一个个接口,软件中有着数量众多的功能模块,而这些模块就是通过类似电脑插口一样的接口来进行互相连接的。

假如我们要登录某东,就需要输入账号、密码、验证码、再点击登录这一系列操作,而这个登录请求则会调用后端程序员写的登录接口,在进行登录。

而接口测试就是使用工具或者一些技术手段来验证这个登录的接口是否完好,比如:账号密码正确但是却无法登录、账号或密码错误但却可以登录等等

4、性能测试

性能测试就比较容易理解了,性能测试就是模拟一个多人使用软件的情况,来查找服务器的缺陷,看一下在这种情况下服务器运行是否有异常。

实现方式主要有两种,一种是使用工具实现,另一种则是使用代码来实现。

三、就业方向

思考再三,还是决定单独拿一块出来讲一讲关于大家都比较关心的就业的问题。

首先就业分为三个方向:

1、功能测试+接口测试

2、功能测试+性能测试

3、功能测试+web自动化测试

大家可以发现,无论哪个方向都绕不过功能测试,哪怕你接口测试、性能测试或者web自动化测试都很优秀,但是如果你不会功能测试,那么对你未来找工作的影响将是比较大的。也就是说,进入公司之后,你可以不做功能测试,但是你必须要会。

四、测试分类

1、按测试阶段划分

1.1、单元测试

单元测试的话是使用代码来针对各个模块的源代码来进行测试的,一般是由开发来进行自测。

1.2、集成测试

集成测试就是上面所讲到接口测试,是针对模块与模块之间的访问地址来进行测试

1.3、系统测试

系统测试,顾名思义就是对整个系统进行测试,其中包含有:功能测试、兼容性测试、文档测试等内容。

1.4、验收测试

验收测试就可以说是项目的收尾工作了,这就是项目正式上线之前,邀请部分使用者来进行内测,如果没有问题,那么项目就可以正式收尾上线了。

验收测试主要分为两种:内部测试和公开测试。因为测试人员在日常繁重且长时间的测试工作当中很容易陷入误区,或者用户达到一定量级之前不会出现的缺陷,这个时候验收测试就显得尤为重要了。

2、按代码可见度划分

可以划分为三类:

2.1、黑盒测试

黑盒测试的另一种叫法就是功能测试,在这种测试环境下只能看到UI功能的界面,源代码是完全不可见的,在测试的过程当中,针对程序的UI功能进行测试,并不关注源代码。

2.2、灰盒测试

灰盒测试就像是雾天一样,眼前一片朦胧但又不至于什么都看不到,它的另一种叫法就是接口测试,在测试过程中只能看到部分的源代码,但是功能界面却是不可见的,他的作用就是针对程序的部分源代码来进行测试。

2.3、白盒测试

白盒测试也就是单元测试,它就像是一个透明的玻璃房,内部的东西一览无余,也就是说源代码是完全可见的,但是UI功能界面却不可见,他的作用就是针对程序的源代码来进行的测试,前面有提到过,关于单元测试一般都是由开发自己来进行测试的,当然,也会有相对应的专门岗位来招聘一些做单元测试的工程师。

五、测试模型-质量模型

质量模型就是用来衡量一个优秀软件的维度,为了让大家有一个更清晰的认知,接下来通过一个简单的例子并结合以下几个方面来进行说明:

5.1、功能性

一个产品实现了10个功能,那么我们需要测试的就是这10个功能是否是正常运行的,还有在使用过程中出现了软件本身没问题,但因为用户操作失误而导致软件无法使用产生的错误时,应该怎么处理,既能让用户意识到问题,又不至于用户因为这个原因转而使用竞争公司的产品。

5.2、性能

产品预估每日的在线人数为50w,那么我们就需要去测试一下服务器对于每秒钟所处理请求数的速度了,拿王者来举例,一般是在午间休息和晚上下班吃过饭之后的访问量是最大的,而且它的用户量十分巨大,如果它处理请求的速度不是那么的好,就很容易在我们登陆的过程中造成卡顿,或者登陆时间很长。

那么如何解决这个问题,最简单也最直接的方法就是测试服务器的配置,如果测试过后达不到我们所预期的结果,那么该更新配置就更新配置,该添加服务器就添加服务器。

5.3、兼容性

兼容性在日常生活并不难以接触到,比如说现在苹果的灵动岛在低版本的手机上就是无法使用的,这就是不兼容。

当产品出世之后,他需要经过各个浏览器、操作系统之类的测试来判定它是否合格。

像浏览器的测试我们只需要测五大浏览器厂商:谷歌、火狐、IE、欧朋、苹果。也许你会好奇现在市面上这么多的浏览器为什么只测这五个,其实这个五个之外的浏览器并没有自己独立的技术,就像是某人整了容、改了名但是他还是他。所以,只要在这五个浏览器之上能够正常运行,那么这五个之外的浏览器就可以说毫无压力。

操作系统的测试则需要根据软件的定位、还有面向人群来确定,假如这款软件面向的是更年青一代的人群,那么像win7、win8这一类的系统基本上没有测试的必要,就可以放过,但是win10等比较常用且人群基数较大的系统就必须要在测试名单之上。

5.4、易用性

易用性的话就是四点要素,以weixin为例:

1、简洁:它的界面可以说是简洁性的代表了,只有四个功能模块,不会给人一种复杂臃肿的感觉

2、友好:它的功能用起来可以说十分方便,而且具有一个搜索框功能,可以快速的找到所需要的东西

3、流畅:它响应速度是非常快的,刷朋友圈或者发布朋友圈的速度都是比较快的,不会出现卡顿的情况,当然如果你处在一个信号不好的情况下的话......

4、美观:它的界面可以说是比较有创意的,每当在底部功能栏选中一个功能就会出现不同的变化,用来提醒你当前所在的是哪一个功能界面。

5.5、可靠性

可靠性一般通过三个方面来判断,是否有死机(系统崩溃)的可能、是否会无响应、响应时长。

如果出现了以上三种任何一种情况,都可以认为它是不可靠的,需要进行进一步的调整和改进。

5.6、安全性

安全性可以说是重中之重了,同样功能的两款软件,一款安全性好其他功能一般但是可以接受、另一款其他功能都很好,但安全性相对较差,你会怎么选择?我会毫不犹豫选择前者,尤其是像现在的一些信息对我们来说十分重要,如果安全性不好被他人恶意盗取后果是无法想象的。

5.7、可维护性

给大家放两张图片,应该就能立刻明白了。

 

这两种机房,你更愿意去维护哪一个呢?

5.8、可移植性

可以执行也是相对来说的,如果开发了一个软件它所能承载的用户只有1000人,但只是公司内部使用,而公司人数至多不会超过500,那么就不需要考虑这个问题。

但是如果用户访问数量极其巨大,就一定无法绕过这个问题了,还记得前些年双十一tb系统的崩溃么?就是因为当时他们的服务器所能容纳的数据超出了上限,导致了系统直接崩溃,于是他们通过租用他人的服务器或者临时增加服务器来应对这种情况。

如果一款软件受众人群十分的广泛,那么就一定要提前做好数据迁移的准备,以应对不时之需。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大海春暖花开之际

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值