Tag: software testing

  • Communication in Testing and QA – How to Communicate

    Communication in Testing and QA may seem pointless in today’s over-communicated world. We can use so many methods of communication that the point may seem more like how to stop sending or receiving so much information rather than the reverse. That is missing the point of this particular topic. Communication is listed as the number one skill required in testers.

    The second question in our series is how to communicate. Again, this may seem like an unimportant question when there are so many methods of communication. Actually it is more important than ever. With so many methods of communication how do we make sure our message stands out to the final recipient. Clearly marketers spend a lot of their time thinking about this question and experimenting with various methods to get the attention of their target audience. Equally obviously, some Quality Assurance or Quality Control communication is mandated by the tool that exists in the organisation or the process that has been determined. For example, defects (or whatever they are called in your organisation) are often put into a tool and communicated via a workflow. There is ‘little scope for the imagination‘ in that process. However, for every other piece of communication the question of How it is communicated is critical.

    For example:

    1. We want to convince a large group of people to follow a certain path and also solicit their feedback – personal presentations to small groups may be the most effective even if it is time consuming
    2. We want to demonstrate the superiority of one methodology over another – graphs and charts may be the most effective even though we may think the answer is obvious
    3. We want to tell everyone some good news – a newsletter or announcement via electronic communication may be best even if we want to tell people in person

    We have only really scratched the surface of types and possibilities here. There are thousands more.

    Final Blog of the Series: Communication in Testing – Message; Audience; and Transmission Method

    Next Blog Series: Testing Centre of Excellence

  • Communication in Testing and QA – What to Communicate

    Communication in Testing and QA may seem pointless in today’s over-communicated world. We can use so many methods of communication that the point may seem more like how to stop sending or receiving so much information rather than the reverse. That is missing the point of this particular topic. Communication is listed as the number one skill required in testers.

    The first question is what to communicate. Again, this may seem like an unimportant question when everyone has the ability to know everything. Actually it is more important than ever. With the rise in volume of communication (although not the quality) the need to filter out extraneous information and provide the relevant information and only the relevant information is more critical. It is trivially easy to incorporate lots of material into each communication and hit Reply All. The net end result is lots of information but little content.

    So the initial question that needs to be addressed is ‘What is the content of the message’. While many people know the content of their message, few take the time to think it through in detail. It is assumed that whatever content has been placed in the message (frequently without thought) is correct, sufficient and not too much.

    The content of the message is one of the three most important items:

    1. What does the person, with whom you are communicating, need to know?
    2. How should that information be presented?
    3. What will help them make a decision or act as we want them to based on what we send them?

    These are all pieces of the content that need to be considered just before hitting that Send button.

    Next Week: Communication in Testing – How
    Final Blog of the Series: Communication in Testing – Message; Audience; and Transmission Method

    Next Blog Series: Testing Centre of Excellence

  • Communication in Testing and QA

    Communication in Testing and QA may seem pointless in today’s over-communicated world. We can use so many methods of communication that the point may seem more like how to stop sending or receiving so much information rather than the reverse. That is missing the point of this particular topic. Communication is listed as the number one skill required in testers and only yesterday employers were lamenting an inability to find personnel with the following three characteristics:

    1. Experience
    2. Soft Skills (including communication)
    3. Technical skills

    We cannot necessarily do much directly about items 1 and 3 above but we can certainly look at the second one in a general context.

    Obviously we are trying to convey information and that information is intended to allow people to make decisions as a result of that information. In the case of testers:

    1. It may be a Go/No Go decision on whether to promote a release to production
    2. It may be a priority decision on fixing a defect
    3. It may be a decision on continuing testing a particular release or set of code
    4. It may be a decision on whether to include or exclude a certain feature
    • We need to communicate.
    • We need to make sure the message reaches the right person or people.
    • We need to make sure the message is provided in the correct format.
    • We need to make sure that the message leads to the correct decision.

    Of those four points, the last one is the most important.

    Regardless of decision being made as a result of the information, there are several important questions that are even more critical in today’s over-communicated world and these will be the discussions for the next few weeks.

    Next Week: Communication in Testing – What
    Following Week: Communication in Testing – How
    Final Blog of the Series: Communication in Testing – Message; Audience; and Transmission Method

    Next Blog Series: Testing Centre of Excellence

  • Malthus on Testing – A New Paradigm

    Last week we completed our discussion of how the proposed solutions to the Malthusian Catastrophe are only postponing the inevitable. Unlike development which can always go forward and create new code, testing always has a regression component for any code that integrates with existing applications. This adds  to the testing effort but doesn’t necessarily add value.

    The proposal we outline here is not entirely new although we are carrying it to another level. Portions of this are being done and have been done for years. However, we are suggesting a more intense and more rigorous application.

    Today, we find many people integrating applications to build something. They can borrow code or entire applications and make something new from it. The statement “there is an app for that” has never been more mainstream. However, everything that is borrowed or utilized may (not always) need to be tested to some level so we can trust that it does what it says it does and operates the way we need it to in our new configuration. Add to that Security concerns dealing with applications that are not under our control and may not have been built to the same level as we need and the chance of our new application failing increases substantially.

    We are recommending that a library of code pieces are created that have the following characteristics:

    1. They carry out a known function under known conditions.
    2. They have been tested thoroughly by an independent entity to prove number 1.
    3. They are secure from being compromised.

    Number 2 above may have levels of testing just like there are levels of code today depending on the risk of the application for which they are being used but the same process applies.

    People developing applications would be able to use this library secure in the knowledge that the three points above are guaranteed.

    Next series: Communication in Testing,

  • Malthus on Testing – Rapid Testing

    Malthus on testing is not something that you hear often. Thomas Malthus was an English cleric and scholar, who said “The power of population is indefinitely greater than the power in the earth to produce subsistence for man”.

    Last week we discussed how Automated Testing has met or is going to meet its Malthusian Catastrophe fairly soon. While there is no doubt that automation has added greatly to the volume of testing that can be completed, it can be argued that the exponential increases in functionality that are easily programmed but not see easily (fully) tested will eventually overwhelm the scripts.

    Some people will advocate other methods of testing under one heading or another without explicitly mentioning the fact that everything is Risk Based. If the time or resources or both are limited, then people will use their knowledge to get as much done as possible within the available time and with the available resources. They will assess the risk and make an informed decision about what can be completed in the available time. They will assess the context in which they are working and determine what needs to be done. They will use their knowledge and experience to determine what to do. We have done this for years and there is nothing new about it. There are various techniques that can be followed to make sure that risk is reasonable. There are work processes and methodologies that will help.

    We can apply the above techniques to both are manual and automated testing and buy ourselves some more time. However, it is only a step along the way; not a solution

    Final Series Week: Malthus on Testing – New Paradigm. We will propose a new method or paradigm for testing that will address some of the problems.

    Next series: Communication in Testing,

  • Malthus on Testing – Automated

    Malthus on testing is not something that you hear often. Thomas Malthus was an English cleric and scholar, who said “The power of population is indefinitely greater than the power in the earth to produce subsistence for man”.

    Last week we discussed how Manual Testing met its Malthusian Catastrophe a long time ago. One of the proposed solutions to this issue was to Automate the testing using a variety of tools and processes. Certainly that allowed multitasking on the part of the tester. Automated tests could run on one machine ‘unattended’ while the tester concentrated on items that either could or should not be automated and new functionality that it was too early to automate. Coverage was maintained and sometimes increased.

    However, unless a large effort was made to maintain the automated tests, keep them current with the changing code and conditions, and add new scripts as new functionality was added to the system the coverage either was reduced in real terms or at least relative to complete functionality of the system. There are some organizations that actually claim to have all the automation they need to properly test yet have no idea of what is in the automated suite or what it covers. There are even those for whom the possession of the automated base, whether used or not is sufficient.

    We improved over manual testing. We did not solve the problem.

    It is quite safe to say that Automated Testing met its Malthusian Catastrophe a while ago. Unless a very large effort is made (usually beyond the efforts of most organizations), Automated Testing is not going to cover sufficient of the code either.

    Following week: Malthus on Testing – Rapid Testing
    Final Series Week: Malthus on Testing – New Paradigm. We will propose a new method or paradigm for testing that will address some of the problems.

  • Malthus on Testing – Manual

    Malthus on testing is not something that you hear often. Thomas Malthus was an English cleric and scholar, who said “The power of population is indefinitely greater than the power in the earth to produce subsistence for man”.

    How does this relate to software testing and in particular, for this week, manual testing? Well if we paraphrase the Mathus’ statement a little bit we could say that the ability of people to add applications is far greater than the ability of people to keep up via testing. Add to that the necessity for regression testing of the existing applications and then the interconnections with other applications that is occurring at large speed and one can see that the possibility of the application functionality and complexity far outstripping the ability of manual testers to keep up.

    A lot of people recognized this very early and proposed a variety of solutions to the problem. We will discuss those in the coming weeks with particular emphasis on Automation and Rapid Testing. Others have recognized the impossibility of keeping up and have resorted to Risk Based Testing. With very few exceptions, all testing these days is Risk Based. We accept the fact that we cannot anticipate completing everything and as a result we make a risk judgement on what is most critical to be completed. The Risk Assessment is based on a lot of assumptions and some of the assumptions are not validated thoroughly.

    It is quite safe to say that Manual Testing met its Malthusian Catastrophe a long time ago. We no longer anticipate covering even a majority of the code.

    Next week: Malthus on Testing – Automated
    Following week: Malthus on Testing – Rapid Testing
    Final Series Week: Malthus on Testing – New Paradigm. We will propose a new method or paradigm for testing that will address some of the problems.

  • Quality Assurance for Startups – Part 4

    The last three posts have concentrated on Quality Assurance for Startups. Next week we will move into Starting Quality Assurance (for an already existing organization). However, we will finish off this week with some small examples of Quality Assurance Processes that a Startup can adopt for little or no cost.

    The first and easiest one is a Incident Tracking Process; definitions, and standards. You can easily  download a free Incident Tracker online or simply use an Excel Spreadsheet. The part that tends to get ignored is the process and standards. Generating a incident tracking flow chart can be done on paper and takes little time to create and post. Standards for the Priority and Severity for incidents can be downloaded from the Internet or generated. The resistance is usually because it is viewed as unnecessary at this stage. However, if it is created and posted at this stage, it becomes part of the culture.

    The second one is the code control and promotion process. Similar to the above, it is generally not viewed as worthwhile at the Startup stage since everyone knows where the code is and how it is to be treated. It is also likely that not all steps or stages are needed at this time. However, another flow chart showing the steps and the expectations at this stage can save a lot of concerns later. The diagram will need to be augmented as the company grows and becomes more complex but the initial diagram is quick to create and solves a lot of problems.

    The third one is testing processes. Again, it may look like too much effort for too little return at this stage but the creation of a testing process, standards, and definitions can be very effective in ensuring that everyone is working in the same way and can avoid a lot of repetition and redundancy.

    None of the above are intended to take more than a few minutes to create and set up. The payback is quite high and long term benefits are huge.