测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的。测试是开发团队的一支独立的、重要的支柱力量。
测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具。没有独立性,就没有一切。
测试要有编程能力,测试独立性必然要求测试要有编程知识,要懂代码(能看代码,会写代码),代码是开发团队的沟通利器!
能看代码,就可以直接看开发人员写的代码逻辑,有点 Code Review 的意思了;
会写代码,测试自动化就不是问题。
如同业务功能测试是测试的基本能力一样,自动化测试也正在成为测试的基本能力。在深刻理解需求的基础上,自动化脚本测例要能体现如同文本测试用例的基本编制要求精炼表达、主次分明、渐进可用。
测试分类
前端App功能以手工测试为主;App功能测试以手工为基础,可以继续实施以测试用例为核心的策略。前端重在交互和展现,所以功能逻辑和 UI 测试必不可少。
前端App性能以工具测试为主;对于App,则要使用工具进行性能测试,性能在用户体验中是蛮重要的,而性能的改善需要开发长期的努力。要不断发现、开发和学习使用各类工具,以帮助我们更有效率地完成任务。开发工具时鼓励使用 PHP 和 Python来实现。
后端接口拟全部实现自动化测试;对于服务端提供的 HTTP 接口,建议使用 PHPUnit 技术实现自动化测试。PHPUnit 不仅仅可以用来进行接口测试,其本意是基于代码的单元测试。开发人员应当使用 PHPUnit 对重要的类和组件进行充分测试,切实提升拟交付测试的API接口的质量。
敏捷开发条件下,迭代模式使得代码量逐步累加,越靠后的迭代我们所面临的整合测试压力、测试任务就越大。敏捷测试需要测试人员能够随时启动自动化的回归测试对马上发布的迭代代码进行快速验证。
一旦实现服务端接口自动化测试脚本,则可以逐步实现持续集成。svn上服务端代码的任何变化,都可以自动启动接口自动化测试,对于任何错误都即时通知开发人员。如果测试通过,则自动和 App 进行集成测试。
从产品构想开始,一直到线上运营、用户反馈,随时都是测试的好时机。只不过,不同的阶段,APP测试内容有所不同