意味着几件事情。
第一,参与这个系统的角色一定有多个,若只有一个角色,且只有一个动作,那就退化成面向过程编程。
第二,需要规约出系统的各个角色,以及相互之间的交互
第三,根据需要抽象出各种抽象层。
第四,每个抽象层的实现就是面向过程编程
note1.其实所谓的组件化就是合理的抽象出系统内的角色,然后以服务的形式对外运行,而非原来的代码层面的内联。
note2.现有大部分编程事件都是面向过程的层次,很少涉及设计,也少有人员想要先去设计
意味着几件事情。
第一,参与这个系统的角色一定有多个,若只有一个角色,且只有一个动作,那就退化成面向过程编程。
第二,需要规约出系统的各个角色,以及相互之间的交互
第三,根据需要抽象出各种抽象层。
第四,每个抽象层的实现就是面向过程编程
note1.其实所谓的组件化就是合理的抽象出系统内的角色,然后以服务的形式对外运行,而非原来的代码层面的内联。
note2.现有大部分编程事件都是面向过程的层次,很少涉及设计,也少有人员想要先去设计
产品提出需求->产品经理及项目经理评估需求->开发测试产品确定,细化需求,给出需求用例->测试给出测试用例->开发测试共同给出技术方案->开发->迭代测试->上线
需求必须留档,且产品需给出User Case角度的用例
其中用例可用于系统的自动化
测试用例是以黑箱角度给出,且应为产品的UserCase的细化
用例必须留档,提出bug必须依据用例,并生成bug用例进行验证
每次迭代只应该做增量测试,每天自动化做全量测试
用例Example:
测试:
动作:用户激活账号
前置条件:用户账号已注册且保持未激活状态
执行接口/事件:*.do 点击xxxx按钮,激活如下事件
预期:接口返回/事件结束/抛出异常/etc
产品:
测试:
动作:用户激活账号
前置条件:用户账号已注册且保持未激活状态
预期:用户成功激活账号
另外,开发和测试其实应该要求是一样的,都应该懂代码,完全的黑箱非自动化的测试是会搞死人的