我对测试有些困惑。
我们使用Slim
作为系统框架。据我所知,Unit Test
是最少的测试。例如,测试类或方法是否按预期工作。
要测试系统的其他功能,例如,系统提供了一个用于搜索产品信息的API,此搜索功能是根据以下思路设计的:
/search
SearchService
注入控制器。SearhService
。search_history
。 search API
就是这样设计的。
我们为Search API
创建了一个名为SearchTest
的功能测试。我们就是这样做的:
$this->runApp()
提供的Slim
方法向API条目发送请求。一些问题令人困惑:
答案 0 :(得分:0)
自动测试(和一般测试)被认为是软件工程中的一种良好做法。但是,关于测试方法和类型分类的边界有很多热门讨论。
从这个意义上讲,一种正确实施测试方法的实用方法是向在您的软件开发环境中学习的人学习,并确保您采用的做法对您愿意实现的目标。 尝试对此保持一致。
仅供参考,lets take this definition.
功能测试是指验证代码的特定操作或功能的活动。这些通常可以在代码需求文档中找到,尽管某些开发方法可以根据用例或用户案例进行工作。功能测试往往会回答“用户可以执行此操作”或“该特定功能是否起作用”的问题。
考虑到这种方法,您希望测试使您确信用户能够执行应用程序提供的某些功能(或功能)。 (在这里)如何提供此功能并不重要,只需进入用户的鞋子并思考“我能从此操作中得到什么吗?” ,该问题的答案应提示您进行测试的主张。
非功能测试是指软件的某些方面,这些方面可能与特定功能或用户操作无关,例如可伸缩性或其他性能,某些约束下的行为或安全性。测试将确定断裂点,在该断裂点上,极端的可伸缩性或性能会导致执行不稳定。非功能性需求往往是那些反映产品质量的需求,特别是从用户的适应性角度而言。
如果您要测试如何执行某个函数,则可能是单元测试可以帮助您执行那些断言。
但是,再次提醒您,并不是要严格限制测试应从其名称中执行的内容,而是要知道哪种分类最适合所执行的断言类型(这有助于更好地构建测试结构)并清楚地说明您要测试的内容。 尝试保持一致,并专注于测试您真正需要自信的内容。