Archive

Category Archives for "ISTQB"

What is difference between SIT and UAT testing?

If you have ever worked in system testing, you must have seen when a system does not integrate correctly or just doesn’t work as expected, even after the system testing has passed. This is usually due to the lack of SIT (System integration testing), but how is this different from UAT? Let me explain…

What is the difference between SIT and UAT testing? SIT (System Integration Testing) focusses on proving that the system functions integrate successfully. With each input/output message invoking the next function successfully. Whereas UAT proves that the system meets the User requirements.

Now you know the difference. Let me explain who works on these phases, how they fit into the software development life cycle, the different types that are available and more.

What is UAT testing?

UAT (User Acceptance Testing) testing is a method to verify that the system application meets the user requirements that were laid out before the software development began.

It verifies from a user perspective that they are happy to accept the system.

What is SIT?

SIT stands for Software Integration Testing. It is basically a way to verify that the overall system integrates with the subsystem modules as expected.

Essentially, it makes sure that the end-to-end system hangs together as expected after system testing.

SIT typically follows system testing and is based on verifying that the system meets the functional specification. This is the process typically used with the V-model.

When is UAT usually done?

UAT usually happens towards the end of a project test phase. Usually, the last step before the system is accepted to go into production.

This is after its been proven in system testing, SIT and sometimes other phases such as OAT (Operational Acceptance Testing).

The reason it is usually at the end of the project is that at this point in time the system should be almost clear of all system serious system defects.

In fact, if you are following the correct procedure it will have had to have passed the exit criteria (click here to see what QA sign off is) of the other phases before it gets to UAT. So, by that time there should only be non-show stopper defects if any.

Who usually carries out this UAT testing?

UAT testing is typically done by a designated product owner. When I say product owner, these are users that typically use the system day in day out and are deemed as product experts or SMEs (Subject matter experts).

When I say experts they are not necessarily technical people. They are usually very skilled in using the application on a day-to-day basis, so they know all the nuances or expected behaviors, are you with me?

As well as verifying the requirements have been met, they are ideal for catching ad-hoc issues that could ordinarily get missed by a less experienced individual.

Their input is valuable because there are a lot of things that they know about the system that maybe even the technical testers may overlook.

Who usually does SIT?

SIT is usually done by very technical and skilled testers. These are usually dedicated resource who focus on testing in their job role.

They usually have very good technical skills and understanding of the modules that will be integrated. For example, these skills may include advanced SQL query skills.

What types of UAT testing are there?

There are two types of UAT testing which are as follows:

  • Alpha testing
  • Beta testing

In all honesty, these distinct types of UAT testing are not always implemented by every company. In my years of experience working on software projects, which includes some large blue-chip companies, it is very rarely split up into these two distinct phases.

But, for your benefit, I will break these two distinct approaches.

Alpha testing

Alpha UAT is typically done on the development site by a product owner or user accepted acceptance representative. This user will be able to test the system at the control of the development or project team.

Therefore, the project team is still largely in control of the environment and user access, etc.

Beta testing

Beta testing, on the other hand, is typically done on the clients actual site. This is using their own environment outside of the project teams control.

The benefit is, it mimics the real-life environment more. There still may be a representative from the project team on site to lend assistance, but not always.

Let me share an example of this from my experience of testing. Whilst working for an energy software consultancy. We were tasked with providing some software for them.

After SIT testing, was a phase of UAT on the client site using their environment. Any defects were entered into our defect management system for triage.

So what types of SIT is there?

SIT can also be broken down into two major approaches:

  • Top-down
  • Bottom-up

Let Me Explain…

Top-down approach

The top-down approach is focusing on the main parent function. The child modules can or will be replaced by stubs.

What is a stub?….

A stub is a test harness that will return an expected result to a parent function. This is used to test an application with missing (or incomplete) functions.

For example…  Cash machine…

Let’s assume we have a cash machine application and we want to test the interface that the customer uses (the parent module). In this example we want to test that the interface links to two child functions:

  • Withdraw cash page
  • View Statement

In this example, we could replace the whole withdrawal cash page with a stub. This could be written to return an expected value when the user selects the option from the main interface page.

This is a way of testing to see how the parent function will perform in the absence of the parent function.

Bottom up approach

The bottom up approach is essentially the complete opposite of top-down. You start with the lower level modules and use drivers instead of stubs.

A driver is the opposite of a stub. It will actually provide the input that you expect into a bottom level function to prove that the child function works.

So if we revert back to a cash machine application example…

If we want to prove that after viewing your statement you are returned to the parent menu. A driver could be used to provide a value to confirm that it performed as expected.

The importance of a UAT Kick-off meeting.

An information session or UAT kick-off session is a basic session to transfer information to the UAT testers before starting the UAT phase.

In this session, you will give important information such as

  • login information
  • System availability times
  • The expected duration of the UAT phase
  • Who is the point of call for any issues
  • Defect detail expectations
  • If screenshots are required and detail required

So, in a nutshell, it’s a way of establishing the expectation for UAT after following system integration testing.

In my experience of UAT testing, this is always been a very useful session. Because, if you do not have this initial startup information meeting you will find that you’ll get a lot of these questions asked by multiple people during the test process. Often, you will end up duplicating information again and again.

Related questions:

What is the difference between SIT and System Testing? SIT, as discussed earlier, is mainly focused on how the individual system application modules integrate together.

System Testing focuses on the behavior of the system functions. Hence the reason why it is often called functional testing. The goal of System testing is to prove the system meets the functional specification.

Why do you even need system integration testing? It proves the dependencies between system modules. Sometimes it is possible to get carried away focusing on which tests pass at a functional level.

But, not focusing on how they will hang together once all the functions are proven.

Progression vs Regression Testing (Big Difference?)

If you have ever heard of progression testing, then the chances are, you may have heard of regression testing. But are they different? similar, or something completely different? Let me explain…

What’s the difference between progression and regression testing? Progression testing focusses on new functionality and proving that it works as per the requirements. Whereas regression testing focuses on proving that existing functions of the application are not broken from the addition of new code.

During my years of testing, regression, and progression testing have been critical. Especially when you are dealing with systems that have serious impacts on customers. So, let me explain in further detail the major differences. In addition to this, I will give some examples to make it more understandable.

What is progression testing?

Is reality its another word for saying functional testing. Some people also refer to this as incremental testing (Click here to see what the incremental model really is), depending on what type of testing model you’re using.

Essentially, it’s testing new functionality in a methodical approach. To make sure that the new functionality matches the desired requirements.

I say sometimes referred to as the “incremental model” because it depends on what model of testing is being used. For example, you could be using the V-model.

However, whatever your model of choice is, progression testing still comes down to testing new functionality against your requirements.

What exactly is functional testing?

Functional testing is a method of verifying the outcome of the application in comparison to the agreed requirements.

It is often referred to as a form of “black box testing”. This is commonly referred to as black box because we are not focused on the underlying code for this. Testing code modules is known as unit testing (Click here to see the difference between unit and integration testing) or “white box testing”.

So, ultimately with functional testing, you are looking at the functions of the system and making sure that expected outputs are seen, are you with me?

So, what is regression testing?

Regression testing (Click here to see What Change Related Testing is?) is different from progression testing. Ultimately, with regression testing, we are making sure that we have not broken anything when we introduce new code. Simple as that.

Let me give you a working example here…

Example: Calculator App

Let’s assume that you’re testing a calculator application. Currently, it is very basic and can only add and subtract, nothing else.

Now requirements have been drawn up to add a multiplication feature to this app. We can also assume that the application is fully functional and in production at present.

To regression test, the calculator application after the new multiplication feature is tested. You need do some additional tests to:

  • verify that the addition feature is still working.
  • verify that the subtraction feature is also still working.

Why do we need regression testing?

Regression testing is needed because mistakes or errors in code can be expensive to clean up post-go-live.

Typically you’d need to use regression techniques for the following situations:

  • If you have a new defect fix.
  • New functionality (Such as the calculator example above).
  • Performance improvement.
  • Routine maintenance release.

All of these potential changes can provide a risk of damaging existing functionality which can have adverse cost effects to the business if they are not tested.

How do you do regression test?

Once you have decided that regression testing is important and worth the time investment. You then need to think to yourself, how are you going to tackle it? Let me explain…

Essentially, there are three main ways to approach regression testing:

  • Test everything
  • Test a selection of test cases
  • Prioritize testing (Risk-based)

Testing everything

Testing everything is one of the most thorough ways of doing regression testing. Meaning you test the entire suite of tests after every new change is implemented.

You’ll often find that most companies will not want to invest in this. Simply because there is a massive cost impact for doing this.

To be perfectly honest, from my experience of testing, it just isn’t feasible to be able to do this every time a change is implemented into the system. So, it’s unlikely that this will ever be used.

A selection of tests

A selection of test cases can be chosen instead. This is usually the approach businesses choose. But there a decision made on what to test.  In some cases, a standard regression suite can be selected for this purpose. Depending on the business needs.

Prioritizing test cases (Risk-based approach)

Prioritizing is a clever way to select which test cases should be tested first. Depending on time restraints its likely that only the high priority regression tests will be executed.

Essentially, you and your project team make a risk assessment on which test cases need to be focused first. This could be based on the risk of the system being impacted or it could be based on how often a particular function is used.

There can be a number of different reasons behind these decisions. But, essentially it comes down to testing only a subset of test cases based on their perceived priority or risk Factor.

Related questions:

Q: How do you use regression testing in agile?

In agile testing, you mainly use short sprints of functionality (click here to see what an Agile sprint is) to test. Therefore there are two main ways that you can tackle regression testing in agile:

At the Sprint level

At this sprint-level, you will effectively test the functionality which is relevant to that particular sprint. It is more of a scaled-down modular based approach.

End-to-end

The end-to-end approach Focuses on the entire application. With each sprint module talking to each other. To regression test this, a selection of test cases are run to ensure that there are no problems (defects).

In modern agile testing, there is a growing appetite to automate the majority of these tests to speed up the delivery to market.

For example, in my experience of testing, I was working for a well-known mobile telecommunication company. They had a Christmas promotion one year targeting millions of homes.

Effectively it was offering their customer base as a special offer for Christmas. This was new functionality added to an existing codebase. Therefore, a large amount of repeatable regression testing was required.

Due to the number of man-hours required to test this manually a decision was made to use selenium test automation suite.

We implemented the selenium test automation suite to go through many laborious iterations of dropdown forms on a web application. This is an example of how test automation could be used to speed up regression testing

Q: What are the test automation regression tools are there?

As mentioned above Selenium is one good example. However, there are quite a few others such as QTP, winrunner,  etc.

Q: What are the advantages and disadvantages of regression testing?

The advantages of regression testing is it gives your application higher quality delivery. It’s one of the best ways to secure the quality of your application.

Also, you have the advantage of being able to automate some of these laborious tests to speed up the delivery.

Disadvantages

Disadvantages are the additional cost that comes along with regression testing to bolt onto a project. Unfortunately, some companies have a tight budget and cut corners. This can be a disadvantage.

Also if automation is not an option for your company due to lack of budget for the tools, you are left with quite a large burden of manual tests.

Either way, in my opinion, regression is critical. And, although it may seem expensive when you look at the costs up front, long term it can save your company some serious time and money downstream. The costs after going live can be exponentially more than if it was picked up before then.

9 Ways to Prepare for the ISTQB Foundation

Preparation is absolutely key to your success with the ISTQB foundation exam. It is definitely achievable if you know how to prepare correctly. let me explain…

How can you prepare for the ISTQB Foundation exam? You need to use a combination of self-study, textbooks, sample exam papers, the actual ISTQB foundation course syllabus, getting familiar with the exam time restrictions and exam format.

Now you know what you should be doing to prepare let me break down exactly how you can implement this starting today. For this, I have 9 ways that can help you prepare:

01. Self-study

You may find that paying for a training course is quite expensive. Unless you’ve been given a budget from your workplace. For that reason, it is advisable to do self-study.

Self-study can be done in many different ways but one good way of doing it is using a study group.

This is basically a collection of people that have the same goal of completing the ISTQB exam. You can pool your resources to make sure that you can make studying a lot easier, faster and more fun.

The best tactical way to approach this is to have each person in the group responsible for a specific section or topic. Then ask them to present their findings. After the presentation, they should ask the group questions to test if they have retained the information.

Be mindful that this is just a suggestion. There are many different ways of doing this. But, this is one good way of retaining the information in preparation for the exam.

02. Using the syllabus in combination with a textbook

The textbook that I recommend is this (Click to see the price on Amazon) it is a great textbook to use in collaboration with the official ISTQB syllabus.

I highly recommend that you go through the textbook first in detail and then follow up with the syllabus. The reason for this is the textbook is structured in a great way that will help you understand what you need to do and the concepts within the exam.

The syllabus is crucial because it is always updated and you can download the latest version from the ISTQB website. And, this will also work hand-in-hand with the textbook.

03. Check out the Glossary

As you are referring to the syllabus you may come across various acronyms or words that are unfamiliar to you. A good way to understand these terms is to go through the glossary to make sure that you truly understand them.

It’s important not to just gloss over unknown acronyms or words because you may get tripped up in the exam if you do not have a good understanding.

04. Use sample exam papers

This is essential (Click here for some sample exam papers) because it will give you an idea of how the test questions are actually formatted. And, help you get a good feel for the multiple choice questions that you will get in the real exam.

Personally, I love these sample papers. When I was doing my exams for my degree, I used to love getting mock exams because it gave me a taste of what to expect. And, in most cases, the real exam papers were very similar.

When I did my ISTQB foundation exam especially, they were also essential.

However, I would say that you need to understand that these are sample papers. And, they are not actual papers taken from the actual ISTQB exam. Therefore, do not think that you can literally just study every sample paper and guarantee that the question will come up.

Because there is a good chance that you will get different questions. Reason being, the questions are always being updated each year.

05. Get yourself familiar with the format of the exam

During my years of study, one thing I noticed, that separated the high achievers from the people that struggled in exams was preparation.

Not just the actual study of the exam topics but organizing their time so that they didn’t run out of time during the exam, are you with me?

For example, if you have a 2-hour exam and you spend the first 30 minutes on the first couple of questions you may not get to complete all the answers. You may simply run out of time by not pacing yourself correctly.

So for the ISTQB Foundation level exam, you need to know the following: It is 40 questions and you have to get at least 65% of these correct to pass. That’s the most important thing to take in.

Therefore that means you need to get at least 26 of the questions correct in the time period that you are given to pass.

The time period is 60 minutes. By the way, it is 75 minutes in countries where English is not their first language, for example in Canada, where they have French as their first language, in some parts.

Therefore for English speaking countries, you need to make sure that your 60 minutes is used wisely.

06. Revise, revise & revise!

I can’t emphasize how important it is to make sure that you revised hard for the exam. Do not underestimate the exam. Maybe you have heard from other people that it is easy?

You will fail if you turn up unprepared!

The importance of doing more than Just reading

Your mind is likely to let you down if only you focus on just reading the material over and over. That’s why it’s important to take notes.

For the human brain to consume information it needs visuals, sound, and tactility.

Therefore it is a good idea to actually write down notes of important sections in the book, and then go through these notes. Read them out loud and it will stick in your mind more.

The reason for this is as you read it you take in information initially, but as you write it with your hands you then reinforce the understanding and mental retention. Finally, when you read your notes out loud, it will cement the topic in your mind.

07. Look out for things that may trip you up

Although this exam does not have negative questions it is designed in such a way where a lot of the answers look very similar.

Also, you may find that there are little words such as “Not” or “Never” that are nested in the sentences that could easily be overlooked if you quickly skim read it.

Therefore, I highly advise that you take the time to read through the questions at least a couple of times before taking your multiple choice answer.

Obviously, you still need to be mindful of the time that you have available. Because you only have 60 minutes (in English speaking countries) so it’s important that you take that into consideration as well.

08. Prepare to use a backup

If you take the option of doing the online exam which is typically done in one of the exam centers make sure that you use the option of the backup paper.

Most people overlook this because they don’t really want to spend the time of writing things down. They want to just put all of the answers directly into the online portal.

However, this is a mistake. The problem with this is if there is any technical issues with the online exam you will lose everything and you do not want to have to do this again.

It has been known that people have experienced technical issues during the exam, like any online portal, and they have not had a backup. And this has been detrimental. So, don’t let this happen to you.

09. Areas that you should focus in on

So in this section, I’m going to provide a few areas that are usually in the exam that you should focus on

They are Concepts that will help you in the real world of testing that will come up from time to time so it’s good practice to know these pretty well anyway:

  • Black box testing
  • Equivalence partitioning
  • Boundary value analysis

Related questions:

Q: Is the ISTQB foundation level certificate easy?

No, I wouldn’t say it’s easy I would say you stand a good chance of passing if you come prepared. If you arrive at the exam with the notion that is easy you can get complacent and overlook the basics.

This will typically end up with you having to retake the exam. So make sure you’re prepared and do not underestimate the task.

Q: How long does it take to prepare for the exam?

If you are focused on studying, most people can get them self prepared in 3 to 4 weeks. However, if you are not focused or you’ve got other important things to do in your life you may find that it may take longer such as 4 to 6 weeks. It may be even more.

If money is not an issue and time is a problem you may even consider going to one of the intensive training courses.

These are two or three-day courses where they work you through the syllabus in the first couple of days followed by taking the exam on the third day. With the goal of you passing your certificate within that week.

To be honest this was the route that I took and was quite beneficial. However, I had the benefit of my workplace paying for the bill and covering the costs. If this is not the case for you then that might not be a luxury you can consider.

Is Quality Assurance a Good Career Path?

If you are new to the industry making a choice about quality assurance could be daunting. Is it really worth pursuing? could you earn well? Let me explain…

Is quality assurance a good career path? Yes, it has many different high paying roles with great prospects. It is also something that you can feel proud about when asked “What do you do?” by a family member.

Now you know its worth it, what kind of roles are there, how do you get in, what is the typical salary, and what qualifications do you need? Let me explain…

What is quality assurance?

Quality assurance is a formalized process to prove that system requirements have been delivered and that the system is fit for purpose.

It is actually twofold, firstly it focuses on confirming to the management and project team that the system has delivered as per the requirements.

And also it there is a quality gate to make sure that customers receive the highest possible quality software.

Why do companies even need quality assurance?

Quality assurance is important to companies for a number of different reasons. In this section, I’m going to break down a number of reasons why it is necessary:

Reduces cost

This may seem like a funny thing to say because quality assurance in itself has costs. Such as paying for testers salaries, costs to draught up requirements by BAs and test planning, etc.

However, after many years of experience of software production, the industry has been proven time and time again that it is cheaper to spend the money upfront to get the best quality rather than trying to clean up the mess after the software has been delivered.

Once the software is live and in production it is very hard to control the costs and clear up the mess.

Maintaining customer expectations and Brand loyalty

Apart from the actual costs of cleaning up errors once the system is live, there is also the potential damage to a companies reputation to consider.

Once a customer gets frustrated with software they never really give it a second chance. They typically move onto the competitor as soon as possible.

Therefore to avoid this happening in the first instance quality assurance is important to mitigate this risk.

Improving team motivation

If your team respects the software that they’re working with they will work harder to maintain quality, simple!

Think of it logically, if you were working in a restaurant and you know deep down the food that you’re serving is low-quality,  will you feel embarrassed to serve the food? Of course!

Let’s be honest, you may not even want to continue working there, right?

It is the same concept as software. If your employees and team are passionate about the software, because it actually delivers, and is quality, then it will improve their morale and motivation. This is why quality assurance is important.

So, what career paths are actually available in quality assurance?

Quality assurance has two major routes that you can take in your career:

  • Managerial angle
  • Technical angle

Personally, in my career, I have taken the managerial angle. And I have done this for a number of years. but let me explain these two different routes right now:

Managerial angle

The managerial angle is not just dedicated to being a test manager, in fact, there are a few different roles in this direction such as:

  • Test manager
  • Test lead
  • Project manager
  • Business analyst (BA)
  • Programme Manager

Technical angle

Similar to the managerial roles, there are quite a few technical roles, such as:

  • Technical tester (Mainly advanced SQL, large migrations, etc)
  • Performance tester (e..g Load Runner)
  • Automation Tester (e.g. Selenium)
  • Senior Tester (e.g. Manual testing expert)

What kind of salary can you expect to make in quality assurance?

According to cwjobs, software testing professionals in quality assurance earn the following salaries:

  • Permanent quality assurance professionals £47k
  • Contract quality assurance professionals £91k

These are broad averages and be mindful that there are a number of different roles in these areas which could earn significantly more or even significantly less.

For example, an entry-level permanent tester may start off at £25-30k and a test manager could earn £70k+.

The purpose of this is to give you a rough average. Also, be mindful that these costs are based on the United Kingdom. Depending on where you live in the world the earnings will be different depending on your economy.

Why do contractors earn more than salaried employees?

You may have noticed from the averages above the contract workers earn significantly more than the salaried employees, but why is this (Click here to see my full article why contractors earn so much)?

In summary, this is because a salaried employee has additional benefits in their pay package that is not reflected in their net salary, for example:

  • Holidays
  • Healthcare benefits
  • Paid sick leave
  • Company cars

So, as you can see there are a lot of hidden bonuses as a permanent employee that are not reflected in this net salary.

However, depending on your circumstances, either of these is great. It all depends on your risk tolerance and your confidence levels.

As a contractor, you run the risk of being out of contract for periods of time. Some people do not have the confidence or appetite for risk to take this on. Especially if they have families to feed.

How do you become a QA professional?

To become a QA professional, from the beginning, you will usually need a degree and this is preferred in computing or computer science.

However, there are other qualifications that are accepted such as a BTECH, GNVQ and other related qualifications.

Depending on what level you wish to join you will usually be expected to have real-life experience in the industry that you want to work for.

Especially if you want to pursue a contract position. For contractors experience is critical. To be honest, the experience is more important than any vocational qualification in this instance.

In addition to this, a professional qualification such as an ISTQB foundation in software testing (click here to see 11 benefits of the ISTQB certification)  is usually required.

You will usually find that recruiters will not even contact or shortlist you for a role unless you have a professional qualification such as an ISTQB.

Other routes into quality assurance can be working your way up, through a career ladder within a company. For example, you could start off by working in a call center in a telecoms company. And then gradually working your way into a support role, and then into a UAT role. Then into an entry level system testing role, etc.

This route may seem long-winded and maybe unbelievable but this is based on my own personal experience of working with people that have taken that exact same route!

Bear in mind that this is not limited to this route. It is just one example of many different ways of doing it.

Related questions:

What is the difference between QA and QC? QA (or quality assurance) and QC (or quality control) are two different things which are closely related.

QA is a proactive methodology to find issues in software products before they hit the market. Whereas QC is a reactive process to ensure the quality of a product that has already been released.

ISTQB vs ISQI (What is the difference?)

If you are keen to get certified as a software tester, then no doubt you have heard of ISTQB and ISQI. On some resources, their name is used interchangeably. However, they are linked but not the same at all. Let me explain…

What is the difference between ISTQB and ISQI? ISTQB (International Software Testing Qualifications Board) is a non-profit organization that creates testing courses. ISQI (International Software Quality Institue) organize and facilitate the exams and courses provided by the ISTQB.

Now you know the difference between these two acronyms and organizations, let me explain more about the ISQI, how they work with ISTQB, what other courses they offer if they actually provide their own courses and more.

What is ISQI?

ISQI (International Software Quality Institute) is a company which actually organizes/sells examinations and test courses. However, they are not the company that actually put the courses together.

As I will reveal later on in this article they work very closely with organizations such as the ISTQB to provide an examination and course material for their customers around the world.

So, what is the ISTQB?

The acronym itself stands for the International Software Testing Qualifications Board. Essentially this non-profit organization compiles/creates software testing courses.

They work closely with companies such as ISQI, who sell and facilitate the actual exams and administer the courses that they put together.

The courses that are compiled by the ISTQB rely on hundreds of professional volunteers worldwide. This is to ensure that the standards remain high and that the courses are of high quality.

Does the ISQI also offer its own training courses?

No, they only offer training courses that have been provided by other organizations. In fact, they actually promote this as a benefit.

They say this improves the validity of their courses and shows that they have no bias towards the actual courses that they are selling.

They are merely partners of the organizations that put together the courses rather than actually writing the courses themselves, are you with me?

How does ISQI work with the ISTQB?

The ISQI work with 14 different ISTQB boards around the world. This covers up to 33 different countries.

They also have over 5000 different physical venues where they provide testing examination facilities.

For example, if you would prefer to do an ISTQB Foundation level certification. And, you want to do it online, you can go to one of their test centers.

These test centers will provide a controlled environment to make sure that there is no cheating and also to improve a standard test for every participant.

At these centers, an individual will take the ISTQB course on the ISQI venue. This is how they partner up with organizations like ISTQB.

ISQI have a number of different categories of Interest. Not only software testing. In fact, they refer to these different categories as “Special Interest Groups (SIGs)”.

An example of these categories/SIGS include:

  • Project Management
  • Mobile Apps
  • Agile
  • Test Data Management
  • and more.

So what types of qualifications do ISQI offer?

They offer many different courses, across many different categories/SIGS. As discussed earlier in this article, this can be from project management to mobile app testing. But, for your benefit I’ll give you an example of a few of the courses that they have in software testing:

Istqb certified tester – Model-Based Testing

This is more of an advanced level course which is aimed at extending some of these standard practices that are covered in the ISTQB foundation level (Click Here to see the benefits of the ISTQB certification ) such as equivalence partitioning, boundary value analysis, and decision tables.

Ideally, you should have the foundation level before you move onto this course.

Certified tester Foundation level

This is the bread-and-butter entry-level Foundation level certification (CFTL) which I have discussed on this site in many different articles. This is one of the most popular and recognized certifications in software testing across the world.

Certified tester advanced level test manager

This course is also based at an advanced level. To even qualify for this you need to have done the foundation level certification.

However, in addition to this, you need to have at least a minimum of 18 months of real-world testing experience in the industry to be considered for this course.

It covers all areas of software test management, planning, validation, estimation and a number of core competencies that are required to be a test manager.

This is a good one to have on your CV. But, also remember that nothing beats experience. So, while this is great on the CV, most employers will always be looking for your years of experience as a test manager rather than a certification to prove you know what to do.

As I have been in the software testing industry for nearly 20 years now, I speak from experience of actually doing a test management role. And I have seen exactly what requirements that companies are looking for.

Related Questions:

Can I take the ISTQB exam online? Yes, you can. But, you can’t just log onto a website and do it on your mobile or in your home. You need to go to an approved test center.

This is to ensure the quality of the exam is upheld. And, to make sure that no cheating is done. Also, keep the circumstances standard for every participant.

The chances are you can find one of these test centers local to you. This is because they have over 5000 test centers around the world.

Does the ISTQB certification expire? No, it doesn’t expire. Once you have done the certification it is yours for life. Funnily enough, I remember being asked this in a recent contract within the last few years.

After looking into it, I was pleasantly surprised to find that it does not have an expiry date. Simply because at that time I had the qualification for nearly 10 years and was worried I missed an expiration period 😉

However, there are some testing certifications such as the CSTP, which do have an expiry date. For example, this one will expire after 3 years.

After these 3 years, unfortunately, you need to re-sit the exam to prove the validity of your certification. This is to ensure that you are up-to-date on all of the latest syllabus updates and changes in the industry.

So, fortunately, this is not required for the ISTQB Foundation level exam.

Is there any negative marking in the ISTQB exam? No, there is no negative marking actually. It is a simple multiple choice marking system. Just to clarify, I do not mean the exam is simple. Its complexity is subjective to each individuals skills, experience, etc.

In total there is forty multiple choice question. You need a score of 65% or more to pass the test. The exam typically takes an hour. But is extended for countries such as Canada that may have English as their second language (They also speak French there).

How do I become a software tester without a degree? You can get in with work experience and a qualification such as an ISTQB CTFL.

In all honesty, most employers will be looking for graduates with an IT related degree. Also, ideally they look for high degree passing grade (in the UK 2:1 or above).

However, this is not always necessary. If you have managed to get experience doing the actual job, that will be much more favored than just a degree.

But how can I have experience without getting the qualifications first? I know it sounds like a catch-22 (no way to win). But I have personally worked with people, that have gone from entry level testers to test management positions with 5 years, without any prior testing experience.

Also worked with people who have had no experience or degree and still doing well in testing. The key is taking a different angle into the position. Maybe you start as a call centre rep, then move to IT support, then into testing, are you with me?

System knowledge in a company is highly valued. Once you establish yourself there for a few years you have experience as a tester and can move onto more lucrative testing positions.

11 Advantages of the ISTQB certification

When you are starting out in testing, you may get bogged down wondering which certification you need. But is the ISTQB certification the right one? Well, let me explain…

What are the advantages of the ISTQB certification? You have an Internationally recognized, industry standard that can get your foot in the door for a lucrative job or contract position. It could be the difference between getting considered by a recruiter or rejected.

If you have spent any time sifting through the job sights, you will probably see a pattern. Many recruiters asking for a list of skills and certifications to even stand a chance for you to get your foot in the door.  Now that you know at a high level the benefits of the ISTQB certification, let’s look at 11 advantages of the ISTQB now to give you a broader scope.:

01. International recognition

One of the beauties of the ISTQB is the fact that it is it’s not restricted to use in your local country but it is internationally recognized.

So, if there is a need for you to go overseas and work, work for an international client or even if you need to emigrate, you’ve got an internationally recognized certification.

02. A keyword on your CV

As we know, recruiters are not always that knowledgeable about every single term for each job role, therefore they heavily rely on searching and scanning CVs for keywords.

Whether you like it or not, without the keyword on your CV and a certificate to back it up you could be rejected from and miss out on a valuable job or contract role.

So, having the ISTQB could be the big tick in the box that could be the difference between you not having a job and watching re-runs of Friends at home on Netflix, or getting a high flying testing job to be proud of.

03. A Tool to Hook in a Client (As an Employer)

If you are trying to snag an important client this certification could make or break the deal. Think of it this way: If you run a consultancy and your potential client, which could be worth millions by the way,  is inundated with proposals from rival bidders.

If your rival consultancy had a team of testers with ISTQB certifications and yours doesn’t, all being equal apart from this, it could be the determining factor that could cost you a lucrative contract.

04. Staff loyalty (As an Employer)

I remember when I passed my ISTQB certification. I was working as a permanent employee and they offered this to me as a perk of the role.

This was quite good because it kept me in the company for longer than I planned to. It also kept me motivated because I was proud that they invested in my career.

As an employer, keeping employees motivated and feeling valued is an important part of retention (keeping them from not leaving). Therefore, this certification could help you keep hold of some of your valuable staff.

05. Standardized terminology (As an Employer)

As an employer, if you are looking to recruit employees it can be difficult unless you are very skilled in that particular job role. It can be hard to understand your perspective employee really has the right skills. Especially if they are creative with their CV 😉

Therefore you can use the ISTQB to get an understanding of some standard terminology. It can help you understand if that person knows what they’re talking about by having access to standardized terminology that can be checked against a recognized curriculum.

06. Improving quality control (As an employer)

This follows on from my point above. The ISTQB will help enforce Quality control by making sure that your employees have a standardized approach to testing, rather than off-the-cuff.

07. Measurable performance targets (As an employer)

If you have performance reviews looming and you want to have a measurable and quantifiable way of checking individual employees performance, getting them to pass a certification, such as the ISTQB, is a great way to do this.

08. General satisfaction

At the time of writing, in my current contract testing role, I am working with graduates who have recently joined the testing industry. It’s great because it reminds me of when I first got started decades ago.

Seeing their face as they find out that they have passed their ISTQB certification just reminds me of how satisfying it can be to feel. I can see that feel validated, making them feel worth something and that they have got something to show for their efforts. For that reason, just the sheer satisfaction of having it, is worth considering it, are you with me?

09. No minimum or expert level expertise required

This benefit could be seen in two ways. Negatively, you could argue with no barriers to entry it opens the Floodgates for anyone off the street and boosts competition.

Or, on a positive note, in my opinion, it levels the playing field allowing anyone to progress. Increases the good people moving into the testing industry and improves the standards.

10. Demonstrates the Individuals Skill Level (Mastery)

Although there are people that may argue that experience outweighs any certificate. I feel it is still important to prove that you have a benchmarkable skill.

And, the only way of proving this, especially in the absence of experience is to have a standardized certification. It is a great benefit, right?

11. Send The Right message to the interviewer

If you are successful, break through the recruiters initial filtering and get selected for an interview in a test role. Having the ISTQB on your CV is a great way to make a good impression, let me explain.

Just having this certification will prove that you were willing to put in the effort to actually do the exam and study. Especially if your competitor does not have this. In fact, this could be the deciding factor.

12. Good Price, in Comparison to other certifications

As you may or may not know there are a number of different testing certification in this industry. One thing that I like in particular but the ISTQB is the price.

If you are not fortunate enough to have your employer picking up the tab for the course, then this is a great way for you to be able to cover the costs if you’re on a tight budget.

Related questions:

Is there a Selenium ISTQB certification? There is an advanced level automation certification, however, this is not solely focused on selenium’ and is more for advanced level professionals who have had experience before they can actually sit the exam. However, there is a certification offered by SIQI which does this.

Is it better to do a 2-day intensive course or self-study then do the exam? Personally, I don the intensive course. However, I was fortunate to get my course fee paid for by a blue-chip company with deep pockets. The question is if I had to do it today, without the company paying, what would I do?

In all honesty, I would be inclined to get some sample papers (click here for some ISTQB study papers), and self- study. This would help me reduce the cost and do it following my own pace.

Can you take the test again if you fail? Yes, there is no real limits. The only limit is your budget. I would say though, if you study carefully and really put in the work you should stand a good chance of passing. Worse case the second time around. But be mindful everyone has different skill levels so it is impossible to say for everyone.

CSTE vs ISTQB – What Should You Choose?

In my early days of testing I got my ISTQB foundation certificate. It was very important to my career because a lot of recruitment agents tend to filter for keywords such ISTQB and CSTE. But what are the difference between these certifications? In this article we will focus on two in particular.

What is difference between the ISTQB foundation & CSTE? The ISTQB foundation is an entry level testing certification that does not require any prior experience. The CSTE is a higher level testing certification that requires experience before you can apply. The former has become very popular and almost a required prerequisite into testing, whilst the later is more established and still very respected.

Now that you understand at a high level what these certifications are, lets delve a bit deeper and look into the differences at a more granular level.

What is the CSTE?

The Certified Software Tester (CSTE) certification is a qualification provided by the Quality Assurance Institute (QAI). Once you are certified you become a member of a professional collective, which has the potential to increase your chances of commercial recognition and potentially speed up your chances of getting a job.

 

What is the ISTQB?

The International Software Testing Qualifications Board (ISTQB) certification is an internationally recognised standard that is quite sort after when looking for jobs in software testing.

There are a number of different member boards around the world that conduct their examinations online of face to face with an exam provider. These exam providers get a licence from the member board to authorise them to examine their students.

There are different levels of the ISTQB, but for the purposes f this article we will focus on the ISTQB foundation level.

What are the advantages of the CSTE?

The CSTE has a bigger barrier to entry. Meaning that you need some testing experience before you can qualify for it. If you have some testing experience this can be a real advantage.

On top of this, there are other requisites that need to be satisfied before you can be accepted.

This exam focuses more on the practical side rather than being theoretical. It is also good to have on your CV. This is because recruiters tend to filter applications based on core entry level skills regardless of your other experience and skills.

How is the CSTE exam structured?

In total the exam takes four and a half hours. However it is broken up into four sections. The first two has a limit of up to 50 minutes. The last two have a time limit of up to 75 mins. There are breaks in between these sections as you can imagine.

How is the ISTQB exam structured?

The ISTQB foundation level exam total exam takes up to 75 minutes. In this time you have 40 questions to answer. The minimum passing rate is sixty five percent. The questions are multiple choice, which allows you to get you results faster because it is either right or wrong.

What are the Advantages of the ISTQB Foundation?

One of the biggest benefits is the fact that anyone, without any prior experience in testing, can take the exam and qualify. Which means there is no barrier to entry.

The certificate is internationally recognised, meaning that you have the flexibility to work in another country if this is the direction that you wish to take with your career.

For a company, in particular a testing consultancy, if they have certified testers they are more marketable and can demand a higher day rate. This can also help to provide a quantifiable target for a companies employees.

Another benefit is no recertification is required. Meaning once you have done the exam and passed, you can don’t need to sit the exam again.

What are the disadvantages of the ISTQB?

The main disadvantage is the cost. Although some would argue that the cost is negligible for the potential value it can add to your career.

You can pay for the exam directly or do a course that trains you for a couple days first, then you sit the exam. The later is what I done and worked well for me. The course helps you prepare for the exam and increase your chances of success.

 

What are  the disadvantages of the CSTE?

The first disadvantage is the fact that you need to re-certify every 3 years, as appose to the ISTQB. Meaning that in the long term it is more costly. Secondly is the fact that you have to wait until you have experience before you can apply.

The later can be seen as a an advantage if you are already established. But for a newbie, this is a disadvantage.

How Much Does The CSTE Cost?

The CSTE will be approx $350. This comes with a PDF version of their curriculum which is called “The Software Testing Body of Knowledge” (STBOK). If you are not a fan of PDF books, you can opt to pay a higher premium of $420. This will give you access to the CD and a hard copy.

What is the Software Testing Book of Knowledge (STBOK)?

Essentially this is a curriculum for the exam that you will tested against. The high level topics of this book are principles of testing, Managing the test project, Risk analysis, Test planning, Reporting, Test case designs and execution.

How Much Does The ISTQB Foundation Cost?

According to the ASTQB the cost is US $250. However this cost can vary from country to country because it has international exam boards. You are advised to visit you national board or an official ISTQB exam provider in your country.

What is the Best Way to Prepare for the ISTQB Foundation?

In my opinion, the best preparation is a course that that includes the exam. This is what I used  and is very effective. Essentially you have a couple days preparation on the course curriculum, followed by the actual exam taken on the final day. Bare in mind this is the most expensive way, but effective.

If you are not able to afford the course, the next best thing is sample exam papers. This will prepare you on what is required for the exam without the expense of an in person course.

What is the Best Way to Prepare for the CSTE Exam?

As discussed earlier, the CSTE comes with the CBOK PDF, or hard copy if you have opted for the upgrade. This contains all the information you need to pass. It just comes down to studying and digesting the content.

If you are looking for something else to assist you, you can get example samples and mock exams to aid you.

Related Questions:

What is the CAST certification? The Certified Associate in Software Testing (CAST) is a foundation level certification offered by the QAI. The examination cost is approximately $100. To qualify for this application you need to pass one of the following prerequisites: 3 or 4 year degree but has to be an accredited organisation, two year degree from an accredited organisation + one year IT experience or 3 years IT experience.

What is the CSQA? The Certified Software Quality Analyst (CSQA) is a software testing certification for testers that are at a more experienced level. It is more targeted for experienced testers, project mangers or leaders that want a better grasp of the testing on their projects.

Similar to the CSTE, the cost id $350 or $420 with more materials. The exam is separated into two sections and is multiple choice based. The entire examination process will take up to two and a half hours.

Integration Testing vs Unit Testing – Whats the Difference?

If you are new to testing the different types of testing can be confusing. During my career I have done unit testing as a developer, but primarily system and integration testing as a tester. Today we are going to focus on Unit and Integration testing in particular.

What’s the difference between integration testing & unit testing? Unit testing is typically performed by developers and focusses on one particular function or code module. Integration testing focusses on the communication of one or many code modules or functions to prove that the inputs and outputs work as designed.

What is a Unit Test?

A unit test, or white box test as it is also known, is typically done by developers. An entire application consists of many individual cod modules or functions. Typically this is created by a team of developers working together on a tight timeline.

Each developer is responsible for testing that their allocated code module meets the expected design. For example, if the application was a calculator. One developer might work on the addition function and another on multiplication.

The developer working on the addition function would need to prove that this function worked in isolation, before it is integrated into the “calculator” application.

What is an Integration Test?

If we extend the calculator example above. An integration test, in this context, would prove that the calculator application modules talk to each other. This testing is typically done by test analysts and can also be referred to as Black box testing.

The reason for this name “Black Box”, is because the tester does not need to have intricate knowledge of the individual code module, they just need to insure the modules talk to each other and the “calculator” application hangs together.

What are the types of Integration test?

There are two main types of integrations testing: Incremental and non-incremental. Firstly we will focus on Incremental. With incremental the developer will test out integrations earlier in the development process.

This is done by using stubs and drivers to simulate inputs and outputs for incomplete code modules. The most important advantage is that issues can be identified very early. This will in turn reduce costs by delivering a more quality product to the dedicated Test analysts.

Types of Incremental Integration Approaches

Within the Incremental integration approach, there are two variations: “Top-Down” and “Bottom-Up”. Both of these types are named after the flow of the testing.

The Top-Down Method

In the Top-down method, if you can picture a pyramid split up into different levels. This defines the functionality, with the main function at the top, and the minor functionality at the bottom.

With the Top-Down approach, you start with the top level code modules and substitute the lower level modules with stubs to prove they work ahead of time.

What is a stub? A stub is placeholder program that will take an expected input and output an expected result. This allows the developer to code a function and test its inputs and outputs work, before the actual module intended to integrate is ready.

E.g. You have an application called calculator, and within this application you have a function called brackets, addition and subtraction. The brackets function works out the calculation when you have addition and subtraction in brackets.

However, to test the “Brackets” function you need addition and subtraction ready. So, to gut around this problem, you use a “Stub” called “addition” and another one called “subtraction”.

This way you can test “Brackets” function without waiting for the other modules being ready to test.

The Bottom Up Method

As you can imagine, this is opposite to the Top-Down method. In this method, the lower level code modules are completed and tested without the parent or higher level modules being available.

For this to be possible drivers are used are used to provide the necessary inputs. One of the biggest disadvantages of this method is the order of the development. Unfortunately because the priority high level code modules are developed last, there could be major issues with these key inputs down the line.

All in One Go or “Big Bang” Approach

The incremental model is preferred because you can gradually bring in each nodule and deal with issues in manageable chunks. However, if it is unclear exactly how these modules will communicate you can use the “Big-Bang” approach.

Effectively taking a number of modules and integrating them all in one go and seeing what happens. As you can imagine it very rarely works straight away and is likely to be a panful process.

The biggest issue is identifying exactly what module is at fault when the integration fails. The large amount of integrations can make the process very complex.

When is integration testing performed?

Integration testing (click here to see who typically does Integration Testing)  is performed after Unit testing but before UAT. In my experience of testing a System testing phase tends to happen first to prove the main system is functioning correctly, then integrations are tested after.

Related Questions?

When Is Unit Testing Performed? Unit testing is performed after each module of code is developed. The idea is to improve the quality of code that is delivered to the system testers.

Stubs and drivers can be used in the absence of other required code modules. For example, if a developer was creating a “brackets” function in a calculator app. He may be waiting for the other “Multiply” and “addition” code modules to be complete, before he can unit test his function.

Instead of waiting he can use stubs and drivers to provide the expected inputs/outputs to prove that his function works, once the other modules are complete.

Can JUnit be used for integration testing? The short answer is yes, it can be used. But it depends on what you want to test with it. Essentially it is not the ideal job for this task, but you can adapt it to work for some integration tasks.

What is a Black Box Test? A black box test is basically a method of testing that does not require the tester to see or understand the inner workings of the code functions. For example a System test phase may have a selection of functional tests.

The tester does not need to know how to code to run the test, in fact they just need to know the expected result from a successful functional test.

What is a White Box Test? As appose to Black box, this test expects you to have knowledge of the inner workings of the code function. Unit testing is an example of White box testing. With this level of testing you are expected to understand the code level inputs and outputs required to complete the test.

What is a QA Sign Off?

The ultimate goal in testing is proving that the system in question is ready and fit for purpose. The official way to do this is via a formal process called a QA Sign off.

What is a QA sign off? It’s the test team’s, or quality assurance (QA) in this instance, method for formally declaring the completion of testing. This declaration is recorded and referred to if required after testing has completed.

What is a QA sign off criteria?

To make the decision that testing is complete, obviously you’ll need some kind of criteria to make sure that you’re confident that the sign off has been completed. This criteria is the agreed exit gate definition that governs when testing is complete.

Is this usually documented in the Test Plan?

The answer is, yes. The exit criteria is typically listed as one of the main headings in the Test Plan, as well as the entry criteria.

So effectively, the QA sign off is the actual declaration of testing completion. And the criteria of this is typically documented in the Test Plan.

How does this relate to the Test Entry and Test Exit Criteria?

The Test Entry criteria is effectively the list of requirements to govern when testing can start.

For example:

  • Is the test environment ready for testing?
  • Are all of the prerequisites needed to test been done?
  • Has the data setup been prepared?
  • Has the Test Plan being formally signed off?
  • Test scripts available in your test management tool of choice? (for example ALM or whatever you may be using, JIRA or whatever the case may be.)

With regards to the exit criteria, we spoke about this in greater length earlier

What is an example of a QA sign off criteria item?

Following on from what we discussed earlier, when I explained the different types of exit criteria. One other example of a QA sign off criteria item is:

are all of the priority tests being executed?

I say, “Priority,” because in some cases where you have really been time-pressed to complete a test phase, you may agree that you can perform the top priority tests and the lower priority ones.

For example it might be a test that focusses on a more cosmetic test, for example checking the labels on an e-commerce order form.

Another example is:

No P1 or P2 criteria defects are in the system at the time of completion.

And maybe another example, one that i’ve used in my experience is,

Minimum of 5 P3 defects with documented and agreed plan to fix after go-live.

This sign off criteria definitely needs to be agreed upfront. It can’t be an afterthought once you started testing. Because the worst case, there’ll be an argument about when you can actually finish testing, because one party may feel that you haven’t done enough.

So , to avoid this, it’s essential that this exit criteria is agreed upfront, and documented. And the document is signed off. Now in reality, getting the Test Plant signed off before testing starts, believe it or not, doesn’t always happen.

And sometimes there’s a battle to do this, because for some unknown reasons there’s people within a project team that are frightened, in a way, to sign off a document, because they don’t want to admit any liability in case anything goes wrong down the line.

But theoretically in testing, you’d want the sign off criteria out of the way and signed off at the beginning. The agreement of the criteria is a collaboration of team members.

Who is responsible for agreeing the QA sign off?

The responsibility is a collaboration of all interested parties. And these parties usually will be the Business Analyst (BA), the Test Manager if you were the test lead in this instance. And the Program manager or Project Manager

How Do You Actually do the Sign off?

This is subjective, depending on where you work and how your company works. But effectively the most common way is in the form of an email that is sent out.

And who this email goes to depends on your company. For example, it might go to the project manager, and it may come from the test manager.

Whoever gets it, ultimately it is basically a simple email.

How do you approach writing a sign off email?

Really and truly this doesn’t have to be War And Peace. This has to be very basic and simple, and get to the point. So a very simple email just explaining that you’re happy that the testing has met the exit criteria is fine.

It’s important that you explained the exit criteria, because you don’t want to this be a subjective statement. You want it to be based on facts. So you want to relay it and relate it to the exit criteria that was agreed.

So for example you might say, “The testing has met the exit criteria as documented in the Test Plan section. Blah, blah, blah.” And then you may relist the items in the exit criteria, and then you will just explain how you’ve met that.

For example if you had 300 test cases to run, and 200 of those test cases were priority one’s. And the agreement was that you had to at least complete the priority test cases, then you would state that 200 test cases of priority one have been done as per the exit criteria.

So it’s just listing out how you have come to the conclusion that the testing has actually complete, and keep it as simple as that.

What happens if you do not meet all of the criteria?

qa sign off

This happens quite a lot of time. Like for example, you may have a very strict deadline to meet. But then once you meet the deadline, you may find that you don’t actually complete all the tests.

You haven’t actually met all of the test exit criteria, and you have to make a call as to what happens next. And this is typically in a form of a conditional sign off. And a conditional sign off is effectively a way of agreeing that the testing will be accepted for completion, but with some conditions as in certain functionality will have to be tested at a later date.

Or you’d have an agreement for a workaround for a problem that you’ve discovered in testing, and therefore it will be accepted with those conditions.

So what is a checklist in testing?

A checklist is a catalog of items that are typically recorded for tracking. This list is ordered in a sequence. You may or may not be ordered in a sequence. But it’s effectively just the way to work out exactly what needs to be done for testing.

And it’s a checklist much the same as anything that could be used outside of the context of testing. But that effectively is what it is.

What is a conditional sign off?

As briefly discussed earlier, the conditional sign off is ultimately a way for you to have acceptance of exiting the testing, but with a list of agreed conditions to move forward.

Related Questions

Why do you really need a QA sign off? Why not just stop testing and then just go into production?The sign off is quite important, because it is a formal process which is recorded and can be looked back to if there are any issues in the future.

Also, it’s a way to get buy-in that everyone accepts that testing has completed in case there are any issues. And it’s the way to prove that you’ve met the actual exit criteria.

Basically its a way to cover your back and get something documented. As projects go into production and issues crop up in the future, then there may be a need to have some traceability about how things were tested. And you may be challenged on these in the future. So it’s always good to have an agreed sign off.

Is there a sign off required for UAT testing? In the same way as you have the QA sign off, UAT testing (Click here to see the difference between UAT & SIT) definitely is required to be signed off.

This is quite critical as well, because this is the acceptance from the actual stakeholders or the customers that are gonna use the software in production.

For this reason it’s important to get their buy-in. This proves that they’re actually happy with what they seen. Believe me,  this is critical. When things go into production, if things don’t go correct, if you’ve got QA sign off andUAT sign off, it makes your life a whole lot easier.

Who Signs off the UAT testing you may be asking?

So as I said before, the UAT testing it typically signed off by a nominated product owner. And this might be someone who is very skilled in that particular function of not necessarily testing, but actually uses the product day-in, day-out.

For example, if you were working on a finance system, and it was an invoice inventory system and you had someone who’s day job was to use that every day. Then they would be the perfect candidate to actually do UAT testing. This is Because they know how the system should work. After they they are informed about the new functionality, they can make a decision if it meets their criteria.

The Ultimate Guide: ISTQB Foundation Test Design Techniques

Shop Related Products
DEAL OF THE DAY
ENDS IN
$30.79$50.00
(6)
DEAL OF THE DAY
ENDS IN
$34.51
(16)
DEAL OF THE DAY
ENDS IN
DEAL OF THE DAY
ENDS IN
$31.99
(484)
DEAL OF THE DAY
ENDS IN
DEAL OF THE DAY
ENDS IN
DEAL OF THE DAY
ENDS IN
$23.96
(61)
DEAL OF THE DAY
ENDS IN

What is a Test Design Technique?

For any software development lifecycle to be effective, complete and accurate information is a very essential element. These two elements are what enable your test teams to work together cohesively in a systematic manner.

This, in turn, ensures that your end product matches the expectations of your customers as well as your business in general. The goal of a test design technique is the testing of features and functionalities using effective test case scenarios.

The process of analyzing your organizations requirements from a business point of view goes hand in hand with proper testing. Determining the accuracy of completed information can be done using ambiguity testing techniques, which happens to be one of the top testing design techniques.

Basically, a test design technique's main goal is to determine a proper series of tests from a pool of all the possible tests for a particular system. There are numerous types of software testing techniques. 

Each one of them has their own weaknesses and strengths. Each technique has it's own way of identifying different types of defects.

What Are the Main Categories

So what are the Test Design Techniques covered in the ISTQB exam? Coincidentally, the two main categories covered by the ISTQB exam (Click here to see the difference between ISQI & ISTQB) are the same categories we're going to cover in this article herein below:

01. Dynamic Test Techniques

Dynamic techniques are divided into another three major categories. These are:-

Black Box Techniques: 

This technique is also referred to as specification based or behavioural techniques. This technique uses the software's external descriptions such as customer requirements, design, technical specifications and so on.

In this technique, when the tester doesn't fully understand the software's code or its internal structure they can perform tests using methods such as Boundary Value Analysis (input values are tested at the boundaries), Decision Table Testing, State Transition Testing, Equivalence Class Partitioning and Use Case Testing.

White Box Techniques: 

This type of technique is based on the software code as well as the program's internal structure, testing each of them individually, one after the other. In this type of technique, testers and developers usually have a proper understanding of the internal structure and the program's software code.

Experience Based Testing: 

This test-design technique doesn't concentrate on external or internal structures. The testing is based on experience and the following test methods are usually adopted when it comes to scenarios such as; Fault attack (here errors are anticipated by testers) and Exploratory Testing (application testing without test case documentation).

02. Static Techniques

This technique is all about manually testing your software product. This process is usually started in the early stages of the software development process. This means that it is most likely going to happen during the verification stage. 

The fact that the testing is done without the need to execute the program means that you will not have any need for a computer. These testing techniques can be applied to several forms of documents. These include design documents, source code etc.

What is Boundary Value Analysis?

In the input values' extreme ends is where errors, for the most part , are observed. These extreme values like lower/upper or start/end values are known as Boundary Values

Boundary Value Analysis is the analysing of these Boundary Values. It's sometimes also referred to as Range Checking. Boundary Value Analysis is based on black box testing technique principles and it's main objectives are to locate errors at input domain boundaries rather than finding the errors at the input's center.

Boundary value analysis and Equivalence partitioning are kind of intertwined and can both be used together at different levels of testing. Test cases are derived for the equivalence classes edges.

Each individual boundary contains invalid boundary values as well as valid boundary values. Normally, each boundary will contribute one test case each. Finding defects using this technique can be quite effective and it has the capability of functioning at most levels.

Your previous experiences or needs are what will determine your choice from the multiple test case applicable from invalid and valid input domains, however, you must remember that you will still be required, from each input domain, to select one test case.

This testing technique is quick, easy and a fantastic way to catch input anomalies that may play a major role in interrupting the programs functionality. So, to cut short testing procedures and save time, experts delivering quality management services as well as software testing heavily rely on this method.

Equivalence Partitioning

Equivalence Partitioning is basically selecting single input values from every range from a range of values that is made up of divided test input data. It also happens to be a black box based testing technique and its main objective is the calculation of the effectiveness of certain test cases. 

This technique also has the ability to function at all testing levels from integration, unit, system testing etc.

In this technique, input is split into several different classes. The equivalence class input criteria represented by each individual class. One input is then chosen from each class.

What this method does is it reduces the number of test cases from an infinite number to a finite one. All this while still securing the effectiveness of each selected test case that has been assigned to monitor all the possible scenarios.

A basic Equivalence Partitioning concept is if a range from one to hundred is being accepted by one application, then those inputs can be divided into classes using Equivalence Partitioning principles. Example, design, invalid as well as valid input all get each class to provide them with one test case each.

Final Words On Test Design Techniques

One of the most vital components in the testing phase is Test Case. These are basically the predefined variables and conditions that are used to check whether your application and software is working like it's supposed to.

For a testing process to be successful, then as a competent software developer you will have to learn and understand how to use some of these techniques. Understanding some of these testing methods will make your work so much easier.

Digging Deeper Into Static Testing

Secret Static Testing Techniques that appear in the ISTQB Exam Questions?


Secret Static Testing Techniques ISTQB Questions

What Is Static Testing?

Static testing involves the testing of documents and software without actually running the code. Static testing is the opposite to dynamic testing, which requires the code to be ran. 

According to Guru99, this can be in the form of walkthroughs, peer reviews, informal reviews and inspections.

What Are The Main Uses Of Static Testing?

Testing the software in the initial phase leads to greater efficiency of the code. Static testing offers just that. During the early development phase, the code undergoes various tests and makes sure that the changes in the current part of the code do not affect the other parts.

The main uses of static testing is that it is tested keeping the work environment in mind. During a review process, the software tester engineer can debate whether a certain form of code is applicable in the real world environment or not.

Testing the software at the early stage before implementing it at a large scale saves a lot of time and more impotantly for any project, is the cost saving.

The outputs from this exercise are typically uncovering deviations from code standards, code that will be hard to maintain in the future, design issues and potentially missing requirements.

How Is It Different From System Testing?

System testing requires the code to be ran, whereas static testing does not. It is effectively an offline method to uncover defects early on in the development process.

What Are The Different Roles And Responsibilities?

According to Guru99, there are five major roles in static testing:

  • Moderator
  • Author
  • Scribe
  • Reviewer
  • Manager

Moderator

The moderator coordinates the activities and tracks the progress of these tasks, to ensure a timely completion.

Author

This person, for example a developer, takes the responsibility of fixing the error that has been identified. This does not have to be a developer, the defect could be a design document, for example. In this situation, an architect may be the author in this context.

Scribe

This person will keep notes and minutes of meetings. They are typically members of the Project Management Office (PMO), but does not have to be.

Reviewer

As the name suggests, responsible for reviewing defects and providing feedback, to maintain quality.

Manager

Manages the process and each individual involved in the static testing activities.

What Are The Different Types Of Reviews Involved?

The foremost step of static testing is the review. It is carried out in four stages depending upon its level of formality. The four types of reviews are

  • Informal review - This kind of review includes a single person or two persons who just conduct a top down review of the code. There is no restriction on the number of persons reviewing the code at the informal review level.
  • Walkthrough review - This review consists of a group of engineers who collectively conduct a thorough review of the code before passing it to the next level.
  • Peer review: This includes a review by a person of similar knowledge and caliber who spots the errors and corrects them.
  • Inspection - The inspection is the final level of review in the static testing. It is conducted by some senior software testing engineer who is well proficient in the product requirement and corrects the code accordingly if any flaws are to be spotted.

These four levels of reviews are inter-connected and intertwined, and work in liaison to collectively bring out an error free code.

Final Words on Static Testing

All in all, static testing is the most important part of the software testing process which builds the foundation for a flawless software.

Its importance is based on the fact that it is done manually where there is a greater probability of spotting an error and before executing the code itself.

The early stage of the development of a software product lies heavily with the static testing where each bit of error code is identified and rectified making the software error free.


Is White Box Testing also Called Unit Testing?

white box testing is also called as unit testing


What is White Box Testing?

White Box Testing, which is also commonly referred to as Glass Box, Clear Box, Open Box or Structural Testing, is basically all about testing software solution's internal infrastructure and coding.

Its main objectives are to strengthen security, improving usability and design, as well as strengthening the flow of outputs and inputs. This type of testing examines outputs using a particular knowledge of programming code.

The "box testing" approach often used in software testing has two parts to it. One of them is what we're here to discuss, White Box Testing. It's counterpart is known as Black Box testing and this, unlike Clear Box testing, involves the testing of software from an end user type or external perspective.

In White Box testing, the process is concentrated on internal testing and is all about the inner workings of a certain applications.


The concept of a see through box was what was used when coming up with the term "white box". The white box, glass box or clear box name represents the ability to effectively see through the developed software's outer shell right through to its inner workings. Similarly, the "black box" terms used in Black Box testing represents the lack of ability to be able to see the software's inner workings. This approaches main goal is the testing of end user experiences.

Difference Between White Box Testing and Unit Testing?

So, is White Box testing also called Unit testing? Let's find out. First of all, Unit testing, in computer programming, is a process whereby source-code's individual units are tested to determine whether they are okay for use. An application's smallest testable part is known as a unit. 

A unit, in procedural programming, may be an individual procedure or function. Unit tests are occasionally created by testers that use the white box approach or regular programmers.

Each individual test case is, ideally, independent from one another. Substitutes such as mock objects, method stubs, test harnesses and fakes can be used to help test modules in isolation. Software developers are the ones that typically write and run unit tests with the goal of ensuring the code meet the behaviour and design it was intended for.

In White Box testing, if you want to effectively design test cases, you will require adequate programming skills as well as an internal perspective of how the said system works.

For the tester to determine the appropriate output levels, they will need to choose exercise path inputs through the code. It is quite similar to the testing of nodes within a circuit as is experienced in the In-Circuit Testing process (ICT). Clear box testing is normally done at unit level. 

It is used to test paths between as well as within units. Hopefully now you can see the difference between the two. The two testing approaches are somewhat different in the few ways explained above.

Advantages of White Box Testing

  1. Ability to Automate
    Knowledge of the internal perspectives of the application will in turn allow for unit testing. As was explained earlier, unit tests are all about testing small pieces of units or code with the goal of seeing whether they function and operate as expected.

    The simplicity of these tests makes it possible for programmers and developers to run these tests automatically, to see whether there's anything wrong. Unit tests are actually a very effective way of catching errors in the system.
  2. Its Thoroughness
    White box testing's main tenant is its complete code coverage. The idea here is to basically test as much code as you possible can, which happens to be way more thorough and effective compared to your traditional black box test approach.

    Its thorough nature also gives you a clear testing structure to rely on. Testing must have a clearly defined set of rules and must be engineering based as well.
  3. Time
    Software development will always have deadlines you'll have to meet. This means that during the development process, time is a priority. White box testing helps significantly speeds up testing processes.

    Most often than not, developers can see the bugs early, instantly have a slight idea of what the problem is and how to rectify the situation. It also eliminates the cost of communication between the QA and developer.
  4. Optimisation
    When developers go through the system's code on section after the other, it allows them the ability to condense existing code as well as remove superfluous code sections. Also, removing hidden errors that may have been missed during normal testing will help optimize the code.

Disadvantages of White Box Testing

  1. Expensive
    Due its thorough nature, the cost and time it will take to conduct proper white box testing will usually prove to be very expensive. Even though unit tests may somewhat alleviate this issue, writing the unit tests give rise to an initial investment which will inevitably increase the procedures overall cost.

    Also, large applications can sometimes perform poorly when tested using this approach. Testing each and every individual branch of code can, at sometimes, prove to be virtually impossible.
  2. Missed Cases
    The white box test approach only tests as well as validates features that already exist in the system. If something is missing or the feature is partially implemented, this testing approach will not be able to pick up on this issue. This is where black box testing requirements proves to be superior.
  3. Rapidly Changing Code Base
    Rapid changes of the code base will make automated test cases a waste. Usually, reworks or redesigns will make written test cases useless as well as giving rise to the need for a rewrite.

Final Words on White Box Testing

This type of testing approach can sometimes prove to be quite complex, however, the complexity levels will be determined by the particular application being put through testing.

Small applications, when put through this type of testing, can be completed in a matter of minutes. while larger applications may take several days, and sometimes even several weeks, to complete. White box testing works best during the course of the development of the application software. And with that, hopefully you now know a lot more about White box testing

What is black box testing also known as?

What is black box testing also known as?

What is it Also Known As?

So, what is Black Box testing also known as? Well, most programmers and developers in the IT realm also commonly refer to this method as "Behavioural Testing", or functional testing.

This testing strategy ignores the application or system's internal mechanisms and mainly concentrates on execution conditions and selected inputs responses.

The program's structure is not taken into consideration in this testing technique. It only takes into account the application's functionality. This testing method is also sometimes referred to as functional testing.

In this strategy, the software tester's main concern is how the application is validated and not how it was produced.

Implementation logic or knowledge of programming isn't required for the software testers that are using this technique. It usually applies at the high levels of testing; System Testing and Acceptance Testing. The software that houses inputs and where you expect the known outputs to be is what IT professionals refer to as a black box.

Transformation of known inputs to known outputs is done using the system and usually goes unchecked in this testing technique. The transformation process in this system is also referred to as a black box

This technique is basically functional testing whereby development and program testers concentrate on providing the known inputs and checking whether those known inputs have been obtained. 

This strategy is usually followed while acceptance testing is being carried out. Here the software developer is merely a user and not the end user.

Black Box Testing Techniques

  1. Equivalence Partitioning
    Rework is greatly reduced when you use this testing method. Test conditions are grouped together by software testers so that only 1 condition in each group requires testing.

    This means that all the other conditions probably work if that one particular condition works. A clear example of this is when an uploader is involved, this testing strategy can be used for testing file sizes and types while avoiding the overlapping of every combination.
  2. Boundary Value Analysis
    With this testing strategy, the values boundaries that have been allowed is what is tested.

    This means that if your system only accepts a number from one to one hundred, then you will want to focus your testing on those boundaries, along with the slightly over as well as slightly under numbers. However, testing the in-between numbers is not something you will have to waste your time doing.
  3. Decision Table Testing
    This type of testing is ideal for those situations where you might be dealing with complicated combinations whereby different decisions are produced by various inputs (unlike boundary value analysis and equivalence partitioning).

    Cause and effect tables are something this technique is also called and decision tables can not only, during format testing, make sure combinations aren't missed they can help when clarifying expected outputs.
  4. Error Guessing
    Error guessing sounds just like what it is. A software tester finds errors by guessing where they're most likely going to be.

    However, the term might not be really fair due to the fact that the following factors herein are involved in the decision; understanding of the application, the software tester's own experience, customer issue tickets, test cycle's previous results and risk report.

    Error guessing is vital when you're deciding which application part will get the most thorough tests run on them.
  5. Exploratory Testing
    With this technique, test coverage is maximized by the tester by strategically moving through system actions while closely simulating the behavior of the user.

    This has black box technique written all over it because you're not required to have knowledge of the internal code.

    This means that they are allowed to behave like users but should always keep the tester caps on.
  6. Cause Effect Graphing
    In the cause effect graph technique, effects are set off using a set of causes that have been mapped out through direct graphing. You can think of the causes as the program's input and the effects as the program's output.

    The graph usually shows the nodes that represent effects on the right-hand side while causes are represented on the left-hand side. Causes and effects may have additional constraints. A dashed line will represent a constraint symbol and it is usually in the form of an edge label.

Benefits of Black Box Testing

Here are some benefits of Black Box Testing:

  • You will not need to have programming knowledge nor will you need to have implementation knowledge as well. The software tester can be a non-technical individual.
  • The developers and testers are independent and have no dependencies between them
  • The application's quality is assessed by analyzing expected outcomes with actual outcomes
  • Helps develop software in a way that is much more user-friendly than the techniques used in requirement document for here the application is tested using the user's point of view.
  • Once the system application has been released, the development team can proceed with testing and development team dependency is avoided.
  • The designing of test cases can be done after the completion of the function specifications.
  • This testing technique is very effective when the system application is complex as well large.

Disadvantages of Black Box Testing

  • The absence of programming structure knowledge allows for the risk of leaving unidentified conditions.
  • Practically, manual testing can only test a limited number of possible inputs.
  • If the software tester isn't aware that they might have already tested the application then you will inevitably run the risk of having repeated test results.
  • Not all the logic or paths are usually tested.
  • Achieving one hundred percent test coverage is very difficult when the application happens to be relatively large or if it's one that is of a complex nature.

Final Words on Black Box Testing

The main thing that makes this technique so different from white box testing is the fact that here the software tester does not really have to have programming knowledge and does not also have to understand the code being used in the application's test procedure, however, it's still effective in very many ways. As a modern-day IT professional you'll need to learn how to use this testing strategy if you want to be fully effective when it comes to modern-day software testing.

What is the V Model Used For in Software Testing?

So, what is the V-Model?

Many people ask the question, what is the V Model used for in software testing? Well, the V model is basically the classic waterfall model but in overdrive. Meaning it's an enhanced version. 

In this model before a development life cycle can move on to the next level, they must be verified. This basically means that software testing starts as soon as written requirements have been produced, so testing explicitly commences at the very start of the procedure.

Here, the term testing translates to verification by way of inspections and reviews, which is static testing. What this does is it helps you identify errors early, during the life cycles early stages, and also reduces the potential for defects showing up in the software's code in future.

A corresponding test plan is assigned to each level of the development process, that is, each phase that is being worked on is assigned a test plan for the preparation of product testing in that particular phase. Expected results can be can be defined using these developed test plans.

Test and design activities, in the V model, are constructed with the same level of detail. The model's left hand or downhill part is where software is designed while on the model's right hand or uphill part is where it is all built and tested. Correspondences between the right and left-hand side are defined by the line that runs through the center of the V.

The Verification Phases

  1. Requirements Analysis
    This is the verification processes first step, which is also commonly referred to as the requirements analysis phase. System requirements are gathered analyzing user needs.

    This phase is all about the establishment of what the ideal systems are meant to do. However, it doesn't determine the design nor the build of the software.

    The documents containing the user requirements will normally describe the software system's functional performance, interface, security and data requirements in accordance with user expectations.
  2. System Design
    In this phase, system developers and programmers can study the documents that contain user requirements of the overall business of the proposed application.

    They figure out techniques and possibilities of how to implement the user requirements. The user is informed whenever the requirements aren't feasible. When this happens the document that contains the user requirements is edited and a resolution is quickly found.
  3. Architecture Design
    The software or computer architecture-design phase is also commonly known as the high-level design phase.

    The baseline of architecture selection in this phase is it should typically realize all that consists of each model's functionality level, list of modules, interface relationships, database tables, dependencies etc.
  4. Module Design
    Last on the verification phase list is the module design phase. It is also commonly known as the low-level design phase.

    Here, the system is split into smaller modules or units and the programmer or developer gets an explanation of each of them so that they can start the coding process directly.

The Difference Between The V-Model and Waterfall Model

These two models approaches are quite similar in very many ways, however, the major difference that sets them apart is the testing emphasis in both situations as well as how they are presented.

The V shape representation flow chart helps point out the differences that come prior to coding such as architecture-design and requirements as well as everything else that follows coding which is testing.

While the waterfall model has testing at 1 out of its 5 steps, the V model methodology basically improves on that significantly.

What all this means is that what makes these two models differ is that for the V Model, for testing activities to fully commence, the development process has to have been completed.

The waterfall method technique seems to be continuously iterative while the V model seems to have a clear start as well as an end. The fact that the V model is a simultaneous process is what makes the approaches differ a little bit. 

This happens to be a big reason why most IT professionals prefer to learn, understand and use this method rather than its waterfall counterpart.

Advantages of the V-Model

  • It's very simple and easy to use
  • Covers all the functional areas
  • Testing activities like test designing, planning happens well before you start the coding procedures. This usually proves to be quite the time saver. hence the higher chances of success it experiences as compared to the waterfall method
  • Proactive error tracking. This means that defects are detected at an early stage.
  • Helps avoid defect downward flow
  • In small projects, where understanding the requirements is easy, nothing would do better than the V Model approach system.

Disadvantages of the V Model Method

  • This process isn't ideal for the more complex, fast changing software projects.
  • If your requirements keep frequently changing then this option might not be the best approach for you. You might want to consider something else, like Agile, if that's the case.
  • The implementation phase is where the software is developed, which means that software prototypes are not produced early.
  • If any changes occur midway through the course of the procedure, then the requirement documents, as well as test documents, have to be constantly updated.
  • The client does not get to see intermediate modules and only has access to the end result.
  • Does not scope for risk mitigation and risk management.

Final Words on the V Model

All in all, the V Model method should generally be used when you as a programmer or developer are working on small or medium-sized projects, whereby requirements are clearly fixed and defined.

You need to have a high level of confidence in your client if you want the V Model technique to be completely effective. It's an approach than many people doing work in the IT realm should learn and understand for it is one of those things for the future.

Having this knowledge will prove to do more harm than good. Most experts around the globe will agree with this. And with that, now you're in the know. So if you haven't already, start reading up!

Skip to toolbar