Use case与user story在不同项目中定义会有一定区别,此处只讨论最大众的定义。
最基本的区别:use case是以用例图表示,user story是以一句话表示。
最基本的共同点:帮助阅读者明白该软件应该完成什么事,促进利益相关者交流合作。
在实际使用时这两者无高下之分,只分使用场合。
User story在维基百科上的定义:In software development and product management, a user story is an informal, natural language description of one or more features of a software system.
User story有其固定格式,其中应用最广的为:
As a <role>, I want <goal/desire> so that <some reason>.
E.g. As a PO, I want to change privacy policy for the China version of the App so that local policies are updated for local market.
不过实际使用时有的公司也不会遵从这个格式,只要能把意思表达清楚即可。【个人观点】
user story只有简单的需求描述,而非详细的需求规范。所以因其简单易懂的特点,user story适用于需求探索阶段,也就是sprint plainning阶段与用户讨论需求时使用。
关于role:并且使用user story时,role不只有终端用户一个角色,比如还包括backend team、PO等等。测试人员在设计case时需要把自己转换成多个角色来设计case并确保其覆盖场景。
关于粒度:在敏捷开发中user story的粒度一般较小,一个业务场景的备选流有时也能成为一个user story。
关于关注点:user story不会涉及系统内部的东西,主要关注业务用例而非系统用例。
Use case的定义为:A generalized description of a set of interactions between the system and one or more actors, where an actor is either a user or another system.
可以看出use case的关注点在于系统用例,即更适合系统设计与开发团队使用。
未完待续。