我将寻找一份软件测试工作(可能是SDET),特别是对于网站测试。我对这个领域有一些模糊的印象,并得到了几个具体问题如下:
在众多文档中,如功能规格,设计规范,我应该多加注意哪些?如何在测试人员的视图中查看它们?
关于编写测试规范的任何好建议?
应该注意网站测试吗?
这些只是我现在遇到的一些问题,我会在稍后更新。
我非常想听你的声音。非常感谢。
答案 0 :(得分:5)
证书:我是一名拥有5年经验的SDET,其中2年是测试Web应用程序的。
1-我会说testerab有一个很好的答案。没有一个单独的文档,您可以总是依赖于公司甚至单个公司内的团队。注意哪个文档有信息。
我会用这个建议来补充答案:如果文件不足,不要感到惊讶。与帮助定义产品的人(开发人员,业务所有者,项目经理等)建立牢固的关系。你几乎总是依赖于它们的某些规格,因为很难覆盖纸上的所有东西(而且,当你获得测试人员的专业知识时,你将学会看到其他人没有注意到的东西)。当你听到它们时,尽量写下任何“口头规范”,理想情况下,可以通过书面或电子邮件获得规范说明的任何要求。将它们全部收集在公共文档中是明智的,如果两个人对“应该”的规范有不同的看法,可能有助于揭示。
2- Testerab对这个问题有一个很好的答案,在这里:How Do You Keep Automated Tests in Synch With Test Plans
“1)谁读了?2)谁应该阅读它,但目前你怀疑他们不打扰?(你知道他们为什么不打扰?)3)他们需要从哪些信息中获取信息?它会给他们提供这些信息吗?4)您目前如何呈现这些信息?这对您的读者/非读者有用吗?5)您需要从测试计划的读者那里得到什么样的反馈?6 )您是否有任何监管要求,以满足您的测试计划?“
测试计划与产品规格一样,会根据您的群体需求而有很大差异。如果您在敏捷小组中,您可能会花很少的时间在您的测试计划上,只需要概述您需要涵盖的领域 - 或者您甚至可能根本没有测试计划,只需与团队进行对话即可什么将足以测试每个人对决定产品的信心。其他公司将有非常具体的指导方针,您需要遵循。
Cem Kaner的经典着作“测试计算机软件”略显过时,但仍然是一个开始讨论测试计划的好地方。我建议你非常强烈地购买一份副本,除非有人能推荐一些更权威的东西。最后我听说,这仍然是 软件测试书。
3-我在理解这个问题时遇到了一些麻烦,但会尽我所能。你的意思是,你需要知道什么才能测试网站?首先,你的网站是什么意思?你的意思是网络应用程序?如果是这样,您可能需要了解服务器/客户端体系结构,Web服务,数据库和基本SQL,至少基本安全测试,集成测试,功能测试,并将从性能测试,负载测试等方面的理解或专业化中受益安全测试,熟悉Selenium或Watir的Web GUI测试。
帮助您入门的一些有用的事情让我们知道:
作为开发人员和测试人员,您有多少经验?如果您刚刚开始职业生涯,您的教育背景是什么?
您使用Web应用程序以及使用什么角色(开发,测试,PM等)有多少经验?
而且,您可能想在http://www.softwaretestingclub.com尝试询问其中一些问题 - 这是一个软件测试人员建立社区的网站。只要您在社区中活跃,并且许多最有影响力的软件测试作者都会在那里闲逛,您将在那里获得很多好的建议和支持。如果你在那里停留,请随时查看我!
希望这有帮助!
编辑:添加了一些信息来回答q。 #2并提到Cem Kaner的书。
答案 1 :(得分:4)
我是一名拥有2年.NET经验和1年以上测试经验以及ISTQB / ISEB基金会资格的开发人员。
回答你的问题:
1:测试经理将(通常)制定测试计划并了解要测试的规范文档。使用开发人员正在使用的是一个良好的开端。如果开发方法是敏捷的,那么这可能是“用户故事” 查看文档的一个好方法是查看指定功能的各个元素的位置,并创建练习它们的步骤(参见下面的一些功能技术)。
2:“测试规范”是什么意思?
您需要确定需要测试的应用程序区域的优先级,并了解所需的覆盖范围。一个“测试用例规范”。 (或测试脚本)将适用于更高级别的文档(如测试计划和测试策略)可以使用一些黑盒子(功能)技术高效和有效地编写,包括:
等效分区,
边界值分析,
决策表,
状态转换分析,
用例分析(可能基于用户故事)
提出包含测试用例的脚本。可以在线查找这些技术。
白盒(结构)测试涉及对代码的认识,包括:
声明范围,
决策范围
如果您正在查看网站,可能会涉及JavaScript; QUnit 是一个自动化JavaScript测试的测试框架,对研究很有用。 NUnit 是.NET应用程序(包括Web应用程序)的常用测试框架 - NUnit从其Java等效 JUnit 移植并且已经扩展(很可能是由于受欢迎程度) .NET)。
3:我不明白你的意思? Web应用程序需要以多种不同方式进行测试,并包含将使用不同技术进行测试的服务器和客户端功能,并且需要分析测试需求。这取决于项目。
如其他答案所述,还有其他类型的测试:
单位 - 在尽可能低的级别对功能进行模块化测试
集成 - 测试不同功能区域之间的功能
回归 - 进行测试以确保以前的工作功能未因更改而中断
系统测试(功能) - 确保被测代码/系统按指定的方式工作
系统测试(无功能) - 确保可能未指定的系统方面是适当的,例如性能,负载,压力,互操作性,可维护性,可靠性,可移植性,可用性
接受(称为用户验收测试或UAT) - 确保被测系统适合使用
正如其他答案所述,您将重新测试现有缺陷,并将这些缺陷包含在您的测试脚本中是一个好主意。
希望这个答案给了你很多思考的食物和研究的良好基础。在一个成熟的团队中测试资格或担任初级测试员的角色,以建立您的理解和经验可能会非常有用。
答案 2 :(得分:2)
“在功能规格,设计规范等众多文档中,我应该多关注一下?如何在测试人员的视图中查看它们?”
能够从许多不同的文档来源中提取有用的信息对于测试人员来说是一项关键技能,因此您可以将其确定为需要查看的区域。您需要查看的文档因项目和公司而异,因此对于您需要查看的文档没有一个好的答案 - 但具有良好的规范分析技能将意味着您将能够应付你给的任何东西。
为此,我强烈推荐这个基于规范的测试BBST课程 - 它将向您展示如何分析规范,应用满意启发式测试策略模型。这也应该有助于您解决有关编写测试规范的第二个问题。
http://www.testingeducation.org/BBST/BBSTSpecificationTesting.html
我推荐一般的BBST课程 - 课程资料都可以在上面的网站上免费在线获得。
如果你真的认真考试,你也应该考虑参加软件测试协会的在线课程。基金会课程对会员免费,您将有机会在线练习您的技能,获得有关您如何展示自己和您的想法的宝贵反馈,并且您还会遇到许多优秀的测试人员,作为同学并作为教练。这是一项艰苦的工作 - 但是如果你愿意付出努力,你真的会从中获得巨大的收益。能够与其他人讨论基础知识将真正帮助您更深入地理解。
答案 3 :(得分:1)
我的50c
如果您没有测试规格或任何类型的规格,您可以将您的错误报告转换为测试计划。
对于发生的每个错误报告,创建一个测试项目。这样 - 您将获得在进行回归测试时可以遵循的测试列表。