首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >测试后端时是否需要考虑前端?

测试后端时是否需要考虑前端?
EN

Stack Exchange QA用户
提问于 2018-04-10 03:48:56
回答 4查看 175关注 0票数 1

现在我正在为django应用程序编写测试,这是一个非常令人困惑的任务。因为我是为其他人工作,所以我需要在我的测试中有完整的测试用例。我有些疑问,请帮帮我。

在前端,我有一个html输入,它具有number和label frequency类型。

在后端,我将使用以下方法读取频率字段中的值。

代码语言:javascript
代码运行次数:0
运行
复制
freq=request.POST['frequency']

在这里,我还没有考虑过频率字段具有无效值的测试用例(即字符而不是数字)。

是否有必要考虑上述测试案例?

因为在前端,它已经被限制在数字输入,因此用户将不允许输入字符。

重要的是,我正在做白盒测试,而不是黑匣子测试。

EN

回答 4

Stack Exchange QA用户

回答已采纳

发布于 2018-04-10 06:43:17

无论前端的测试结果如何,后端都应该分别进行测试。最主要的原因是安全。很好,您已经测试了前端只能发送到后端的数字,但如果有人故意使用拦截工具和伪造请求发送到您的后端,并将号码更改为任何其他顽皮值呢?这可能会导致应用程序中的错误,并可能公开敏感信息。这只是一个例子,但还有更多,而不仅仅是关于输入。仅在应用程序的前端部分进行测试验证是不够的。

票数 3
EN

Stack Exchange QA用户

发布于 2018-04-10 10:40:43

如果您负责测试整个解决方案,那么您必须考虑组成该解决方案的所有组件。如果您只负责后端测试,那么您应该专注于后端,而不关心任何集成方面。在后一种情况下,让负责集成级别测试的人员感到头疼。

票数 1
EN

Stack Exchange QA用户

发布于 2018-04-10 11:46:15

在测试后端时是否需要考虑前端阻塞的输入?

简短的回答是肯定的。

之所以回答是肯定的,是因为对任何有一点点知识的人来说,绕过前端验证并将无效数据发送到后端是微不足道的。它可以通过内置到每个浏览器中的工具来完成,更不用说任何代理工具了。

通常情况下,来自系统前端的任何数据都是不可信的,无论您正在执行的前端验证是什么,都应该在后端进行检查。

这可能是防止应用程序中的安全问题的最简单方法之一,但也是最被忽略的方法之一。如果不测试后端和前端的输入验证,我建议您浏览一下OWASP站点,特别是前10位,以了解可能发生的问题。

(我不属于OWASP。我认为它们是web测试人员的重要参考)

票数 1
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/33019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档