有哪些学习资源可供想要学习系统思维的测试人员使用?

软件测试 学习
2022-01-27 18:30:14

系统思维与任何专业测试人员都非常相关,但很少有测试人员研究它,尽管学习技术/方法有明显的好处,允许您根据其组成部分之间以及与其他系统之间的关系和交互来研究系统(而不是只研究单独的组件,并假设当你把它们放在一起时它们的工作方式是一样的——这对任何测试人员来说不是一个熟悉的问题吗?)

对于想要了解更多信息的测试人员,有哪些好的学习资源?

  • 有没有好的品酒师来吸引对这个想法完全陌生的测试人员?
  • 关于如何开始应用不同的系统概念的更实用的建议呢?
  • 有没有值得掌握的关键文本?
  • 有什么很棒的社区/论坛可以讨论你正在学习的东西吗?
4个回答

有温伯格的“通用系统思维导论”一书和他的“质量软件管理”第一卷(另外两卷也可能合适)。

我在“系统思维评论”这个网站上找到了一些不错的读物,例如“以正确的方式种植土豆”

希望其他人会添加到这一点,我真的很想看看他们想出什么。

Donella Meadows 的系统思考:入门是了解动态系统及其特征模式的好地方。 http://www.amazon.co.uk/Thinking-Systems-Donella-H-Meadows/dp/1844077268/

Phil K 提供了一些很好的参考资料,事实上我目前正在阅读 Intro to General Systems Thinking。

我最近看到了 Kenneth Boulding 的一篇文章,Gerald Weinberg 在书中引用了他对通用系统思维的看法(值得一读):http: //www.panarchy.org/boulding/systems.1956.html

我想解决一个您不太关注的问题:

关于如何开始应用不同的系统概念的更实用的建议呢?

系统思维对于测试人员的日常任务很有用:计划测试(测试什么以及如何测试?)、隔离缺陷(根本原因在哪里?)和验证修复(修复可能会影响什么?我会如果我只测试这个,就有足够的信心?)。

我不知道有任何具体的书可以从系统思维的角度解决这些任务。但是,根据我的经验,了解系统的行为如何从其组件和子系统的行为中产生是有帮助的。您可以通过分析系统架构和分析用户如何与系统交互(用户是系统的一部分!)来综合这些知识。

了解系统架构

有助于学习系统思维的书将是关于软件架构的一般性,特别是关于特定技术的。向开发人员、架构师和操作人员询问有关系统的问题也会有所帮助。为了全面了解系统,我经常提出以下问题:

  • 这些组件如何相互作用?
  • 系统不同层之间的关系是什么?X 是直接访问数据库还是通过某些门面、Web 服务或队列访问数据库?
  • 它们的耦合程度如何?通过接口,格式?它们是同步交互还是异步交互?
  • 系统中的数据流是什么?
  • 如果这里发生错误,会影响吗?错误如何在系统中传播?
  • 这些库是否在不同组件之间共享?更换这个库会导致这个缺陷吗?
  • 操作系统和我们的系统有什么关系?假设您将应用程序从 64 位系统移植到 32 位系统。我们现在使用的 64 位 OS/VM 的哪些功能需要验证?
  • 我们与这个 DBMS 的耦合度如何?我们是否使用了 MSSQL 不支持的 Oracle 的任何特定功能?
  • 那些德国标签/区域设置文件是如何使用的?它们存储在前端还是后端?如果我更改它们,用户是否会立即看到更改,或者内容可能缓存在某处?
  • 应用程序是有状态的吗?什么改变了应用程序的状态?应用程序的行为是否会根据其状态而有所不同?整个应用程序的状态是相同的还是每个用户/会话的特定状态?

用户是系统的一部分

与您的业务分析人员和现有用户交谈有助于了解他们与系统的关系。例如:

  • 用户如何可以同时使用此功能?他们能互相干扰吗?
  • 用户是否立即收到通知,或者链中涉及其他流程或流程?它可以阻止系统吗?
  • 资源权限和用户权限是什么关系?也许她看不到它,因为她没有被授权看到它?
  • 该功能的用户是谁?技术人员?