android+测试基础
来源:互联网 发布:六角碎片游戏源码 编辑:程序博客网 时间:2024/06/06 04:13
业务流程
企业里开发流程和测试流程是同步的
测试流程:瀑布式测试和敏捷式测试
开发流程:瀑布式开发和敏捷式开发
瀑布式的基本概念:就是在老板提出需求以后,产品吧所有原型图做出来以后,同时需求通过,这个时候一个基本的版本就已经出来的,接下来UI会把效果图做出来,再开会审核一遍,审核完成以后合格,开发开始开发,如果不合格UI继续修改,直到合格为止。在开发的同时我们开始写自己的测试用例,,当人家开发完成我们就可以根据测试用例去测试: 最后上线
好处 :
1: bug 比较少,重大bug不可能发生,比如奔溃,因为留给开发的时间比较充足,开发基本会自测这些bug都测试出来
2.开发出来的产品质量高,体现在效果和用户体验好,代码封装比较好,一般反人类设计都不会出现,
3.开发和测试对产品的业务逻辑逻辑的比较透彻
缺点:
现在企业一般采用的都是敏捷式开发: 因为效率高,时间短,对市场的反应比较快:一般情况下都是通过版本迭代的方式进行开发,不断的完善我们的产品,这样企业风险比较小,
一般情况下: 产品首先在第一版会出个1.0 版本: 只要有基本的功能,能够使用就可以, 当第一版本上线以后再开始迭代,基本上每隔一周或者几天就要迭代一次,这就是敏捷式开发,所以我们只能敏捷式测试:
在敏捷式开发的时候我们测试需要: 首先把新增的功能系统性的测试一般,保证我们新增的功能没有任何问题,除了对保证新增的功能没有任何问题以后,我们需要进行回归测试,使用的测试流程就是瀑布式;以保证我们的产品不会在新增功能的时候把以前功能改错了.
但是如果产品已经迭代了很久,我们进行回归测试可能需要大量的时间进行回归测试,有可能开发开发了3天,测试需要的时间比三天还长,因为我们除了测试新增的功能以外,还需要对以前的功能进行系统性的测试, 这个时间我们就可以通过我们的自动化来提高我们的效率:
比如: 在开发完成1.0 以后,在开发进行版本迭代的时候,这段我们空闲下来的,我们可以把以前的1.0的功能点写成脚本,当1.1版本发布出来以后,我们只需要对新增的功能进行功能测试,以前的老功能直接和我们同步进行自动化测试,自动化测试覆盖不到的我们在进行手动测试, 所以我们写自动化脚本的目的就是为了在进行功能测试的时候为我们的功能测试提高效率:
所以一般黑盒测试至少测试三方面:
白盒测试需要测试结构和类:
比如: 上拉加载下拉刷新代码业务逻辑是不是复杂了,看看登陆的接口提交的数据密码有没有进行md5加密,别的数据有没有加密方式加密一下
软件生命周期:
1: 问题的定义及规划
此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
其实在公司里面这个角色的扮演者老板,比如老板有对市场的需求,那老板就是开发方,市场用户就是需求方,在一般的公司里,问题的定义及规则就是老板出需求,找开发,测试,设计,产品,后台来讨论老板的构思是不是符合市场需求,同时这个产品技术能不能实现
2:需求分析:
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析
这里就是开发进行代码的开发
5: 软件测试
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。
对单元测试理解:
如果你是功能测试做黑盒的,单元测试就是一个模块一个模块的测试,最后把所有以的模块加一块就叫做集成测试,最后系统性的测试一次,叫系统测试
灰盒测试也是一样的,但是如果你同时写自动化脚本的,我们可以把每一个模块写错一个单元测试,这也个也叫单元测试,将单元测试加入到测试套件里面,这个测试叫做集成测试,最后所有的都加入进来叫系统测试,
白盒测试: 除了对功能点进行测试以外,还要对类进行单元测试,这个也叫单元测试
6:运行维护
在企业里面其实就是进行版本迭代,不停的进行维护
bug 生命周期:
首先知道bug的管理工具有 禅道,jair,bugfree 这都是bug管理工具:
创建bug ------------ 修改bug ------ 验证bug =--------- 关闭bug 这就是最基本的生命周期
在提bug的时候会遇到如下问题:面试长问:
首先确定这个bug是什么类型的,如果是自己项目的里面的bug,而且还影响主要功能的使用,绝对不可能延期,如果是第三方原因造成的bug,比如分享每个平台是不一样的,这样的bug是可以延期处理的,但是所有延期的bug,必须通知项目经理,只有项目经理同意延期,才能延期,不然是不能延期的.
开发说这个bug是外部原因造成的:
分为三类: 致命缺陷,严重缺陷,一般缺陷
致命缺陷: 造成系统程序奔溃,死机,系统悬挂,数据丢失,以及主要功能完全丧失都属于致命缺陷
严重缺陷: 只功能或者特征没有实现,只有功能丧失,或者由于别的功能不能使用,而造成主要流程走不通的
一般缺陷: 这样的缺陷虽然不影响系统的正常使用,但是没有很好的实现功能,没有达到预期的效果。eg:次要功能丧失,提示信息不太正确,或者用户界面太差,操作时间长等。
一个按钮点击没反应,如何判断是前端bug还是后端bug:
首先一般我们采用灰色或者白盒测试,灰盒测试主要通过 fiddler 抓包,当点击按钮那一刻,通过fiddler看看有没有进行网络请求
,如果没有进行网络请求说明是前端bug,有可能是前端没有调用网络请求的方法,
如果进行了网络请求,但是没有返回数据,那就是后台bug
,如果进行了网络请求,而且数据也正确返回,那就是前端bug,
如果进行了网络请求,返回数据不对,那就是后台bug
你测试的时候需要哪些文档或者资料:?
首先测试需要的资料: 需求文档,接口文档,产品原型图,UI效果图,开发规范文档
- Android 测试基础
- Android App测试基础
- android+测试基础
- Android测试教程(2):测试基础
- Android测试教程(2):测试基础
- android+测试基础4测试策略
- android+测试基础6 移动测试分类
- android+测试基础8+测试策略模板
- Android测试(基础篇)
- Android测试基础整理篇
- Android基础之----junit测试
- Android Money测试基础一
- Android基础学习:Junit测试基本配置
- android基础--eclipse Junit的功能测试
- android+测试基础2VWXH模型
- android+测试基础3(基本知识点)
- android+测试基础5 bug相关基础知识
- android+测试基础7+禅道的基础
- 整理:C++中sprintf()函数的使用详解
- 贪心算法练习笔记(一)
- 随着文字内容增加,div的高度也跟着增加,并且文字自动换行
- 项目中遇到问题
- SharedPreferences工具类
- android+测试基础
- 微信支付 java 服务端demo (v3版本app支付 springMVC框架中)
- Javase—异常处理
- ThreadPoolExecutor源码分析
- improved GAN Part1
- 双核浏览器默认使用ie模式打开(兼容模式)
- centos7(三节点)搭建ceph环境
- MyBatis通用dao和通用service
- ANR分析思路简析