技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

随笔分类 -  软件测试

上一页 1 2

测试:mock对象
摘要:using System;using System.Text;using System.Threading;using System.Messaging;namespace QueueSpace{ //外部依赖的接口,它屏蔽了mock对象和真对象 class Queue { public virtual object readMessage() { return null; } } //mock对象,模拟真对象的行为 class TestQueue : Queue { pri... 阅读全文

posted @ 2012-09-22 17:16 codestyle 阅读(354) 评论(0) 推荐(0) 编辑

应要求写的比较简单的单元测试代码
摘要:#include <assert.h>#include <stdio.h>#include <stdlib.h>/*作者:猪头被测模块功能:编写一个累加整数数组元素的函数,并把累加结果作为函数返回值返回被测模块参数:整数指针指向数组第一个元素;整数表示数组元素个数 参数异常:如果指针为空则应该返回-1 ,表示传入者参数有错误 *//*被测模块*/int sum(int *array,int length){ int index = 0; int sum = 0; if (array == NULL) { return sum; /*我故意埋下... 阅读全文

posted @ 2012-09-03 15:08 codestyle 阅读(511) 评论(0) 推荐(0) 编辑

500TB——Facebook每天收集的数据量
摘要:InfoQ在2010年的时候曾经发布过一篇新闻《Facebook谈 Hadoop、Hive、HBase和 A/B测试》,时任Facebook的工程副总Mike Schroepfer曾谈到当时Facebook的数据量产生情况:Facebook有4亿用户,超过一半的用户每天登录用户花在Facebook上的时间,比接近它的6个站点所花的时间的总和还多Facebook用户每个月分享250亿的内容信息5000亿单月页面浏览量要处理这样的数据,Facebook使用了大型的Hadoop集群:存储36PB未压缩的数据有超过2250台机器和23000个核心每个机器32GB内存每天处理80-90TB数据该集群每个 阅读全文

posted @ 2012-08-29 17:53 codestyle 阅读(1245) 评论(0) 推荐(0) 编辑

python: logging日志级别详解
摘要:import logging'''日志级别:critical > error > warning > info > debug,notset级别越高打印的日志越少,反之亦然,即debug : 打印全部的日志(notset等同于debug)info : 打印info,warning,error,critical级别的日志warning : 打印warning,error,critical级别的日志error : 打印error,critical级别的日志critical : 打印critical级别'''handler=lo 阅读全文

posted @ 2012-08-15 23:30 codestyle 阅读(8640) 评论(1) 推荐(2) 编辑

Selenium测试用例复用与测试框架
摘要://selenium-java testcasepublic class KwebAdminLogoutSelenium extends SeleniumTestCase{ public void testAdminLoginLogout() throws Exception { selenium.open("/kweb/"); selenium.type("j_username","admin"); selenium.type("j_password","change_on_install") 阅读全文

posted @ 2012-08-07 17:22 codestyle 阅读(788) 评论(0) 推荐(0) 编辑

基于PHPUnit编写第一个测试用例
摘要:common/config.php 常量模块<?php//常量定义define ("SERVER_ADDR","http://127.0.0.1");define ("REGISTER_ADDR",SERVER_ADDR."/open/register");define ("LOGIN_ADDR",SERVER_ADDR."/open/login");define ("APPLY_ADDR",SERVER_ADDR."/open/apply 阅读全文

posted @ 2012-07-03 23:40 codestyle 阅读(792) 评论(0) 推荐(0) 编辑

基于PHPUnit编写测试用例
摘要:环境:ubuntu10.10百度来的例子大多是这样的<?php //test.php 编写了测试用例的PHP文件 require_once('TestCase.php'); class OpenTestCase extends PHPUnit_Framework_TestCase { public function testRegister() { //... } }?>可以通过这样来执行自动化测试$ phpunit test.php报错,提示找不到PHPUnit_Framework_TestCase... 阅读全文

posted @ 2012-07-03 23:26 codestyle 阅读(542) 评论(0) 推荐(0) 编辑

Ubuntu上PHPUnit安装
摘要:什么是PHPUnit?PHPUnit是一个轻量级的PHP测试框架。它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋KentBeck的设计)Ubuntu上安装sudoapt-getinstallphpunit验证PHPUnit安装成功,命令行输入phpunit$ phpunit安装成功打印:PHPUnit 3.6.11 by Sebastian Bergmann.Usage: phpunit [switches] UnitTest [UnitTest.php] phpunit [switches] <directory>如果出现如 阅读全文

posted @ 2012-07-03 22:45 codestyle 阅读(612) 评论(0) 推荐(0) 编辑

测试框架设计:初步
摘要:在上次不成功的重构以后,我又蠢蠢欲动的重新设计程序,纠结了许久,还是决定程序写成OO的,OO设计我还没怎么想好,不过这次的重新设计我只写业务逻辑的API,同时编写配套的单元测试,用单元测试来验证API的正确程序结构common/bussiness/data/test/ testMain.pytestMain.py是整个测试的启动点,只要在test目录执行该文件,那么testMain.py就会查找test目录下其他文件,并加载文件里的测试用例一并执行#!/usr/bin/env python# -*- coding: utf-8 -*-import osimport sysimport unit 阅读全文

posted @ 2012-05-17 10:09 codestyle 阅读(305) 评论(0) 推荐(0) 编辑

转:解决测试之疼<特别是单元、集成测试之疼>
摘要:原文在这里 : http://blog.csdn.net/bxyz1203/article/details/7401205【概念】说到测试,最主要的是,检测代码是否满足特定的逻辑,检测代码是否满足业务的需求。测试还需要有一些附加特性,如:快速响应、可重复运行、可持续维护等。目前的测试基本可以分为:单元测试:检测代码片段的测试,基本是以代码结构为衡量,属于百盒测试。(白盒测试,貌似原作者笔误)集成测试:集成各个系统的各个模块,各个代码片段的,主要以业务为角度。属于黑盒测试。验收测试:主要是人工页面验证,用户演示,PD验证等,此主要是测试功能是否正确,以业务为出发点。一般是人工进行,比较难进行自动 阅读全文

posted @ 2012-03-30 09:56 codestyle 阅读(269) 评论(0) 推荐(0) 编辑

Facebook是如何做自动化测试的?
摘要:转载:http://sd.csdn.net/a/20120228/312478.html导读:最近,在国外知名问答网站Quora上有个讨论,原意是:“Facebook是如何做自动化测试的,他们是怎样测试才能保证每周的升级都可以不出差错的呢?” 引发了开发者们的激烈讨论。来自Facebook的Steven Grimm很好地回答了这个问题,觉得还不错,这里以第一人称翻译了一下。对于PHP的代码,我们写了非常多的基于PHPUnit测试框架的测试类,这些测试类覆盖范围比较大,从简单的判读真假的单元测试到大规 模的后端服务的集成测试。开发人员把运行这些基于PHPUnit的测试用例作为他们工作中的一部分, 阅读全文

posted @ 2012-02-28 13:30 codestyle 阅读(353) 评论(0) 推荐(0) 编辑

今天的一个bug
摘要:python,webpy有bug的API:删除文件夹参数:文件夹ID实现:判断文件夹ID是不是等于用户的默认文件夹ID,如果是返回false,如果不是,删除指定文件夹并返回truedef removeFolder(folderId,userId) defaultId = getDefault(userId) if folderId == defaultId: return (False,"默认文件夹不能删除") else: #删除文件夹 return True结果: 从webpy传来的文件夹ID是unicode类型,而从数据库里查出来... 阅读全文

posted @ 2012-02-23 12:44 codestyle 阅读(281) 评论(0) 推荐(0) 编辑

coverage.py - python 单元测试覆盖率统计工具
摘要:前提:1.假定已经安装好coverage.py(ubuntu 10.10+python.2.7+coverage3.5.1)2.项目里有模块do.py以及测试它的单元测试模块doTEST.py命令行:$ cd /home/user1/workspace/hp1$ coverage run doTEST.py$ coverage report$ coverage html命令解释:第一个命令进入项目目录,第二个命令 执行coverage命令,调用单元测试,进进行统计(当前目录生成.coveage文件,该文件默认隐藏)第三个命令是读取.coveage文件并打印到屏幕,第四个命令时,生成详细的HTM 阅读全文

posted @ 2012-01-13 18:45 codestyle 阅读(1299) 评论(1) 推荐(0) 编辑

第一个带有单元测试的完整模块
摘要:verify.py#!/usr/bin/env python# -*- coding: utf-8 -*-from share import dbfrom share import renderNotFound = -1PersonId = 0operator = {'read':'readPriv','write':'writePriv','manager':'manager','newPrj':'newPrj'}def doSomething(userId,res 阅读全文

posted @ 2012-01-13 18:36 codestyle 阅读(443) 评论(0) 推荐(0) 编辑

Selenium第一个例子
摘要:#!/usr/bin/env python# -*- coding: utf-8 -*-from selenium import seleniumimport unittest, time, reclass CreateProjectTestCase(unittest.TestCase): def setUp(self): self.verificationErrors = [] self.selenium = selenium("localhost", 4444, "*chrome", "http://127.0.0.1/") se 阅读全文

posted @ 2012-01-13 18:32 codestyle 阅读(301) 评论(0) 推荐(0) 编辑

上一页 1 2