一.软件测试
软件测试是在测试中识别软件产品和服务的准确性和质量的过程。显然,它的诞生是为了验证产品是否满足客户的特定先决条件和需求。
在一天的工作结束前,确定特定的较终目标并测试执行一个框架或应用程序,以指出其错误、或缺陷。
测试的职责是找到bug并指出问题,并给Dev(开发人员)提供一个线索,以帮助他们根据需求纠正错误。
软件测试的目标
1.在给定的产品中尽可能多地发现错误(或bug)。
2.演示一个给定的软件产品与它的需求规格匹配。
3.使用较小的成本和努力来验证软件的质量。
4.生成高质量的测试用例,执行有效的测试,并发布正确和有用的问题报告。软件测试过程
软件测试通常分为两个主要过程——验证&认证。
验证是当您的团队只需要检查软件、系统或框架是否符合文档要求时的过程。
认证是您的团队需要验证系统正确性的过程。在这个过程中,您将回顾产品、系统,并考虑用户真正想要什么和已经做了什么。
在软件测试中,缺陷和错误之间有区别,我们应该清楚地区分,以避免误解问题。
二.软件测试开发
测试开发工程师的目标有两点:质量和效率。
质量是提升产品的覆盖度,以求得更高的质量;
效率是提升产品的测试效率,以求得更快的产品交付和发布上线。
三. 为了达到以上两点,测试开发工程师会使用各类手段以达到以上目标,包括但不限于:
1.单元测试
2.接口测试
3.灰盒测试(搜狗内部将通过了解代码实现而进行的功能测试称之为灰盒测试)
4.专项性测试(性能、压力、内存、耗电、流量)
5.代码走查
6代码重构(谷歌的测试开发工程师会对代码进行重构,仅限于重构而不做功能性开发,目前在国内这一工作职责还没有推广起来。)
测试开发工程师是这样一类混合型人才,它是一个编码能力很强的程序员,可以写功能代码;也是一个能力很强的测试者,可以测试任何产品,有能力管理他们自己的工作和工具。再这里推荐一个我们的软件测试交流群642830685,里面会不定期的分享很多软件测试的干货,一起交流探讨吧。
每天进步一点点,小墨陪你一飞冲天!