99tests

Software Testing Community blog

  • Home
  • Pricing
  • Blog
  • Contact Us

How to log bugs the Google way: The ACC Methodology

November 25, 2016 by 99tests 7 Comments

When you create applications for millions of people world-wide, you can not leave anything to chance. Google’s success in the app market can be attributed to the high quality of software they deliver. Google uses a unique ACC based testing strategy to align their testing efforts with development.

How to log bugs the Google way: The ACC Methodology
How to log bugs the Google way: The ACC Methodology

In our webinar session, “How To log bugs the Google way”, we have covered the testing strategies used by Google to successfully test their software products. The webinar gives insights on how Google uses the ACC model to test its products and develop app features. You can also watch the complete recording of our webinar session here:

 

The ACC Methodology

ACC stands for Attributes, Components & Capabilities:

  1. Attributes that describe the product’s purpose and goals.
  2. Components that identify the various parts.
  3. Capabilities that indicate what the product actually does.

The ACC model basically helps you prioritize your testing efforts in line with app features that matter the most. This model of software development offers more flexibility and scope for testing especially when new features are introduced, something which Google has capitalized to develop new and better app features.

The planning of tests with the ACC model helps you to know what test cases need to be written. Components perform some function to satisfy an attribute of the product and the result of this interaction is providing some form of capability to a user. ACC thus helps the planner with a bird’s eye view of the software product.

a) Attributes

These are those aspects that describes the product’s purpose and goals. Just like adjectives that describe nouns by giving some information, an attribute describes qualities of an app like speed. For example, the attributes for a mobile wallet app can be – Secure, Easy, Reliable, Configurable etc.

You can create a list of attributes for a software if you can answer the following:

  1. What the product does to support the core reasons for the product existence?
  2. Why is it so interesting to customers?
  3. Qualities that promote the product and distinguish it from the competition.

You can use the following tips for coming up with attributes:

  1. Keep it simple. Don’t spend hours getting the list of attributes. The simpler, the better.
  2. Keep it accurate. The information should come from a reliable source or reviewed, approved and accepted by the team.
  3. Keep it moving. The list might increase as you use the ACC table, do not wait to make it perfect.
  4. Keep it short. There should not be more than 12 attributes.

b) Components

They are the building blocks that together constitute the system. Just like a noun that denotes a person, animal, place, thing, or idea, a component defines an app feature. Examples include Signup, Login, Settings, Search, Cart, Payment etc.

You can create a list of components if:

  1. You have the updated design document.
  2. You have access to the application.
  3. You can go and ask each and every developer on the component/feature that they are working on.

Tips for coming up with attributes include:

  1. Choose the major app features and not all the features of the application
  2. Keep the list small. 10 is good and 20 is too many!

c) Capabilities

Just like a Verb that describes an action, state, or occurrence, capabilities represent the actions the system performs based on the command or input. These are activities that a user is trying to achieve in the application. They form the intersection of component and attributes. For example, in case of a mobile wallet with the component as “profile” and attribute as “configurable”, the capabilities will be:

  1. User should be able to configure their bank account with the wallet.
  2. User should be able to enable and disable their bank account.
  3. User should not be able to add accounts which does not comply to the respective country’s regulations.

You can come up with capabilities if,

  1. You are able to intersect the attributes and components.
  2. You understand how the product works.

Tips for coming up with capabilities:

  1. List only the most important capabilities.
  2. These are mostly user oriented and conveys a user’s view of the system.
  3. Capabilities can be designed to form use cases which in turn can have multiple scenarios for testing which form the test cases.

More Examples of capabilities for Mobile Wallets

  • Users should be able to signup with their social accounts.
  • Before completing the transaction, a confirmation message should be visible to the user.
  • On adding money from the user’s bank, the wallet should be updated with the correct
  • On adding money from the user’s bank, the user should receive a confirmation message/email.
  • Adding money from the bank should be done over https protocol.

Thus the ACC model gives you a bird’s eye view of the product’s key attributes, components & capabilities. With the ACC table it becomes easier for project managers to discover vulnerable app components and attributes that need attention. You can access the summary of the key points covered in the ACC model with this Slideshare link:

How to log bugs the Google way: The ACC Methodology from 99tests

 

Write For Us

Want to write for us? We’d love to publish guest posts from testers & QA experts who can offer unique & useful perspectives in software testing. Share your own testing experiences & tips with our readers.

To get featured, mail us your article at Bharath@99tests.com with the subject line ‘Guest Blogging’. Don’t forget to provide a short bio & social links for your byline. We allow 1 do-follow link to your website from the article body, as long as it is not promotional. Do write to us, if you’d like to learn more.

 

Filed Under: Blog Tagged With: ACC Model, Google, Software Development, Software Testing

Author Spotlight

This is a guest post submitted on the 99tests blog. 99tests is a crowd testing platform to get your mobile & web apps tested by top notch software testers. 
More posts by the Author »

Comments

  1. Test dragon says

    November 29, 2016 at 7:31 am

    Very useful stuff.

    Reply
  2. Ashutosh Jain says

    November 29, 2016 at 8:11 am

    Thanks for sharing a great way of testing future products.

    It is so helpful while developing test cases for any product.

    Reply
  3. Yogesh Kumari says

    November 29, 2016 at 4:58 pm

    Really helpful. Thanks 🙂

    Reply
  4. Jesus Acevedo says

    November 29, 2016 at 6:16 pm

    Thank you for the Information. ACC is a very useful tool to create Quality testing efforts.

    Reply
  5. Siyaram Patidar says

    November 30, 2016 at 9:31 am

    Thank you 99tests team.

    This one really nice – amazing way to do test planning and then develop & manage tests.

    Reply
  6. Gaurav Khurana says

    December 19, 2016 at 3:04 am

    It’s good to know the methodology used by Google to Test their software. This one is easy to understand at a level when there is a product launch. Would be interesting to know how they plan small changes, like increasing performance or changing few algorithms.

    The main thing that comes out of this is, keep the things simple and think from a very high level like a user uses the software,so you can think like user and test like user.

    Reply

Trackbacks

  1. Five Blogs – 28 November 2016 – 5blogs says:
    November 28, 2016 at 5:02 am

    […] How to log bugs the Google way: The ACC Methodology Written by: Bharath S […]

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

WRITE FOR US

To get featured, mail us your article at marketing@99tests.com with the subject line ‘Guest Blogging’. Don’t forget to provide a short bio & social links for your byline. We allow 1 do-follow link to your website from the article body, as long as it is not promotional. Do write to us, if you’d like to learn more.

Follow 99tests

Read Recent Posts

Why is Cross-Browser Testing Important?

Why is Cross-Browser Testing Important?

July 13, 2019 By 99tests

Top 7 Cross-Browser Testing Tools for 2019

Top 7 Cross-Browser Testing Tools for 2019

July 10, 2019 By 99tests

Understanding the Software Testing Life Cycle (STLC)

Understanding the Software Testing Life Cycle (STLC)

July 8, 2019 By 99tests

Software Testing Standards of 2019

Software Testing Standards of 2019

July 5, 2019 By 99tests

About Us

99tests is a crowd sourced testing and automation platform for mobile and web apps. In our blog, we cover the latest trends and insights in software testing and apps economy.

99tests

99tests is a crowdsourced testing platform to get your mobile & web apps tested by top notch testing professionals. Join 200+ clients who use 99tests to make their apps incredible.

Recent

  • Why is Cross-Browser Testing Important?
  • Top 7 Cross-Browser Testing Tools for 2019
  • Understanding the Software Testing Life Cycle (STLC)
  • Software Testing Standards of 2019

Search

Connect With Us

Copyright © 2019 · Magazine Pro Theme on Genesis Framework · WordPress · Log in