一、软件测试的定义

1. 软件测试

为了发现程序中错误而执行程序的过程。

2. 软件测试的目的

1)软件测试为了发现程序存在的代码或业务逻辑错误;

2)软件测试为了检验产品是否符合用户需求;

3)软件测试为了提高用户的体验

 3.软件测试遵循的原则

1)测试应该尽早介入;----需求分析

2)所有的测试都应追溯到用户需求;

3)程序员应该避免检查自己的程序。除了单元测试。因为程序员对于自己的作品,思维具有局限性。无法保证测试质量。交给第三方或者专业测试,运用各种测试技术,利用丰富的测试经验和对bug的敏感,去提高软件的质量;

4)设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态。

5)二八原则,测试发现的错误中80%很可能起源于20%的模块中;

6)对错误结果要进行一个确认过程;

7)制定严格的测试计划;

8)完全测试是不可能的,测试需要终止;

9)妥善保存测试过程中的所有文档。

二、软件测试的分类

stress软件测试_stress软件测试

三、软件测试的误区

1.测试跟调试是一样的(测试是发现问题,调试是解决问题);

2.测试组应为保证质量负全责;

3.把开发人员安排做测试,不交由专业团队做;

4.过分以Beta测试来测试;

5.测试是可以穷尽的;

6.测试时枯燥乏味的工作。

四、常识普及

c/s架构与b/s架构

1)C/S:client/server--客户端/服务器

一定要安装一个客户端才能够用的软件。比如:QQ

优点:

1.交互性强,客户端有着一套完整的应用程序,相对B/S有着更加强大的功能,还可以实现子程序之间的切换;

2.安全性强,只适用于局域网,相对来说其安全比较好;

3.处理信息能力强,C/S的通信量相对B/S是少了很多的;

4.速度较快,更加利于处理大量数据。

缺点:

1.每次更新,都需要更新服务端和客户端。

2.只适用于局域网。

3.操作系统可能会有限制

2)B/S:browser/server--浏览器/服务器

只需要一个浏览器,就可以访问的。比如:QQ官网

优点:

1)可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用。

2)客户端零安装、零维护,系统的扩展非常容易。

缺点:
1)在跨浏览器上,BS架构不尽如人意。

2)在速度和安全性上需要花费巨大的设计成本。
五、笔试题

1.什么时候进行软件测试?

2.软件测试的分类有哪些?

3.什么是黑盒测试?

4.Alpha测试与Beta测试的区别?