Transcript for:
Maintenance Testing - ISTQB Foundation Level Certification

Hello friends and greetings for the day welcome back to another tutorial on istqb Foundation level certification we are in Chapter 2 talking about testing throughout T sdlc and as a part of this particular chapter today we are moving into 2.3 which is maintenance testing and as a part of Maintenance testing we'll just give a quick introduction to what it is all about and how it is conducted in the industry [Music] well to begin with the maintenance testing uh it's just a concept or after relase testing which is conducted every time we make a common change or any sort of change to an existing application now the word maintenance is being defined as enhancement to an existing live application that means the applications which are operational it is with the end users people are using it and it is right in production and of course there are many things which remain undone or things which you plan probably after releasing that hey they could be you know we can do better and you keep collecting consistently information and feedback from the real use from the real users in order to understand what better we can do and that's what I refer to as enhancements so whenever we do these enhancements to an existing live application we call it as maintenance and this certainly happens post relase but every single maintenance triggers a regression test that is in turn called as regression testing or maintenance testing as well so maintenance testing is actually everything about regression testing whenever you make an enhancement to an existing live application but of course there's a lot of Story related to it and we will Deep dive one by one to understand what is more we can know at this point of time about regression or maintenance testing so let's look into what exactly the syllabus has to count on us that is number number one there are different categories of Maintenance one it can be corrective adaptive to changes in the environment or to improve the performance or even maintainability now here we have got few words number one is corrective that means you did something wrong probably a known bug which you had pending being remaining from some time and uh certainly you're trying to fix them you're looking forward to have some of the updates which are happening like Improvement updates enhancements Etc or things which are just related to the new features which you want to give people about it so maintenance testing is just not limited to kind of like you know doing enhancements these enhancements further can be related to bug fixes plan changes unplanned changes Etc also to add here we would like to say so maintenance is just part like when it comes to maintainability we say maintenance can involve planed releases or deployment or even unplanned releases or deployments plants are those which are remaining from our past release for example some of the requirements are generally not fulfilled due to Crunch off time or probably due to complications and we need more time to understand how to implement them so just because of one or two requirements or one or two simple features we just don't block or you know restrict the release to happen so in that context or we don't delay the release at all rather we hold these two features and then release the product to the market and we continuously keep working on these pending once and we just put it across so when we talk about these which were pending which we knew already we call them as plann releases or unplanned are the one which are like certainly something popped up which we saw or maybe our real users saw and they reported to us and we just working on it so this was not as a part of the plan but we found it so we even call it as hot fixes so hot fixes are basically unplanned ones which you generally get them right so further to add on this note we we have impact analysis which is basically a study to identify the areas which will be impacted by the change let me just add a quick thing before we look into the impact analysis statement that impact analysis is a very wonderful study which helps you reduce your effort on doing you know better testing because see for example if you have a mature live application in the market you may have even you know 100,000 or you know 2,000 3,000 test cases but when it comes to regression test Suite you may have around say for example 500 test cases but when the applications are pretty huge you may have even thousand test cases as a part of your regression test Suite now the question is if I make a simple small change in one part of the application do I really need to run all thousand test cases absolutely yes or no both right some of you might be thinking that yes it is mandatory to make sure that everything is working fine and some of you would say yeah it looks very hectic so I don't think it would would be really required to run all thousand test cases because you're just making a change in one corner of the system right and yes that's true so impact analysis is a technical study which helps you understand that which areas of the application will be impacted by the change so that you can reduce your effort on the amount of regression testing assume that you're doing weekly changes it's very hectic to run 1,000 test cases every week right even if you're talking about automation it's not so easy so I certainly conduct impact analysis to identify the areas which will be impacted by the change and then only do that execution now further to read this statement let's have a look here so impact analysis may be done before A change is made to help decide if the change should be made based on the potential consequences in other areas of the system so impact analysis basically is uh the study but I think this statement looks a little tricky to follow but trust me that's not what it means uh so I'm making it simple for you okay let's continue further we do have something else testing the changes to be to a system in production includes both evaluating the success of the implementation of the change and the checking for possible regressions in parts of the system that remain unchanged which is generally the main part of Maintenance which is to check for regressions introduced also to add here the scope of Maintenance testing typically depends on the degree of risk change the size of the existing system and the size of change of course when it comes to degree of risk of change it talks about that how much risk is involved in making this change what other areas will probably be brought brought down or people will be you know experiencing some kind of delay or kind of unavailability of a particular feature and so on so that certainly becomes one of the criteria for us to talk about the second one here is the size of existing system of course I told you that already that what if you have have a very big application you may have 1,000 task cases and not everything is actually connected to every feature but if everything is connected to every single feature like LinkedIn Gmail you know you can go from anywhere to anywhere any link to any link so uh we will still have to do so the size of thing certainly will trigger the scope of regression testing or maintenance testing and the third one of course is the size of the change because the change what you do uh depends on like further uh realize and says that what areas will be actually impacted so one way put together the risk uh the change what you're doing and the size of the application alog together contributes about scope of regression testing so one should consider however in organizations we have a dedicated team that's why this is a very small topic and uh we have a separate team conducting maintenance testing so you don't have to worry about being a regular tester you do testing pre-release and there's a dedicated team in the organization which conducts maintenance testing but depends on the size of organization and the maturity level too also to quickly add here we are also talking about what triggers the maintenance testing that means what are those things which we generally uh conduct in order to do maintenance testing or what are those changes we are talking about what are those enhancements we are talking about so three major things right here on your screen we have modifications upgrades or migrations of the operational environment or retirement so let's talk about them one by one when I talk about the modification includes updates now of course there are four terminologies here update upgrade migration retirement update certainly talks about the minor changes to an existing feature that means the people are already using it and we just trying to make it better or trying to add something more to those existing features which people are already using so you can just compare an update on your cell phone related to a mobile application or to your operating system so if you're talking about 15 point 0 that's one of the releases if you talk about 15.1 15.2 15.3 or 3.1 3.2 and so on these are all referred to as updates but when I migrate or move from 15.0 to 16.0 that's an upgrade okay so that means there's something new which is being introduced which was never before so updates will only have enhancement to the existing features whereas upgrades will have new addition to the existing features that means something new is being introduced for the first time and you need to know that so updates generally do trigger maintenance testing and updates also trigger maintenance testing so whenever you do update and upgrade maintenance testing is required the second uh third important thing here is migration so if I talk about migration in nutshell the migration is all about moving an application from one platform to another platform and these are quite often being conducted so say for example today you're working on Windows but tomorrow you decided to move to Linux or one2 or or any other software then these products will conduct a maintenance test to make sure that my product is able to migrate and work the same way that means all the features are still working fine so certainly migrations do happen at different point of time and these are very important to be conducted or even if you're moving your application initially you started with Android but later you decided to go to iOS of course you don't build an application right from scratch right so you just do a migration test and that is maintenance testing again to make sure that everything is working absolutely fine and the last one is retirement of course many people might be thinking retirement do you really need to do any testing we just retire the product right now retirement versions of an applications are the final versions of the product that means there will be no update no upgrade or no new releases happening on this this is the last release on this product life cycle and uh generally they announce it in advance and of course the retirement version certainly have some kind of new features or probably existing combinations to build it up as a releasable version so it's just not that you release something and then announce that it is retiring no you announce it and then release it so you will have something new to talk about so all of these will trigger a maintenance test because it involves a change so let's quickly have a look here again once what we are trying to talk about so the triggers for maintenance testing and maintenance testing uh can be classified as follow number one modification such as plan enhancement which are release based itive changes or hot fixes which is hot fixes is unplanned changes upgrades or migration of the operational environment such as uh from one platform to another which can require test associated with the new environment as well as the change software or test of data conversions when data from one another one from another application is migrated into the system being maintain and the last one is retirement such as when an application reaches the end of its life when a system is retired then this can require testing of data archiving if long data retention periods are required testing of restore and retrieval producers procedures after archiving may also be needed in the event that certain data is required during archiving period so put together a small topic which wanted to introduce you to maintenance testing because someone into testing should know this word and understand it so that's the reason they introduced it but of course there's a deep dive into maintenance testing suppose you are a maintenance tester you would have certainly more deeper knowledge required in order to perform that right so anyways that's all from this particular tutorial team this was the last topic what we had from chapter 2 and we'll be looking at the sample questions from here in the next so that's all from this particular tutorial team should you have anything else feel free to comment below I'm always there to address your queries and answer them well till then keep learning keep exploring keep understanding the context thanks for watching the video team and happy learning [Music]