Posted by Allen Hutchison, Engineering Manager and Jay Han, Software Engineer in Test
The testing world has a lot of terms for the activity that we undertake every day. You'll often hear the words QA, QC, and Test Engineering used interchangeably. While it is usually enough to get your point across with a developer, it is helpful to think about these terms and how they apply to the world of software testing. In the classic definition QC is short for Quality Control, a process of verifying predefined requirements for quality. In the terms of an assembly-line this might involve pulling manufactured units off at the end of the process and verifying different parts of the assembly process. For software the QC function may involve checking the software against a set of requirements and verifying that the software meets the predefined requirements.
Quality Assurance, on the other hand, is much more about providing the continuous and consistent improvement and maintenance of process that enables the QC job. We use the QC process to verify a product does what we think it does, and we use the QA process to give us confidence that the product will meet the needs of customers. To that end the QA process can be considered a meta process that includes aspects of the QC process. It also goes beyond that to influence usability and design, to verify that functionality is not only correct, but useful.
Here at Google, we tend to take a third approach that we call Test Engineering. We look at this as a bridge between the meta world of QA and the concrete world of QC. Our approach allows us to ensure that we get the opportunity to think about customers and their needs, while we still provide results that are needed on day to day engineering projects.
Our teams certainly work with Software Engineers in QA and QC roles, but we also work with teams to ensure that a product is testable, that it is adequately unit tested, and that it can be automated even further in our teams. We often review design documents and ask for more test hooks in a project, and we implement mock objects and servers to help developers with their unit testing and to allow our teams to test components individually.
We put an emphasis on building automated tests so that we can let people do what people are good at, and have computers do what computers are good at. That doesn't mean that we never do manual testing, but instead that we do the "right" amount of manual testing with more human-oriented focus (e.g. exploratory testing), and we try to ensure that we never do repetitive manual testing.
12 comments:
I love your description of the different roles...right now I work for a small group of a large company...I am a fiarly new employee and up until now the test process has been almost exclusively QC and manual...I am starting to work with developers to implement some automated tests to free test personnel to do more exploratory testing...it's quite the adventure!
Test Engineering method is nothing but W-Model (Not waterfall). In W-Model verification and validation process go hand in hand. Reviews play a major role and helps in getting the concrete, strong and stable requirements, whcih will be base for strong future development process. Everyone knows the impact of fixing any defect at the later stage of the project life cycle and also the benefit of identifying the issues at the beginning of the project life cycle. Give more importance to Review and Analysis process, this will help in building strong Base. If the base is strong, anything can be built on that.
I also tell my team members to spend qaulity time doing analysis of the work they do. Do not spend the entire day in just doing testing. Spending everyday sometime on Analysis will help them to move in the right direction in the work and also helps them to see in a bigger and broader perspective of the work.
Finally, just spend good amount of time in planning, reviews and analysis, the execution will be done like in no time.
Lest build and grow the Quality and Testing community stronger across the world.
Thanks for the clarification about QA, QC, and Test Engineering.
Any suggestion for regression testing? That might be the reason to do most of repetitive testing.
hmm..great info for me, anyway..:)
Your blog provides sufficient information on QA and QC but testing, I suppose, hasn't been given enough emphasis. It would be appreciable if you post more on Testing and the process you follow for the same.
Hi Allan, Jay,
Your defintion of QA is a little off, ok, way off base. It is NOT tied to testing or QC and is NOT applied to the product. It is assurance of the quality of a process, which may produce a lousy product if the process is weak. See this article to help clear things up: http://spistuff.blogspot.com/2007/09/qa-vs-qc.html
Thanks for the this clear and succinct definition. I was recently hired as a "QC manager," a role I haven't held before, and was adrift in conflicting expectations. The actual role I hold is more QA than QC, although I suspect I will do both, along with a little testing. There is another with the title of QA lead, but his actual role is more QC. So we have a lot of alignment and setting of expectations to do. This will help.
網頁設計,情趣用品店,情趣用品專賣網
A片,色情A片,免費A片,成人影片,色情影片,a片免費看,情色貼圖,情色文學,情色小說,色情小說
AV,AV女優
辣妹視訊,美女視訊,視訊交友網,視訊聊天室,視訊交友,視訊美女,免費視訊,免費視訊聊天,視訊交友90739,免費視訊聊天室,成人聊天室,視訊聊天,視訊交友aooyy
哈啦聊天室,辣妺視訊,A片,色情A片,視訊,080視訊聊天室,視訊美女34c,視訊情人高雄網,視訊交友高雄網,0204貼圖區,sex520免費影片,情色貼圖,視訊ukiss
The actual definitions of QA and QC can better be explained in context of the place they work. As matter of fact Testing is done at in-house or by a third party testing team. Tester at in-house do more of QC rather than QA as they do have a set of requirements and they validate the software against requirements. When coming to third party testers, they are involved in lot of process improvements which will actually help the clients to deliver best software.
Weekends to peopleig2tmean that they can have a two-day wowgold4europe good rest. For example, people gameusdcan go out to enjoy themselves or get meinwowgoldtogether with relatives and friends to talk with each storeingameother or watch interesting video tapes with the speebiewhole family.
Everyone spends agamegoldweekends in his ownmmoflyway. Within two days,some people can relax themselves by listening to music, reading novels,or watchingogeworld films. Others perhaps are more active by playing basketball,wimming ormmorpgvipdancing. Different people have different gamesavorrelaxations.
I often spend weekends withoggsalemy family or my friends. Sometimes my parents take me on a visit to their old friends. Sometimesgamersell I go to the library to study or borrow some books tommovirtexgain much knowledge. I also go to see various exhibition to broadenrpg tradermy vision. An excursion to seashore or mountain resorts is my favorite way of spending weekends. Weekends are always enjoyable for me.
希望大家都會非常非常幸福~
「朵朵小語‧優美的眷戀在這個世界上,最重要的一件事,就是好好愛自己。好好愛自己,你的眼睛才能看見天空的美麗,耳朵才能聽見山水的清音。好好愛自己,你才能體會所有美好的東西,所有的文字與音符才能像清泉一樣注入你的心靈。好好愛自己,你才有愛人的能力,也才有讓別人愛上你的魅力。而愛自己的第一步,就是切斷讓自己覺得黏膩的過去,以無沾無滯的輕快心情,大步走向前去。愛自己的第二步,則是隨時保持孩子般的好奇,願意接受未知的指引;也隨時可以拋卻不再需要的行囊,一路雲淡風輕。親愛的,你是天地之間獨一無二的旅人,在陽光與月光的交替之中瀟灑獨行.............................................................................................................有時,你覺得痛。胃痛的時候,接受它,承認這個疼痛是你的身體的一部份,與它和平共處。心痛的時候,接受它,承認這個經驗是你的生命的一部份,與它和平共處。抗拒痛的存在,只會讓它更要證明它的存在,於是你就更痛。所以,.無論你有多麼不喜歡痛的感覺,還是要接納這個痛的事實。與你的痛站在同一邊,不逃避,不閃躲,不再與你的痛爭執,如此,你的痛才會漸漸不再胡鬧,才會乖乖平息下去。.................心願-你許下了一個心願,你閉上眼睛,在冥想之中把這個心願交託宙給宇整個讓宇宙推動它全部的力.量去執行.,你看見星球與星球的引力牽繫著彼此,你聽見虛空與虛空.唱裡著和妙美的聲音,為了你的心願,整個宇宙正在相互傳遞,然後你放下了心願,不僅是放下,最好你還把你的心願忘記,唯有如此,它才能脫離你,發展它自己,
當它在宇宙的遊歷結束之後,它自然會來到你身邊,以你曾經希望的方式回應你,許下,只是讓它發生,放下,才是讓>它實現,你的心願使你懂得不能執著的奧秘...................
花蓮租車,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮租車,花蓮一日遊,花蓮租車,花蓮租車,花蓮租車,花蓮旅遊,花蓮旅遊,花蓮旅遊,花蓮租車,花蓮租車,租車,賞鯨,花蓮旅遊,花蓮泛舟,花蓮賞鯨,泛舟,溯溪,花蓮租車,花東旅遊,花蓮租車,花東旅遊,花蓮租車,租車,花蓮旅遊,花蓮租車,花蓮旅遊租車,花蓮租車,花蓮旅遊,租車,花蓮租車,花蓮租車,花蓮租車,花蓮租車,花蓮租車,花蓮租車,花蓮租車,花蓮租車,花東旅遊,花蓮旅遊,花蓮租車,花蓮租車,花蓮租車旅遊,花蓮旅遊租車,租車,花蓮旅遊推薦,花蓮旅遊包車,花蓮租車,花蓮,花蓮租車,花蓮地圖,花蓮旅遊,花蓮旅遊,花蓮旅遊景點,賞鯨,花蓮旅遊行程,花蓮旅遊,花東旅遊景點,花東旅遊行程,花蓮租車
Post a Comment