软件测试之测试主流技能

1.认识软件及测试

 1.1.什么是软件

        软件:控制计算机硬件的工具

        

软件分两大类:(1)系统软件

                                        pc端:Windows,Linux,Mac

                                        移动端:Android,IOS

                         (2)应用软件                                      

                                        聊天软件:微信、QQ

                                        文本软件:Wps、Office、记事本

                                        下载软件:迅雷、比特

                                        游戏软件:LOL、WOW、仙剑

 1.2.软件基本组成

        软件组成:客户端,服务端,数据库       

 1.3.软件生产过程

 1.4.什么是软件测试

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

 1.5.软件测试目的

        目的:减少软件缺陷(bug),保证软件质量

 1.6.总结

        1.什么是软件?

                 控制计算机硬件工作的工具。

        2.什么是软件测试

                 使用技术手段验证软件是否满足使用需求。

        3.软件测试目的

                 减少软件缺陷(bug),保障软件质量。

2.测试主流技能

        测试主流技能有四点:

                1.功能测试

                2.自动化测试

                3.接口测试

                4.性能测试

 2.1.功能测试

        功能测试:主要验证程序的功能是否满足需求

        例如:测试用户登录功能

        

        根据测试用例表来逐一测试,每一项测试完成后写实际结果:

         

         问1:测试用例表谁写?测试人员

        问2:什么时候写?需求文档,界面

        问3:什么时候测?开发完成

        问4:有没有技巧?有

 2.2.自动化测试

        自动化测试:是指使用代码或工具代替手工,对项目进行测试

        例如:测试商城登录功能

         通过代码进行自动测试,效率比人工快:

        然后生成相应的自动化报告:

        问1:自动化有什么意义?自动化阶段讲

                单从提高效率上讲,假如明天项目上线,今晚上又加了一个功能,那产品经理会想,新         增的这个功能会不会影响前面的20个功能?让测试人员去测?一万头泥马。

                如果我们用自动化测,估计就三四个小时完成了。

 2.3接口测试

        接口测试:使用代码或工具对服务端提供的接口进行测试

        (1)什么是接口?

                硬件接口:

                 软件接口:

 

 (2)工具实现

                 开发人员一定会给测试人员一个接口文档,上面写清楚了接口的请求地址、请求方式和请求参数及响应数据等等信息,测试人员只需要按要求输入正确或错误的数据,看输出的数据是否与接口文档中的一致。

                我们通过接口测试工具来进行测试:

                 常用的接口测试工具:postman、postApi等等。

        (3)代码实现

                代码实现接口测试,效率会更高,也会生产测试报告

               常见的代码接口测试:swagger  

 2.4.性能测试

        性能测试:模拟多人使用软件,查找服务器缺陷

        例如:模拟20人登录

         (1)使用工具

                实现模拟20人同时登录:

                 常用的性能测试工具:JMeter

         (2)代码实现

  2.5.总结

        功能测试:测试主要验证程序的功能是否满足需求。

        自动化测试:使用代码或工具代替手工,对项目进行测试。

        接口测试:使用代码或工具验证程序中的接口是否访问正常。

        性能测试:模拟多人使用软件,查找服务器缺陷。

3.常见的测试分类

 3.1.按测试阶段划分

  1. 在国内,目前单元测试都是由程序员自己测试,测试自己写的代码没问题,再提交测试人员。
  2. 集成测试是测试模块和模块间的接口,是非常重要的测试。
  3. 相同测试时对整个系统进行全方位的测试,不仅仅是代码,功能,流程,包括整体的性能等等。
  4. 验收测试时在项目开发完成后,从不同用户的角度来测试。

 3.2.按代码可见度划分

        即能不能见到源代码。划分为:

        (1)黑盒测试

                只见UI,不见源代码

        (2)灰盒测试

                部分源代码可见(机集成测试中的接口测试),功能不可见。

        (3)白盒测试

                全部代码可见,UI功能不可见

 3.3.小结

        (1)按阶段划分

                1..单元测试:针对程序源代码进行测试

                2.集成测试:针对程序接口进行测试

                3.系统测试:针对程序功能,非功能进行测试。

                4.验收测试:使用不同用户(公测,内测)进行测试

        (2)按代码可见度划分

                1.黑盒测试:不关注源代码,针对程序UI功能进行测试

                2.灰盒测试:针对程序部分代码进行测试

                3.白盒测试:针对程序源代码进行测试

         注:UIUser Interface 用户接口),指的就是界面。

4.测试模型

 4.1.质量模型

       质量模型: 衡量一个优秀软件的维度

        通过8点来衡量,即

             

         通过案例来说明这8点。

 4.2.案例

        需求:

                1.开发一款网络游戏,要求有10个功能

                2.游戏支持Web(浏览器)端、App端

                3.游戏上线后预计每日20w用户玩家在线

                 (1)功能性

                需求                                                                          测试

                ●  10个功能                                                             ● 功能数量为10个

                ●  功能详情(……)                                               ● 功能正确实现

                                                                                                ● 错误处理情况

                (2)性能

                需求                                                                              测试

                ● 预估每日在线人数20W                                      ● 服务器每秒处理请求数

                                                                                             ● 服务器硬件配置是否满足

                (3)兼容性        

                        ● 浏览器:谷歌、IE、火狐、欧朋、苹果

                        ● 操作系统:Win系统:win7、win8、win10、其他

                        ● 手机:分辨率、品牌、系统、网络、其他

                (4)易用性      

                        ● 简洁

                        ● 友好

                        ● 流畅

                        ● 美观

                (5)可造性                

                        ● 无响应:出现无响应

                        ● 卡顿:响应时间慢

                        ● 死机(闪退):系统崩溃

                (6)安装       

                        ● 传输加密

                        ● 存储加密

                (7)可移植性

                        ● 数据迁移

                (8)可维护性

                        ● 核心代码注释

                                                                         vs

                         注:功能、性能、兼容、易用、安全是必测。

5.软件测试流程

        测试流程分6步:

         (1)需求评审

                产品人员将需求转换成文档——《需求文档》

                然后召集UI、开发、测试、实施讲解项目,确保各部门需求理解一致。

        (2)编写测试计划

                测什么(对象)、谁来测(人员)、怎么测(安排)

        (3)用例设计

                验证项目是否符合需求的操作文档

        (4)用例执行

                项目模块开发完成,开始执行用例文档实施测试。

        (5)缺陷管理 

                对缺陷进行管理的过程

        (6)测试报告

                实施的测试结果文档

6.测试用例

 6.1.什么是用例?

        用例户使用的案

  1. 是否能开机:打开手机按下电源键3秒钟,看是否能开机。
  2. 验证内存:打开手机设置查看内存是否为64G
  3. 验证屏幕:打开手机在白屏背景下是否有黑点
  4. 检查运行速度:打开手机下载吃鸡游戏,是否运行流畅

 6.2.什么是测试用例

        测试用例:为了 测试项目而设计的执行文档                 测试人员一定要按照这文档来测试。

        问:没有文档就不能测试吗?

        答:肯定能测试,有测试文档是为了防止漏测

6.3.用例的作用

        1.防止漏测

         没有文档也能测,但一定会存在漏测。

        2.执行测试的标准

         如果测试只是为了测成功或失败,那程序员测就行了。测试人员还要关注体验感,从用户角度出发去测试软件,是一个综合性的测试标准。

6.4.用例编写格式

        用例编写的格式,我们简称为8大要素:

        (1)用例编号

               用例的唯一标识符。

                 格式:项目_模块_编号

        (2)用例标题

                该用例测什么东西(是比较难写的一个要素,要让评审看明白我们有没有覆盖测试点)。

                 格式:预期结果(测试点)

        (3)项目模块

                 该用例所属的项目或模块

        (4)优先级

                执行的优先级

                表示用例的重要程序或影响力:P0~P3(P0最高,是指核心功能,用户常用的功能

                P0:核心功能测试用例(冒烟测试),确定此版本是否可测的测试用例,此部分测试用例如果fail会阻碍大部分其他测试用例的验证。

                P1:高优先级测试用例,最常执行以保证功能性是稳定的。基本功能测试和重要的错误、边界值测试。

                P2:中优先级测试用例,更全面的验证功能的各个方面,异常测试,边界、中断、断网、容错、UI等测试用例。

                P3:低优先级测试用例,不常被执行,性能、压力、兼容性、稳定性、安全、可用性等等。

        (5)前置条件

                 要执行此条用例,有哪些前置操作

        (6)测试步骤         

                 描述清楚执行测试的每一个步骤

        (7)测试数据

                 执行测试中使用到的数据,没有可以为空

        (8)预期结果

                 期望的达到的结果

        问:可以写6大要素、7大要素吗?

        答:可以,但测试不完整

6.5.用例测试

 需求:QQ登录(4条)

  1. 账号为空
  2. 账号未注册
  3. 密码为空
  4. 密码错误

测试用例:

 

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值