//这比现在更多的是待办事项清单
简介
文本输入
其他输入(复选框,交换机,相互排斥的控件)
错误管理(例外,崩溃,警报,显示错误)
导航(推,弹出,选项卡,模态,屏幕旋转)
背景(保存状态,跳板卡)
连接性(WiFi,慢速,2G,3G,4G,间歇性,零字节,离线,平面模式)和硬件连接性(USB,NFC,蓝牙,WiFi)
本地化(文本和图像的本地化,在电话语言与应用程序语言与当前区域的各种设置中)
中断(接收的呼叫,呼叫已接听,发送/接收SMS,电源周期,重新启动,发送/接收通知,警报,低内存,内存,主屏幕,开关应用程序,平面模式,停止存储):应表示应用程序可以停止,暂停,暂停,并在正确的状态下在正确的状态下恢复到正确的状态,并在正确的状态下恢复或均值。从通知中回答应用程序。
存储(在正确的位置正确存储,没有风险的情况)
Security ( Is your application storing payment information or credit card details? Does your application use secure network protocols? Can they be switched to insecure ones? Does the application ask for more permissions than it needs? Does your application use certificates? Does your application use a Device ID as an identifier? Does your application require a user to be authenticated before they are allowed to access their data? Is there a maximum number of login attempts before they are locked out? Customers' Payment data security Network protocols security for running applications违反应用程序的安全性和错误报告对应用程序证书进行身份验证和权限自动应用程序锁定时锁定无效时锁定)
可访问性(软件按钮,缩放,字体大小,文本到语音...)
性能(电池使用情况,CPU使用情况,内存使用率(和泄漏),存储(磁盘与卡)管理,响应能力,屏幕尺寸,启动应用程序的时间,在启动屏幕上的时间,重载屏幕 /您应扩散负载,连续键的键)应以良好的及时及时及时进行。
背景工作(在主线程之外进行工作以不阻止UI,但是当应用程序为“空闲”或背景时,电池/数据/等时也没有大量工作)
集成(相机,GPS,蓝牙是否可以与应用程序正常工作)
向后兼容性,硬件兼容性:如果可能的话,请检查所有设备的所有版本。应用必须是可安装且完全可用的(除非该设备上没有功能)
图像:正确的所有设备和方向上的尺寸和重量。没有伸展,没有像素化,不太高清,等等。
社交:可用安全和隐私政策,用户可以注销或选择退出。提示用户在赋予权利以及所说的事情(帖子/股票/喜欢)时会发生什么。
广告(在应该时显示/隐藏,显示适当的内容)
时区:远程呼叫/时与电话时间与当前区域时间=>到处使用UTC
商店:仅在您想要/需要的商店(iOS AppStore,PlayStore,Android Market等)可见应用,并且仅在兼容设备上可见。平板电脑应用在智能手机商店中不可看到。商店页面是最新的版本更新,描述,名称/号码,在发布前已通知的测试仪,
预先释放支票 /预先商店支票(以便商店审核应通过)
应用程序图标均以所有必需的格式使用;商店图标可用;所有应用程序图像均以所有格式(1x,2x,3x等)提供
操作系统兼容性,交叉图表兼容性(它在iOS / android / Windows电话上有效吗?)
版本兼容性:它在iOS 9、10、11、12中是否有效?测试您的目标以及您应该支持的所有版本
它在所有版本上的所有设备上都可以使用吗? :iPhone,iPad,iPhone X,iPhone#以及Android(Omegalul)
方向(在所有设备尺寸上,所有方向上的错误消息,视频,飞溅,导航和常规屏幕)
声音(到达后台时停止?继续前进?显示通知吗?在控制中心 /远程播放器中可控)
通知(当他们应该时发送,有钱吗?深链接?修改徽章?读取应用时徽章更新本身?读取应用程序?特定于平台特定 /特定的平台。更多地查找@pushwoosh以获取示例)
手势
//我不想忘记的实际待办事项清单
这是关于什么?这是关于对您的应用程序进行彻底,完整的测试。此列表将包括您应该测试的尽可能多的元素。您可能已经测试过的许多,有些您可能没有考虑过。这是关于检查所有盒子,要么验证您确实确实测试了X&Y的事实,但是您也决定忽略Z。清单的许多元素可能不适用于您,因为您的应用程序没有该特定功能或不使用特定技术。您可能还只想出于任何原因跳过一些测试,这很好。这取决于您找出答案和决定;只要您做出决定,就意味着您已经阅读了列表,接受了(非)测试的价格和后果,并且可以进行!
如果您考虑自己的项目,您可能会蒙上眼镜。程序员或所有者的盲人是最糟糕的,因为您知道该应用程序应该做什么,并且不可避免地会在这些范围内进行测试。用户可能不会以您的想象方式使用您的应用程序,这将是一个UX问题。我们只是在这里进行测试,确保您的应用程序离线工作,电池电量低,或者当拒绝实际需要的访问权限时。在所有这几周的测试中,您可能会做一些用户可能会理所当然的事情。这主要是关于“框外思考”,或者我想称之为:作为测试人员做的最佳工作。
这是一条相当著名的推文,说明了我的意思。
质量保证工程师走进酒吧。点啤酒。订单0啤酒。订单99999999啤酒。命令蜥蜴。订单-1啤酒。订购sfdeljknesv。
- Bill Sempf(@SEMPF)2014年9月23日
这很有趣(或者至少我喜欢认为是),这是真的。这个简单的示例说明了在您的应用程序中检查的许多内容。
整个列表看起来很不知所措,这是正常的。我希望它尽可能完整。就像我之前说的,关键是要通知您许多可能性。由您决定是否值得对您的特定情况进行测试。只要您做出决定并意识到这一点,这是您的决定,或者不是您的决定。这就是此列表的重点。
您可以随心所欲地使用此列表,因为只要您使用它,就可以提高要运送的软件的质量。您使用该列表的事实远比您使用该列表更为重要。这可能是一个彻底且定期的演练,预发行清单,甚至像上床睡觉前快速阅读一样简单。只要您阅读并知道它在那里,它将以某种方式有用。
快速但非常重要的是,请记住,可以使用经典的单元测试和UI测试进行许多测试。这应该已经涵盖了要测试的绝大多数重要要素。如有必要,其余的可以手动测试。这意味着您可以编写测试套件并在应用程序中的各个地方使用它,以确保长期稳定性。手动测试所有这些将是一场噩梦;如果您不知道如何编写单元测试或UI测试,请查找。那里有很多东西可以为您节省大量的时间,金钱,并避免手动测试所发生的折磨。
我主要是单独写这篇文章,我获得的唯一帮助/灵感是从浏览互联网(请参阅下一章,ID)上的各种主题。可悲的是,我受到自己的知识和经验的限制,这意味着,您亲爱的读者,拥有很多经验的领域中肯定缺少了很多内容。这就是Github到位的地方。您可以自由要求提取拉动请求,修改我的内容或添加自己的内容。我将在社区的帮助下对其进行审查,并尽我所能验证它。诸如安全性,加密,网络之类的东西,这些领域是我缺乏最多的领域。考虑到我是一个普通的乔,这可能是大多数人缺乏技能的地方,而您的应用程序也最脆弱/缺乏。这意味着这些区域(您不在弱的领域)必须进行三倍检查,您绝对应该在上面额外关注!
其他贡献 /表示感谢的方式将是以下内容:
毕竟,我花了很多时间为您节省所有时间,这一定值得上述:D
最后,我要感谢迈克尔·亨特(Michael Hunter)的惊人清单,这启发了我围绕移动开发(iOS,android,Windows Phone)启动自己的清单。看起来确实花费了很多时间和精力,该列表的版本甚至不是第一个版本。那是一件很棒的工作,如果您不在手机之外,我强烈建议您去检查一下。我唯一的希望是,有一天,获得类似质量的清单。从那里开始,我在互联网上找到了多个清单,其中大多数非常不完整,但是脱颖而出的是David Dias的前端清单,这也以许多方式启发了我以改善自己的自己。请,也去看看他,这是值得散布的工作!
文本输入有多种口味,大小和用例。显然,您不会像对待另一个字段那样对待password字段,并且有许多具有不同目的的字段。此列表应涵盖所有列表,或者至少其中大多数。测试您的输入将通过多个方面完成。您需要确保验证在逻辑和UI中起作用,文本场会处理各种压力和输入,并且该格式效果正常。所有这些人最终都应该为您提供一个工作的文字场。
如果您在验证文本输入时尚未处理以下所有输入和情况,那么您尚未完成。请注意,这些也适用于大多数其他输入类型(密码,电子邮件,数字等)。如果您要处理任何类型的字符串输入,请考虑以下列表以及相关列表。
aBCd 1234 #@ !? ;) $= § :grinning: or :-)还是?或U+1F60A 123 t , " ,... string.Empty null如果您尚未尝试通过以下方式输入数据,那么您尚未完成:
这仅适用于您应用程序的一个屏幕中的一个文本输入。在整个应用程序中,您应该彻底验证每个文本输入字段。而且这甚至没有提及输入格式,例如在输入之间自动添加空间,或者强迫某些字符被涂色或更改为大写。
如果您尚未对所有输入进行彻底测试,那么您还没有完成
0 13.37或13,37 (请注意分离器,具体取决于区域!) -1337 10^20 "124" 12.23 vs 12,23 10.234,96 vs 10,234.96 13.37 € vs € 13.37 13.34而不是13.3389 13.00或仅13 ,或者完全是其他东西? 4000而不是3999.99 ,还是可以键入4000.56 ? 12345变为0,12345或,12345还是其他?它是否重新格式为0,12 ? 234940范围-1000 -1 , 0 ) 如果您尚未对所有电子邮件输入进行彻底测试,那么您还没有完成
@角色@字符.特点. , - , _等) ù , à等。 如果您还没有完成
如果您还没有完成,您还没有完成
如果您还没有完成
如果您还没有完成
如果您还没有完成
输入并不总是以形式的文本,人们还可以通过其他方式给出他们的输入。因此,还有其他方法可以忘记东西!
如果您还没有完成
如果您还没有完成
如果您还没有完成
如果您还没有完成
错误管理是一个身体健康的应用程序的支柱。它将帮助您跟踪问题(其他工具也将有所帮助),因此可以修复错误。但是,您不希望这是您的用户及其对应用程序的体验的障碍。在良好的UX,错误跟踪和通知用户之间已经出现问题之间有一个很好的平衡。
如果您还没有完成
如果您还没有完成
如果您还没有完成
如果您还没有完成