第五章 手工测试之APP项目
一、APP概念
APP应用系统架构
用户==》客户端应用《=http/json/xnal=》web服务器《==》数据库访问《=SQL=》数据库
相同点
'''
1、APP和web使用的后端服务器是相同的
2、前后端都使用HTTP协议进行交互
'''
不同点
'''
1、APP是C/S结构,web浏览器是B/S结构
2、APP前后端交互的数据格式以json为主,web前后端交互的数据格式以HTML为主
'''
二、APP项目环境
一般公司内部开发、测试人员会使用不同的环境,以隔离工作过程中彼此之间的干扰。同时,上线给用户使用的产品也会单独部署环境。
1.开发环境
指开发人员进行开发时调试运行的环境
2.测试环境
提供测试人员使用,用于测试人员执行测试,回归缺陷
打包提测
'''
ios:IPA测试包
android:APK测试包
'''
内侧发布平台
'''
蒲公英
fir.im
'''
3.预发布环境
这个环境中,一般会连接生产环境的数据库,使用生产环境的数据来进行测试。
4.生产环境
指正式提供对外服务的环境,产品的实际用户使用的环境
5.灰度发布
'''
预发布环境过后,正式发布生产环境之前,一般会进行灰度发布。
由于一个项目,一般线上部署时有多台机器运行,所以灰度1台至三台,看看新功能是否0K,如果失败则只需要回滚几台,比较方便。
注意点:
一般情况下 切一小部分流量
验证时间一周至一个月之间
如果运行无问题,在某个流量少的时刻,不停机更新服务器环境
如果运行有问题,尽快定位问题,并修复问题;如果问题比较严重,需要回滚代码,保障线上用户正常使用
'''
6.前台发布生产环境
线上发布平台
'''
IOS: appstore、itools
Android:豌豆荚、360、 各大手机厂商的发布平台等。
'''
线上发布流程
'''
Apk/ipa测试完成
提交应用市场审核
添加渠道号
渠道包测试
正式上线
'''
7.发布平台
内侧发布平台
'''
蒲公英
fir.im
'''
线上发布平台
'''
IOS: appstore、itools
Android:豌豆荚、360、 各大手机厂商的发布平台等。
'''
三、互联网行业
1.行业特点
'''
以快吃慢
追求创新
需求高度不确定性
'''
2.产品开发特点
新需求、新方向
3.降低项目风险,确保正确的方向
快速的反馈机制、快速试错
4.结论
'''
移动互联网行业发展速度快,
需求不断变化,
产品更新迭代的频率高
'''
四、敏捷开发
1.概念
'''
敏捷开发以用户的需求进化为核心,采用迭代,循序渐进的方法进行软件开发。
即将项目切分为多个子项目,每个子项目单独发布,保证软件较早可用
及时收集用户反馈,调整未发布的项目,满足用户的实际需要
代表性的敏捷开发模型:scrum
在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视,可集成和可运行使用的特征。
换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
'''
2.框架模型
敏捷实践
'''
精益
看板
Scrum
XP极限编程
水晶
DSDM动态系统开发
FDD功能驱动开发
AUP敏捷统一过程
OpenUP
'''
敏捷原则(12条)
'''
1.最优先要做的是尽早、持续地交付有价值的软件,让客户满意。
2.欣然面对需求变化,即使在开发后期。敏捷过程利用变化为客户维持竞争的优势。
3.频繁地交付可工作的软件,从数周到数月,交付周期越短越好。
4.在团队内外,面对面交谈是最有效,也是最高效的沟通方式。
5.在整个项目过程中,业务人员必须和开发人员每天都在一起工作。
6.以受激励的个体为核心构建项目。为他们提供所需的环境和支持,相信他们可以把工作做好。
7.可工作的软件是衡量进度的首要标准。
8.敏捷过程倡导可持续开发。
9.坚持不懈的追求技术卓越和良好的设计,以此增强敏捷的能力。
10.简单是尽最大可能减少不必要工作的艺术,是敏捷的根本。
11.最好的架构、需求和设计来自自组织的团队。
12.团队定期反思如何提升效率,并依此调整自己的行为。
'''
参考:https://blog.csdn.net/hb5cn/article/detail