发表于: 2018-09-26 21:58:53

1 871


今天完成的事情:

完成了任务三
明天计划的事情:

提交一下任务三,画个脑图
遇到的问题:

没有
收获:

支付流程:
1:正常的发起一笔流量充值请求,检查点:
1)用户发过去的信息有携带key值 
2)商户系统本地数据会留存一份用户的订单信息,并且会根据每笔订单信息生成一笔支付信息(同时留存到本地)
3)第三方支付成功,第三方有存支付订单信息 
4)充值成功,用户的流量余额有对应增加
异常用例
1、修改用户发过去的数据: 
1)产品ID 与价值不对等---->检查点:篡改数据和key,检查商户系统报错:key值不对或者是用户数据有误。 
2)取消充值流量  
3)重复发起流量充值请求
2、商户系统-第三方之间:
1)密钥搞错-第三方报错,不接收密钥
2)提交商户系统里面不存在的订单/支付订单->第三方这里也是不能通过请求
3)篡改用户支付金额-->第三方也要检查
3、第三方--用户之间:
1)支付密码错误/余额不足 
2)取消支付 
3)重复支付[对账--->处理退款]
退款流程
正常的用例:
1.用户发起退款--->该用户的订单以及支付订单号都要存在。---检查点:商户系统/第三方检查数据没有问题,可以退款成功--->交易状态改成退款
异常用例:
1:无故发起退款:提交不存在的订单号或者支付订单号 --->订单号不存在/支付订单号不存在
2:信息不匹配发起退款:提交订单号与支付订单号不匹配的数据--->订单号/支付订单号有误
3:退款大于实际金额:提交的退款金额大于实际支付订单的金额-->商户系统要报错

4:商户系统这里发过去的请求:退款金额大于实际支付金额-->第三方要报错


二八定律,相当于接一个项目的时间的20%的时间找出80%的页面上一些颜色错误字样,按钮,跳转,的一些小bug 然后花80%的时间去找到那些20%的大bug

1.80%的工程活动是由20%的需求用掉的。
2.80%的软件成本是由20%的构件用掉的。
3.80%的缺陷是由20%的构件引起的。
4.80%的软件废品和返工是由20的缺陷引起的。
5.80%的资源是由20%构件用掉的。
6.80%的工程活动是通过20%的工具完成的。

7.80%的进展是20%的人完成的。


进行app性能和安全性测试的重要性
如何让用户感觉App运行速度更快呢,这需要对App进行性能测试。限制App性能的因素按照App的系统结构分为App自身和App需要用到的后台服务。
测试App连接网络的速度
一般采用在模拟Mock环境下进行测试,测试方法更多使用的是在App的log中添加时间戳的方式计算时间,例如使用Apple公司提供的iPhone Configuration Utility中Devices的Console查看App的log。
测试App在不同网络速度下操作的流程程度
测试可以使用在App的log中添加时间戳方法验证,也可以通过使用App的直观感受来验证App性能带给用户的体验。
测试App对于前台页面渲染的性能
测试可以使用在App的log中添加时间戳方法验证,也可以通过使用App的直观感受来验证App性能带给用户的体验。特殊的是,当App中使用WebView,测试人员可以快速地刷新当前页面或者在使用WebView的页面间进行切换,来验证App是否有性能问题甚至发生崩溃。
测试App操作数据库的性能
iOS操作系统在设备本地存储App数据时使用的是CoreData或者SQLite数据库;Android操作系统在设备本地存储App数据时使用SQLite数据库。如果操作的数据量很大,便有可能出现App的性能问题,此时App测试就很重要,对数据库操作的功能进行大数据量的测试。测试人员也可以和开发人员一起,遵照Web端数据库优化的一些原则,如数据库启用事务,使用索引,数据的批量操作等优化方法,提高数据库的性能。
测试App的会话session是否有过期设置
对于App的会话session是否有过期设置的测试,可以在App运行中切换到别的App或者桌面一段时间,然后再次进入App,看App是否需要输入密码等验证信息。值得注意的是不同App的合理session过期时间不一样,测试人员需要和产品经理、开发人员等确认之后制定出合理的测试用例。
测试App请求中是否包含了明文的用户信息
包含了明文的信息,如同App中标示用户应该使用UUID或GUID等转码后的信息,而不是直接的用户电话号码或账户信息,当然更不应该明文传送这些信息。测试人员可以使用Apple的iPhone Configuration Utility,Android SDK自带的DDMS,Charles和Fiddler这些工具来监控App发送的请求。
测试App的请求是否加密
一般App请求可以使用HTTP,但是关系到用户敏感信息的请求,需要使用HTTPS等加密传输。
测试SQLite数据库的存储是否安全
测试人员可以通过ADB连接到root的Android蛇别,并使用SQLite来查看具体的数据库保存的信息。显然,把用户实际的登录信息明文存储在数据库文件中是不安全的,最好不要存储,如果必须存储,最好对这些信息加密后再存储。
测试App使用WebView的安全性
由于WebView的请求和在Web端请求数据是一样的,所以任何适用于Web端的攻击方式和漏洞对于WebView来说都是通用的




返回列表 返回列表
评论

    分享到