51Testing软件测试论坛

标题: API testing VS Unit testing [打印本页]

作者: 质量新知    时间: 2007-7-30 14:06
标题: API testing VS Unit testing
最近在做API测试和单元测试,看到一片关于API测试和单元测试的文章,英文版的,但是写的还是很清楚的,本人翻译了一下,提供给大家。
作者: freeLi    时间: 2008-11-27 15:48
标题: just see
I want to see it, but I have not score
作者: Tracy_Funny    时间: 2009-3-16 11:50
标题: Thank you
It sound good
作者: maguschen    时间: 2009-3-16 18:46
谢谢分享
作者: nkct    时间: 2009-3-24 16:05
also i'm focusing on API testing right now.

Thanks for sharing.
作者: touchmint    时间: 2009-3-25 17:44
下来看看
作者: zhuxiaoyan003    时间: 2009-6-10 22:51
谢谢
作者: wgx2345    时间: 2009-8-18 10:13
这玩意还要分...
作者: wangfashion    时间: 2010-3-15 09:48
这点破东西还要钱,
作者: tempora    时间: 2010-4-26 16:55
kan bu dao a
作者: hanmingxiu    时间: 2010-5-11 10:34
内容太短了
作者: xyzwh    时间: 2010-7-16 11:37
LZ可否发原文网址???
作者: xyzwh    时间: 2010-7-16 11:40
March 2006 - API Testing vs. Unit Testing: What's the difference? With the emergence of extreme programming, test-driven development and other agile methods, unit testing has become an important part of almost every development effort. At the same time, many applications provide application programming interfaces (APIs) to allow code-level access to the functionality. These APIs, just like any other interface into the product, must be tested before they are released to the end-users. This article will examine the key similarities and differences between these two types of testing, focusing on the tools, the people involved in each, and the approaches taken to get the best results for your time and effort.

Since both API-testing and unit-testing target the code-level, we can use similar tools for both activities. The most commonly used unit-testing tools, such as the jUnit test framework (http://www.junit.org), can also be used to build your API testing harness.

In many organizations we've worked with, the unit testing and API testing activities are owned by different teams. Unit testing is almost always an activity that is owned by the development team; developers are expected to build unit tests for each of their code modules (these are typically classes, functions, stored procedures, or some other 'atomic' unit of code), and to ensure that each module passes its unit tests before the code is included in a build. This practice makes a lot of sense because it helps the developers solidify their code. Often times, this effort requires debugging and bug-fixing in real-time.

API testing, on the other hand, is typically an activity owned by the QA team, a staff other than the author of the code. API tests are often run after the build has been created, and it is common that the authors of the tests do not have access to the source code; they are essentially creating black box tests against an API rather than the traditional GUI.

Another key difference between API and unit testing lies in the test case design. Unit tests are typically designed by the developers to verify the functionality of each unit. The scope of unit testing often does not consider the system-level interactions of the various units; the developers simply verify that each unit in isolation performs as it should.

API testing, like other activities owned by the QA team, must consider the 'full' functionality of the system, as it will be used by the end user (in this case, another program). This means that API tests must be far more extensive than unit tests, and take into consideration the sorts of 'scenarios' that the API will be used for, which typically involve interactions between several different modules within the application.

So if your product contains an API that must be tested, how should you approach the task? First of all, recognize that API testing is a testing activity that happens to require some coding, and is usually beyond the scope of what developers should be expected to do. The testing team should own this activity. Secondly, recognize that traditional testing techniques such as equivalence classes and boundary analysis are also applicable to API testing, so even if you are not too comfortable with coding, you can still design good API tests. Finally, recognize that you will not be able to test all possible scenarios that are possible to use with your API. Focus your testing on the most likely usage scenarios, and also apply techniques such as Soap Opera Testing and forced error testing using various flavors of data type and size to increase your confidence in the test coverage.
作者: 罗弗    时间: 2010-8-24 10:39
新人报道,大家多多关照
谢谢啦 呵呵
作者: wy.apple    时间: 2010-11-1 16:31
非常好!  很有用! 虽然内容少,但很清楚。
作者: aimee_qa    时间: 2012-4-18 11:06
下了看看
作者: aaavv9    时间: 2012-6-27 17:35
下了围观
作者: How2test    时间: 2012-7-19 15:00
OMG, it is way too much expensive with such limited information.
作者: zhihua010    时间: 2014-5-7 16:53
谢谢lz




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2