行。我们的产品有效。 Beta测试人员实际上正在完成他们的工作。下一次迭代的时间。但如何保证质量?我们需要一个测试人员!
如何让新鲜的街头新人开始测试?我不知道如何自己做(我是开发人员,而不是测试人员)!
我们是一个很小的团队:
我们都不知道如何专业地做这件事。到目前为止,我们有:
我希望我们需要一个测试脚本。但是怎么样?谁?什么?当α
答案 0 :(得分:7)
你为什么要找“街上有人”?对我而言,这听起来有点像“我想聘请一位新程序员,如何让某人离开街头让他加快编程我的软件?”。你为什么要这样做,而不是雇用一个已经是程序员的人呢?
在你的情况下,你对测试知之甚少,我绝对考虑聘请有该领域经验的人。
具体来说,我可能会寻找:
最后一点是可选的,但希望你的团队随着软件的发展而不断发展,所以让一个能够在这个角色中成长的人也是有意义的(更不用说有经验可以帮助你决定什么时候和如何发展QA团队。)
答案 1 :(得分:2)
那么,您是否希望通过测试人员扩展您的团队?您是否考虑过聘请咨询公司的测试专家?
答案 2 :(得分:2)
在让某人进行测试之前,请确保您符合测试要求。至少你需要:
规范:关于应用程序应该做什么的一些权威来源。这可能是一个专家,可以回答关于应用程序应该做什么的任何和所有问题,但写下来的越多,越正式定义它就越好。
时间:测试需要时间。您无法在应用程序投入使用前30分钟将应用程序交给测试人员,并期望获得任何有价值的结果。如果您正在进行瀑布式开发,那么测试将需要大量时间。许多其他开发模型允许测试与开发并行运行,这节省了大量时间,但无论您使用何种模型,测试都需要更多时间而不是测试。
如果你没有这两件事,质量保证只是一个梦想。
现在,如果你确实遇到了那些人,并且你正在努力培训某人进行测试,那么这是我的测试速成课程。
从根本上说,测试应用程序意味着您正在尝试确保两件事:
该程序可以完成它应该做的事情。
该程序没有做不应该做的事情。
这是我使用的核心思维方式。在此基础上,我根据行动处理事情并尝试验证:
第1项直接来自规范:确保程序能够完成它应该做的事情。
项目2和3是测试艺术的用武之地。我可以执行哪些意外操作和前提条件?我可以尝试输入错误的密码。我可以尝试直接输入所谓安全页面的URL。我可以尝试将奇怪的unicode字符粘贴到文本字段中。我可以尝试将SQL或javascript代码放入文本字段中。
第4项是无限无人的测试之地,是完全无法完成测试的部分。 (2和3也是无限的,但不要像想象的那样令人沮丧。)这并不意味着你忽视它。你总是留意任何不寻常的事情。此外,有时灵感来袭,你想到一种可能导致意想不到的效果的方法:“如果我在本月的第三个星期二的晚上11:59:59到凌晨00:00之间登录会怎么样?哦,看,它做了我是管理员。“技术知识和黑盒子里面的内容有助于提出类似的场景。
关于测试还有很多话要说,但这是我能想到的最低限度:技术要求和解决问题的方法。
答案 3 :(得分:1)
理想情况下,您需要给测试人员:
答案 4 :(得分:0)
在他们的podcast #64中,Jeff和Joel讨论了(除其他事项外)优秀测试员应具备的技能。 Transcript也可用(大约在页面的一半)