“自动化测试是开发生命周期不可分割的一部分。”
在android应用程序proejcts中,我们实现了MVP、Rx和Retrofit以及内容提供者/SQLite、dagger。每个android应用程序都会有服务器通信,将数据存储在本地数据库中,复杂的ui,如导航抽屉和回收器视图等,以及难以导航的应用程序流程。
我们想要实现什么?
基于以上,有几个问题,
(可以随意改进检查列表,因为我们不知道android移动应用程序SDLC中测试模块的最佳实践。)最初是这样问的,这里。
发布于 2017-03-28 20:21:49
对你的问题的一些回答:
- unit is for basic code validation, so yes to that, always. that's just basic dev efficiency 101 there. high code coverage helps you catch bugs early.
- integration: yes, and depends on how complicated your app is, but testing the app with/without dependencies helps isolate who's at fault when test fails.
- functional tests (UI tests): yes, simple interactions or complete workflow, but it's about how your users work with your app. some functions of the app can't be tested without going through a set of other steps. again, align with actual usage and business expectations. map your amount of work here to reality, usage metrics, impact on revenue, etc.
- performance: this is hard, and there are different schools of thought. what we see is that performance 'checks' along the way are necessary, but full performance testing cycles often impede development unless there's a high degree of maturity and process in the team/org.
- regression: don't leave regression to a huge task towards the end! smaller sets of regression informed by the changes you've made help to reduce the number of defects caught in late-cycle regression testing. earlier means smaller, and don't forget that we're dealing with a very fragmented Android ecosystem so multiple devices/platforms/conditions needs to be included in regression strategy!
此外,虽然我完全理解你的说法“不能自动测试,因为无论什么原因”,我认为这是一个巨大的红旗和细节非常重要。自动和手动的选择应该是关于如何实现速度目标的商业决策,而不是关于技术限制和缺陷的选择。我一直从客户那里听到这样的话,直到他们意识到,正确的技术使他们能够达到适合他们的自动化水平。
我今年协助了两项研究,我认为这些研究将有助于这次对话:
希望这个和我上面的研究对你的工作有帮助。
https://stackoverflow.com/questions/43066372
复制相似问题