软件测试之基本知识点(一)
什么是软件测试?
- 软件测试就是发现软件当中存在的缺陷,提高软件的质量。它贯穿于软件工程整个生命周期中,跟开发一样,是一个不可或缺的技术方向。
什么是软件工程?
- 它是一门研究用工程化方法构建和维护有效的,实用和高质量的软件的学科,它涉及到程序设计语言,数据库,软件开发工具,系统平台标准,设计模式等方面。
开发一个软件都要经过哪些阶段?
- 问题的定义及规划,需求分析,软件设计,程序编码,软件测试,运营维护
什么是黑盒测试,什么是白盒测试?
- 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求 规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。
- 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
一个测试工程师应具备哪些素质?
- 沟通能力,技术能力,自信心,幽默感,耐心,很强记忆力,怀疑精神,自我督促,洞察力。
什么是 C/S,什么是 B/S?
- C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server 形式的两层结构,由于现在的软件应用系统正在向分布式的 Web 应用发展,Web 和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
- B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层 3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立 B/S结构的网络应用,并通过Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在 JAVA 这样的跨平台语言出现之后,B/S 架构管理软件更是方便、快捷、高效。
什么是后台?
- 后台程序简称后台,一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。
用一条 SQL 语句查出分数大于 80 分的学生名字
select s.name from t_student s where s.fenshu>80;
与工程师出现冲突,如何解决?例如:工程师因项目时个间冲突导致有多个 bug 要解决, 此时如何与工程师正确的沟通?
- 把问题弄清楚。
1.测试用最简单和常见的步骤来重现 bug,如果可能,通过模拟用户场景来展
示其问题的重点所在。
2.开发针对场景给出合理的技术分析。
3.双方共同评估风险。 - 尝试提出解决问题的方法和自己能做的贡献。
5.有时候开发不愿意改 bug 是因为时间紧张,或者认为风险较大。测试如果能提供合理的回归测试计划会解决开发的后顾之忧。
6.有时候开发的方案测试不愿意接受是因为测试风险太大,这时候开发可以尝试提出折中方案,将风险降到最小。 - 请第三方介入,特别是产品经理。
是否是 bug 经常是争吵的焦点。特别是对于需求中不明确的地方或者非功能性的需求,比如易用性,性能等等。这时候往往不是开发和测试沟通就能解决的了得。需要产品经理来一起讨论决定。