许多App和后台服务都是通过HTTP来交互的,正常情况下都一切正常。为什么需要测试HTTPS环境?在一些免费上网的环境中,例如在麦当劳、星巴 克里,它们的网络环境都要输入用户名和密码,通过SSL认证来访问网络。如果你使用HTTP Client的library对这种异常没有做捕获处理,那么你的App必定会崩溃掉。
3)、进行网络异常、服务器宕机或出现404、502等情况下的测试
后台服务的稳定性是你有时很难去控制的,尤其是牵涉到DNS、空间服务商的情况下。国内某著名DNS服务商经常出现大规模域名解析故障,碰到这种情 况,你对后台API的请求很可能就会出现404错误。而你和API交互的数据应该是某种固定格式例如JSON和XML,这样你的数据解析必然会出现错误, 抛出异常。如果你对异常没有进行正确的处理可能会导致程序不能正常工作。
以下用伪代码解释一下逻辑:
try {
if(request() == success) {
callSuccess();
} else {
callFail();
}
hidePopup();
} catch(e) {
// do nothing, just wait….now popup window will show forever on the screen!!!
// if it is a iOS app, the popup window will lock the screen
}
10.接口性测试
1.client端和service端的交互
2.client端的数据更新和service端的数据是否一致
3.client端更新时断开了。
4.client端更新时service端挂了。
11.业务逻辑测试
1.业务逻辑测试:主要测试客户端业务能否正常完成。
2.功能点测试:主要测试客户端功能点是否正常使用
3.关联性测试:主要测试客户端与pc端的交互,客户端处理完后,pc端与客户端数据一致
12.移动App崩溃的测试场景
1 验证在有不同的屏幕分辨率, 操作系统 和运营商的多个设备上的App行为。
2 用新发布的操作系统版本验证App的行为。
3 验证在如隧道,电梯等网络质量突然改变的环境中的App行为。
4 通过手动网络从蜂窝更改到Wi-Fi ,或反过来,验证App行为。
5 验证在没有网络的环境中的App行为。
6 验证来电/短信和设备特定的警报(如警报和通知)时的App行为。
7 通过改变设备的方向,以不同的视图模式,验证App行为。
8 验证设备内存不足时的App行为。
9 通过用测试工具施加载荷验证App行为。
10 用不同的支持语言验证App行为。
13.输入项测试
1.植入的单引号。大多数基于SQL的数据库系统在用户存储包含一个单引号的信息时会出现问题,例如John’s car。每一个可以接受文字数字型数据条目的屏幕都要试试输入包含一个或多个单引号的文本。
,其实不只是单引号,基本上测试人员应该测试所有的特殊字符和空/空格(单纯的空格和文本前后的空格)。单引号,逗号,/,(对于web的应用程序)都是很容易引发错误的。
2.必需输入的数据条目。功能说明书上应该清楚的指出屏幕上必须输入数据条目的字段。测试屏幕上每一个被说明为必须输入的字段以保证它强制要求你在字段中输入数据。
对于强制输入的字段,在屏幕上最好有些标识以说明其为必须输入的字段。一般在字段前或后用红色的*号表示。测试时必须要检查有标识的字段是否和功能说明书或其他参考文档一致,错误信息提示是否正确,强制输入的字段是否真的必须输入。
3.字段类型测试。功能说明书上应该清楚的指出要求特定数据输入要求(日期字段app安全性测试点,数字字段,电话号码,邮编等等)的字段。测试屏幕上每一个被指出有特定类 型的字段以保证你输入了基于字段类型的符合正确格式的数据(数字型字段应该不允许字符或特殊字符,日期型的字段应该允许输入一个正确的日期等等)
其实这里还有一个字段格式和字段内容的测试。有些字段对输入的格式有要求,这些字段的格式一般在屏幕上也有相应的提示。所以在测试时需要 测试提示的格式是否合理(和功能说明书或其他参考文档相一致)以及系统是否正确识别输入的格式。有些字段对字段的内容有限制,如常见的用户名,不能包含特 殊字符app安全性测试点,首字不能未数字等要求。所以在测试时需要测试提示的格式是否合理(和功能说明书或其他参考文档相一致)还有不符合内容要求的数据输入时系统是否正 确的处理。
4.字段长度测试。功能说明书上应该清楚的指出可以在字段中输入的字符数(例如,first name必须是50个或更少的字符)。写测试用例以保证你只可以输入特定的字符数。防止用户输入比允许范围更多的字符比因用户已输入过多的字符而给出的错 误信息更加的文雅些。
一般对于限制长度的字段,现在开发大多采用限制输入的方法(设置字段的长度)来处理。所以测试时需要测试限制的长度是否合理(和功能说明 书或其他参考文档相一致),对于没有限制长度的字段,要测试无穷输入时是否出错,有问题报bug时建议开发人员根据需要限制长度。
5.数字型的边界测试。对于数字型的字段,测试上下边界是非常重要的。例如,如果你正在计算某个账户的利息时,你永远不会输入一个负的利息数给应该赢取利 息的账户。因此,你应该尝试用负数测试。同样,如果功能说明书上要求字段在某一个特定的范围(如从10~50),你就应该尝试输入9或51,它应该给出一 个得体的信息表示失败。
边界值的测试同时,最好结合等价类以及一些特殊数字进行开展,如这里面的负数,虽然账户利息永远不会出现负数,但是如果系统中一旦输入负数,系统就崩溃,那么这样的系统对于客户来说也是非常危险的。
6.数字的约束测试。大多数数据库系统和编程语言允许数字条目被识别为整数或长整数。通常,整数的范围是从-32,767~32,767,长整数的范围从 -2,147,483,648~2,147,483,647。对于那些没有特定边界限制的数字数据条目,用这些限制测试以确保不会出现数字的溢出错误。
小数型的数字字段同样也需要格外的测试。一般对于未指出数字类型的字段,尝试输入负整数,负小数,0,正整数,正小数进行测试。
不管是哪种数据库系统,对于数字一般都有多种数字类型。所以测试人员一定要测试的全面。
7.日期边界测试。对于日期型的字段,测试上下边界是很重要的。例如,如果你正在检查一个出生日期的字段,很大可能出生日期不能早于150年前。同样,出生日期应该不是将来的某一天。
一般来说,每种数据库系统的日期都有个范围,如SQL Server最小日期是1753年1月1日,所以如果是输入型的日期字段同样也应该测试早于1753的日期。
8.日期的有效性。对于日期字段,确保不允许无效的日期是很重要的(04/31/2007是一个无效的日期)。测试用例也应该检查闰年(每个第4年和第400年是一个闰年)。
9.web会话测试。很多的web应用程序依赖浏览器的会话来追踪已登录的用户,应用程序的设置等等。应用程序的大多数屏幕不被设计为没有首次登录就可以被运行。应用程序应该确保在打开应用程序的某一页面之前会话里有一个有效的登录。
14.app 功耗、流量测试
针对app对手机电量、流量方面损耗情况的测试
1.功耗测试主要测试app使用过程中耗费电量情况的测试,主要依据一些主流app的功耗作为对照参数
2.流量测试:检测app对流量损耗问题,主要依据一些主流app的流量损耗作为对照参数
版权声明
本文仅代表作者观点。
本文系作者授权发表,未经许可,不得转载。
发表评论