Download as pdf
Download as pdf
You are on page 1of 38
UNIT IV Advanced Testing Concepts Syllabus formance Testing : Load Testing, Str ring, Configuration Testing, Compatibility Test security testing, Testing in the Agile Environment, Testing Web cand Mobile volume Testing, Fall-Over Testing, Recovery ing, Usability Testing, Testing the Documentation, Applications. Contents Introduction 42 Performance Testing 43 Testing the Documentation 44 Security Testing 45 Principles of Agile Testing Testing Web and Mobile Applications Two Marks Questions with Answers Software Testing and Automation 4-2 Advanced Testing Concepts ERM introduct The advantages of basic testing in software testing are constrained by a variety of variables, n including financial constraints, uncommon functionality and scalability needs. Advanced software testing is carried out in order to address these issues and guarantee that the generated solution complies with the specifications, The specification papers and wire frames are sent to the QA engineers so they may perform sophis coding. cated software testing. They can then complete the requirements and stop errors before Following are a few typical actions in advanced software testing : * Analysis of requirements : This is done in order to accurately define the requirements and find any flaws that could appear at a later stage of development. * Sophisticated GUI testing :'To make sure that the product's aesthetics and functionality are valid across a wider range of testing devices and platforms, the advanced level of GUT testing is conducted. * Test automation : This kind of testing makes the testing process more efficient. Automating test execution helps ensure and verify that the product can function in unique conditions and parameters as well. * Compatibility testing : Compatibility testing is a useful tool for assuring that the functioning and usability of other programs and system components won't be impacted by the product that is being produced. * Testing interruptions : Although this kind of testing is a part of basic testing, it is also 2 crucial component of advanced testing. To make sure that the product can function even under demanding conditions, it is advised to incorporate load testing and stress testing. © Delivering a high-quality product is ensured through advanced testing. ‘© Basic testing is difficult to manage when dealing with unusual functionality that goes beyond normal functionality, increased safety requirements, particularly for goods connected to financial activities, scalability needs and budget difficultie Therefore, in the end, it is advisable and advised to choose an advanced degree of testing to ensure that the final product is of the highest possible quality. Performance Testing Software testing of this kind guarantees that programs run effectively under the load that is anticipated for them. It's a method of testing used to assess how sensitive, responsive and stable @ system is under a certain load. Software testing techniques called “performance tests" are geared at TECHNICAL PUBLICATIONS® . an up-thrust for knowledge Testing and Automation ‘Advanced Testing Concepts ramme to evaluate its sensitivity, response speed and ality under @ certain workload, Stress testing j sades checking for concurrent users and response times, for instance. There are several types of performance testing, [Zl Load Testing including : The performance of a system, software product or software application is assessed during load sting, @ sort of performance testing that mimics real-world stress situations. In essence, load vsting examines how the programme will behave while many people are using it simultaneously. his the system's responsiveness as assessed under different load situations. Both average and high ‘cad circumstances are tested throughout the load testing process. Performance testing of this kind mimics a real-world load on a system or application. to termine how it responds to pressure. Finding bottlenecks and figuring out the maximum number sfusers or transactions the system can handle are the two main objectives of load testing, It is a ‘nial component of software testing since it makes that the system is capable of handling the anticipated use levels and reveals any possible problems before the system is put into use. To assess the system's performance under varying load situations, numerous scenarios are simulated during load testing. This may include simulating a big number of users operating ‘imultaneously, simulating many requests and simulating a lot of network traffic. The system's formance is then measured and examined to find any potential bottlenecks or problems. Tools like Apache JMeter, LoadRunner, Gatling, and Grinder can be used to simulate load and "easure sytem performance. ” Some common load testing techniques include : ~ * Stress testing : Testing the system's ability to handle a high load above normal usage levels; © Spike testing : Testing the system's ability to handle sudden spikes in traffic; * Soak ‘testing : Testing the system's Period of time. ability to handle a sustained load over a prolonged To acquire reliable findings, it's crucial to make sure the load testing is carried out in a setting “et closely resembles the production setting. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge I Soffware Testing and Automation 4-4 Advanced Testing Concepts What is Load Testing 7 © Through load testing, software's performance is evaluated in real-world scenarios. In other words, load testing is a kind of testing that examines a system's behavior under the anticipated demand, The predicted fond on the application in real life must be known before awe can load test a system, © Through data collection and analysis, load testing may identify discrepancies in the system's reaction time, dependability and stability, In essence, a lond test is carried out to confirm that a system will operate steadily under an anticipated load. © The biggest benefit of load testing is that it aids in determining the anticipated load that a system can bear, lowering the likelihood of a breakdown. * Let's now go into more depth about the distinctions between performance testing and load testing. > Objectives of Load Testing : The objective of load testing is : + To increase a software application's running capability. + To ascertain whether or not the newest infrastructure can operate the software programme. + To.assess the application's viability in conditions of high user demand. * To determine the total number of users who may use the programme concurrently + To.assess the application's scalability. ‘= To make the application more accessible to more users. Load testing proce: 1. Test environment setup : Set up a special test environment just for carrying out the toad testing. It guarantees that testing will be carried out correctly. 2. Load test scenario : Load test scenarios are produced in the second stage. Data ws then prepared for each transaction and load testing transactions are chosen for the application. 3. Execution of test scenarios : This step involves running the load tests that were prepaced in the previous phase. To acquire the data, many metrics and measures are collected 4. Test result analysis + The testing results ate examined and numerous suggestions ase given 5, Retest : Ifthe test is unsuccessful, itis repeated to ensture that the results are accurate TECHNICAL PUBLICATIONS® - en up-trvust fer knowledge Testing and Automation concepts. 0 war ee £8 Advanced Testing parameters for Load Testing ics are eties = weed ‘© understand how load testing performs in various scenarios. It provides sfomation correctly load testing is performing under various test situations. Typically. #* completed after the creation of load test scripts and scenar Pienial be evaluated variety of measures. Following is ak ee sing @ ‘ollowing is a list of some of them. 1. Average response time : This number indicates how long it typically takes to react to 4 request made by a client, customer or user. Additionally, it displays the application's performance based on how quickly all of the requests are processed. 2, Error rate : The error rate, which is expressed as a percentage, indicates the proportion of requests for which mistakes were made to the total number of requests. These errors often appear when the programme is unable to process the request at the time specified or when there are other technical issues. When the mistake rate continues rising, the application becomes less effective. 3, Throughput : This metric is utilised to determine the bandwidth range required during load routines or tests as well as the volume of data being used to measure the request flow between the user server and application main server. Kilobytes per second is the unit of measurement. 4, Requests per second : This information indicates the number of requests being sent to the application server per second. Any Kind of request, including those for photographs, documents, web pages, articles or other materials, may be made. & Concurrent people : This measure is used to count the number of people who are online ertain period. Without making any requests inside the at any one moment or at a c number of users who have visited the application at any programme, it simply counts the given moment. This allows us to quickly determine when a large number of people are accessing the application or website. Peak response time is a measure of how long it takes to respond to a request. Additionally, it isin determining the length of the longest period of time during which the request and response Sele is handled as well as which resource is taking the longest to react to requests. ‘ead Testing Tools 1. Apache Jmeter 2, WebLoad NeoLoad 4, LoadNinja 6. LoadUI Pro 3 5. HP Performance Tester 7. LoadView Software Testing and Automation 4-6 Advanced Testing Concepts Advantages of load testing : * Load testing improves the system or software application's resilience. © Itenhances the system's or software application's capacity to scale. © Itassists in reducing the risks associated with system outages. : * It lowers the expenses associated with system failure. * Itraises client satisfaction. © Load testing is a crucial component of software testing since it offers a number of benefits. * Finding bottlenecks : Load testing identifies system bottlenecks including sluggish database queries, limited memory or clogged networks. This aids system optimization and guarantees that it can support the anticipated volume of users or transactions. * Increased scalability : Load testing helps guarantee that the system can manage a rising number of users or transactions over time by determining the maximum capacity of thé system. This is especially crucial for web-based apps and systems that must manage a lot of traffic. : * Increased reliability : Load testing aids in the detection of any possible problems that can arise under situations of high load, such as elevated error rates or sluggish reaction times, This makes it easier to make sure the system is dependable and stable when it is put into use in production, * Lower risk : By spotting possible problems before to deployment, load testing helps lower the possibility of system failure or subpar performance in actual use. * Economical : Load testing is more economical than correcting issues that arise during Production. The cost of finding and fixing problems before deployment is substantially lower than it is during testing. * Better user experience : Load testing assists in ensuring that users have a pleasant system use experience by identifying and removing bottlenecks. As a result, consumer loyalty and satisfaction may increase. Disadvantages of load testing : There is a requirement for programming skills in order to execute load testing. Tools for load testing might be expensive. Additionally, there are several drawbacks to load testing, such as : * Resource-intensive : To simulate a high number of users or transactions, load testing may need a lot of hardware and software resources. Due to this, load testing may be costly and time-consuming. Bolilennck o¢cu dus by Al Diottatine, d)o parse valu _Canstrain® » Confguchm probiens . TECHNICAL PUBLICATIONS® - an up-thrust for ‘knowledge are Testing and Autom concepts n BAL Advanced Testing + Complexity : To set up and conduct load testing successfully, it might be complicated and specialized kno il seed see lowledge and skills. This might make lond testing challenging for teams with minimal resources or expertise, «Limited testing scope : Becuuse lond stress, it may not be able to fi 5 under ing focuses on how the system perform -ial to include load eee nd every kind of problem or flaw. It's cru ith of i it testing her testing techniques, such as functional, regression and acceptance testing, t : st A j . la fe results : Ga test's outcomes may not be accurate if the load testing environment is not a good representation of the production environment or if the load test scenarios don't correctly reflect real-world use, . Difficulty giecernd real-world use : Predicting how users will interact with the system and simulating real-world usage are both challenging tasks. As a result, it is difficult to predict whether the system can support the anticipated demand. « Difficulty in analyzing the results : Because load testing creates a lot of data, it may be challenging to analyze the findings and identify the underlying causes of performance problems. + To ensure that the system is completely tested and that any flaws are found and fixed before deployment, it is crucial to remember that load testing is one sort of software testing and that it should be supplemented with other types oftesting. 3. p- SS ye) hove PAstress Testing ge ety Mp! By testing software beyond the rameters of regular functioning, the stress testing approach sslyses the programmer's resiliency. Although stress testing is used for many kinds of software. it than focusing on what is appropriate behavior in especially crucial for essential software. Instead availability and error handling under a pical circumstances, stress testing emphasizes resilience, ge load. A sort of software testing called stress testing is described as confirming the stability ud dependability of the system. This test specifically evaluates the system's resilience and error andling in situations of very high load. It even conducts tests that go beyond the typical operating vint and examines how the system performs in challenging circumstances. Stress testing is done make sure the system won't fail in a time of need. Endurance testing and torture testing are other 'mes for stress testing. *aracteristics of Stress Testing 1 Stress testing examines a system's behavior after a failure. 2. Stress testing ensures that the system can bo 3. It examines the system's functionality under unusual circumstances, nce back from errors. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge Software Testing and Automation 4-8 Advanced Testing Concepts ‘i error mess 4. When the system is under stress, it makes sure the presentation of relevant lessages, 5. It confirms that unanticipated failures don't lead to security problems 6. It checks to see whether the data was saved before the system erashed or not Noed For Stross Tosting * To prepare for unexpected traffic surges : traffic spikes. For instance, there is a dramatic rise in traffic when a sale announcement is made on the e-commerce website, If these demands are not met, there might be a loss of Stress testing is crucial to prepare for irregular money and reputation * The ability to show relevant error messages when the system is under stress circumstances : Stress testing is crucial to determine if the system is capable of doing so when it is under stress situations. ¢ The system functions in unusual circumstances : Stress testing determines if the system can continue to operate in unusual circumstances: ¢ Ready for stressful situations : Stress testing makes sure there are enough backup plans in case of an unexpected failure brought on by stressful situations. Stress testing should be used to ensure that systems are ready for harsh circumstances. Stress Testing's Goal + Examine the behavior of the application after a failure : The goal of stress testing is to examine the behavior of the application following a failure and the software should show the proper error messages when it is put under a lot of pressure. * System recovers after failure : The goal of stress testing is to confirm that there are strategies for restoring the system to its operational condition so that it can recover after failing. « Find hardware problems : Stress testing may assist find hardware problems and dat cormuption problems. © Identify security flaws : Stress testing aids in identifying security flaws that might penet the system during periods of persistent high demand and compromise it. ¢ Assures data integrity : Stress testing assists in assessing the application's data integntY under heavy demand, which implies that the data should remain reliable even in the event OF a breakdown, Stress Testing Process There are 5 phases in the stress testing procedure : ste acquitils 1, Planning the stress test : The first stage is to plan the stress test, which entails acavil® system data, examining the system and. setting the test's objectives. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge a ——_—————___ Testing and Automation concepts se a ‘Advanced Testing In this sta, oF f socigre 7 ge, automation scripts for stress testing ar and test data is produced for the stress test scenarios. ipt Create automation seripts : cfeated cript execution : This z . 3. Si id : S stage entails executing the automation scripts for stress tests and saving the findings. 4, Results analysis : In this stage, the results of the stress test are analyzed and bottlenecks are found. 5 Fine-tuning and optimization : In this phase, the system is adjusted and the code is optimised in order to reach the required benchmarks, pes of Stress Testing : 1, Server-client stress testing : It is performed across all clients from the server and is also referred to as distributed stress testing. 2, Product stress testing : Product stress testing focuses on identifying flaws in software products that are connected to data locking and blocking, network problems and performance congestion. 3, Transactional stress testing : This kind of testing involves putting one or more transactions between two or more apps under pressure. It is done to optimize the system and make final adjustments. 4, Systematic stress testing : Also known as integrated testing, systematic stress testing is used to execute tests on many systems concurrently operating on the same server. It is used to find errors when the data of one programme prevents the operation of another application. 8. Analytical stress testing : Analytical or exploratory stress testing is done to evaluate the system under situations or parameters that are aberrant but unlikely to occur in a real scenario, It is done to look for flaws in strange situations like having a lot of people logged in at once or a database going down when viewed via a website. 6 Application stress testing : Also referred to as product stress testing, application stress testing focuses on identifying performance bottlenecks and network problems in software products. "88s Testing Tools as Apache JMeter, is a pure Java-based, open-source 1. JMeter : JMeter, also known application for stress testing websites. It is an Apache project that may be used for load testing in order to evaluate and gauge the effectiveness of various services, TECHNICAL PUBLIGATIONS® - an up-thrust for knowledge Software Testing and Automation 4-10 Advanced Testing Concepts 2. LoadNinja : Developed by SmartBear, LoadNinja is a stress testing application that allows users to create load tests without using any code, replaces load simulators with real browsers and aids in achieving high speed and efficiency using metrics based on browser use. WebLoad : This stress testing solution for mobile and online apps integrates performance, stability and integrity into a single procedure. NeoLoad : NeoLoad is a potent performance testing tool that analyses the server's behaviour while simulating a high number of users. Both online and mobile apps may use it. NeoLoad interacts with many CI/CD software and offers API testing. SmartMeter : SmartMeter is a simple application that enables coding-free creation of straightforward tests. It doesn't need any plugins and features a graphical user interface, With full and thorough test findings, this programme automatically creates sophisticated test reports. Metrics of Stress Testing The performance of the stress is evaluated using metrics and this is often done after the conclusion of the stress scripts or tests. Below are some of the measures. L 2. 3. Pages per second : The number of pages that are requested and loaded per second. Pages retrievable : The average time required to obtain all the data from a certain page. Byte retrieved : The initial byte of data is usually retrieved from the page in a reasonable amount of time. Transaction response time : The amount of time it typically takes for transactions between programmes to load or complete. Transactions per second : It keeps track of how many. transactions are loaded successfully each second as well as how many failures are experienced. Connection failure : It keeps track of how often a client's system experienced connection failure. System attempt failure : The system keeps track of how many times an attempt has failed. Rounds : It maintains track of how many test or script conditions were successfully run by clients, as well as how many rounds were unsuccessful. Stress testing advantages : . Establishes the system's behavior ; Stress testing establishes the system's response tO failure and guarantees speedy system recovery, TECHNICAL PUBLICATIONS® « an up-thrust for knowledge eee ge Testing and Automation eure security , Ensure security problems are not caused by failure 1 Stress (este makes concems are not caused by system failure, | Makes system operate in all clreumstances ¢ Stress testing makes the systent perfor propery in both normal and abnormal eircunstances gctost restrictions ¢ Manual stress testing might be challenging + The mama sess Fes procedare i snore difficult and requires more time to do. Requires solid scripting expertise : To develop the script test cates for the specific tool solid scripting skills are needed, external reswnurces aFe Demand for external resources : In order to execute stress testin; required, It results in an increase in time and resources 4 Continuously licensed instrument : A continuously licensed stress testing f0¢ more than the industry standard. & Additional tool needed when using an open-source stress testing tool : In certain cases. environment sn additional load testing tool is necessary t0 set up the stress resting & Ineffective test script implementation wa: + cases are not done, there is a probabili stes time and resources > If suitable stress - that certain resources may fail and scripts or test that time will be wasted. EJ Volume Testing A form of software testin} ficent amount of data. It is ézxzbase, volume testing is done called volume testing involves exposing the programme to & also known as flood testing. to evaluate the system's performance 1 behavior when exposed to a big amount of dats may By increasing the amount of dams in The influence on reaction time and syster evaluated with the aid of volume testNB music site's behavior while millions of users are downhoating As an example, examine the i. "efits of Volume Testing have been spent on application maintenance way be saved by recognising * Money that would load concems. * Iefocittates a more rapid start for sealing plans. * Identifying bottlenecks early’ sour system is now real Te contecs that y y for use an the real Work! TIONS® = an upettvust for Anowtadige TECHNICAL PUBLICA \dvancad Testing Conse, . Software Testing and Automation 4-12 A ee > Volume Testing's Goal ae . is the primar Discovering system performance with total amounts of data in the database primary got of performing the volume testing, Let's look at some more volume testing goals : * Measure the speed of the system response. We may assess the system response time since we are aware that successful volume testing enables business leaders to certify that software performance is uninterrupted. * Classifying the system's volume Identifying the system's volume makes it easier to establish scalability, which is also helpfiuy for creating backup plans. Additionally, the volume testing provides engineers with knowledge that enables them to predict how much data the system can handle without failing. © Create the scaling plans. By doing volume testing, the scalability plans are simple to create. We discover that volume testing inform corporate leaders on whether to increase system size or add more components, © Check that no data is lost. The only way the project team can ensure there is no data loss as the demands placed on the system and the size of the database increase is via volume testing. * Leaning more about how the system performs when there are low, medium and large data loads. The system's performance under low and medium loads is measured as the next goal of the volume testing to make’ sure it functions, Additionally, excessive data loads increase the danger of data loss. * Recognizing mistakes imposed by force on system components, Finding problems that only emerge during data load spikes, slower response times, system failures or security activities is the goal of volume testing. What Various Difficulties Does Volume Testing Face 2 Because all of the first considerations in volume testing must deal with data, there are a few things we always keep in mind while we carry out the test, * Volume testing involves handling big data volumes, Unlike other types of performance testing, volume testing works with enormous amounts of data, A large team of test engineers and huge data sets ar volume of data. As a result of frequent testing sessions, the with handling the data that was bumped. € needed to manage a sizable Programmer also needs to deal tware Testing and Automation Advanced Testing Concepts Volumo teatin oals with hugo ala Volumon Dittorant chaltongon inhabiting involume Nanatee database testing and connection batwoon they Fig. 4.2.4 Volume toating + Maintaining in a database, Due to the fact that we are Working with rela and a number of nearby volume testing, tional databases, which have a strong structure tables, itis the difficulty that is encountered most often during the In order to ensure that the test data is of the highest quality, the tester must collect a variety of fields, including both the mandatory elective ones that include big binary files. « Review the data types and connections between them. Learning the relationships between them, the distinctions between the kinds and how the software responds is challenging for a testing novice. During the volume testing, the test specialists must deal with a wide variety of data that may be itimate, invalid, missing, boundary-related or incorrect. lume Testing Tools As is common knowledge, automated testing saves time and yields more accurate results than nual testing. it s i v the tests at night, which i i sting tools is that we can run 2 adopting volume tes . a Ee oe ; members nor the members of other teams will be impacted by the ‘Ms that neither the team base's data volume. ting Open-source tools compatible for volume testing * HammerDB * DbFit * JdbeSlim * NoSQLMap ‘ammerDB open-source for the whole world’s database industry ing tool that is i : 1 8s ee acapion and supports runctime scripting, S mmulti-thre: ised for av aded, ut for know TGATIONS® - an up-thvust viedg TECHNICAL PUBL! Software Testing and Automation 4-94 Advanced Testing Concepts Features of HammerDB Following are the commonly used features of HammerDb-:: * Itis a completely open-source corporate rating tool with no limits on virtual users. * It can be utilized by all of the leading IT firms. * It offers complete support for a number of databases, including Oracle, MYSQL, SQL Server, PostgreSQL etc. ‘© Itenables help at the expert level. * It offers thorough and detailed documentation. * tis supported and completely functioning on Linux and Windows systems. 2. DbFit A free tool that facilitates test-driven development is called DbFit. The DbFit tests may be used as a working example of our system behaviour documentation. Benefits of DbFit These are some of the DbFit features that are often used : ‘* It supports agile development techniques including test-driven development and refactoring. © It supports a variety of database types, including Oracle, SQL Server etc. © It aids in improving the product's quality, maintainability and design. © It provides comprehensible syntax, enhancing communication with non-technical persons. © It offers examples-filled online documentation. 3. JdbeSlim JdbeSlim is a different volume testing tool that makes it simple to include database statements and queries into Slim FitNesse testing, It focuses mostly on maintaining the setup, test data and SQL instructions clearly. JdbcSlim's Characteristics The following are some of JdbeSlim's frequently used features : © SQL-literate developers, testers and business users may utilise the JdbeSlim framework. © It supports any database that a JDBC driver is available for. * Italso involves ensuring that the requirements are clear for users to comprehend and written independently of execution. 4. NoSQLMap ‘* An open-source Python programme called NoSQLMap is designed to automatically inject outbreaks and interfere with Database setups in order to assess the hazard. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge NS ndvoncod Tasting. concep! yor Tonto /Aulomation cavancge of Votan Testa. ’ he following are 0 fow advantages of volume toxting | eels reduce mintenmee expenses related to appliemion developmen sronly works with the MongoDB database, arly bottleneck discovery is aided by this, | queiltates scalability plans’ speedier starts, The volume testing ensures that the technology can be used in the actual world. pisadvantag ‘he following are drawbacks of volume testing: es of Volume Testing | The exact partition of memory utilized in the actual world cannot be achieved using the volume tests. To acquire the volume testing that would result in an addi knowledgeable database performance testing team is necessary. tional. cost to the project, 4 d complex. zed representation of the actual world is challenging an writing scripts and testing, which includes all test scenarios, nt push back the applicati + The personali Executing complete volume running those scripts, takes a lot of time. This mig! ion's release date. ( Fail-over Testing jlover testing checks whether a system can assign additional resources and an unexpected system failure. This test establishes al servers. Therefore, the testing is A method called fai skup all the data and processes in the event of jsten's capacity to manage significant failures and additions {reliant on the server's actual hardware, Itis ideal for testing to be carried out by servers. The two most frequent configurations for ndby are active-active and active-passive. ‘Although they accomplish failover in very different 1s both strategies are used to increase the servers dependability. For instance, if we have three servers and one of them dies from a high amount of demand, two "gs happen, The surviving servers will manage the demand, either because the failed server will ame on its own or because another circumstance will arise in which the failed server cannot ‘an, During this exam, such scenarios are put to the test. Portant considerations before fallover testing : |. Before considering executing the Failover fest the budget must be the first item to be taken into account. 2. The budget is linked to the structural elements that might collapse or degrade under stress or strain, TECHNICAL PUBLIGATIONS® an up-thnust for knowledge Software Testing and Automation 4-16 ae ‘Advanced Testing Concepts ‘Always bear in mind how much time it will take to address all of the problems brought on by a system breakdown. List the outcomes in order of the degree of damage that each failure would cause and then note which failures are most likely to occur. Important considerations for failover testing : i 2. ‘A Maintain a list of actions to be done after a test. Concentrate on carrying out the test plan, Establish a baseline to ensure that performance standards can be met. Write a report on the problem requirements and/or asset requirements. Working of Failover testing : 5. 6. Failover fc ary server is down | Internet Secondary server to rescue ! Fig. 4.2.3 Failover testing Before doing failover testing, take into account variables like monéy, time, team, technology, etc. ~ Analyze the causes of failover and provide fixes. Create test cases to examine possibilities for failover. Execute the test plan based on the results. Write a thorough failover report. Based on the report, take the appropriate action, The following are some advantages of failover testing : 1 . 3. Users may adjust anything, including user access, network settings and other things, Verifies that the setup is functioning correctly. The system's server can quickly fix all of the issues in advance, fee yo Testing and Automation ‘advanced Testing. concepts. 4, Offers improved services to ensure seamless operation of users! servers: 5, Assures that no loss occurs during downtime. Recovery Testing ee mine if a system can er esting techniques called "recovery testing" are used to det firming that. the system gystem The method entails failing the system and then con! cover from errors. sary was succesfully completed, d capable of t a system is fault-tolerant an Recovery testing must be carried out to make that go on 1s. A system is anticipated to repair errors and with its task defense system, 4 medical 1 is placed on how the ould act while sickly recovering from erro! in time frame. Any mission-critical system, such as 4 ms, a tight protocol ake to do so and how it she jthin a certa ppipment etc., requires recovery testing. In such systel lgem should recover from failure, how long it should t iling. It is important to test a system or piece of software for failures like + + Power supply failure «+ The external server js unreachable + Wireless network signal loss + Physical conditions * The external device not responding « The external device is not responding as expected etc. ps to follow before doing a recovery test: Before performing the recovery testing technique, a tester must make sure that the following ges are carried out : 1. Recovery Analysis - It's critical to assess the system's capacity to assign more resources, such as servers or additional: CPUS. This would make it easier to comprehend how modifications linked to recovery could affect how the system functions. Additionally, each potential failure, its potential effect, its severity and how to handle it should be researched. 2. Creating the test scenarios while considering the environment and the outcomes of the vironment in aecorance wi he findings ofthe recovery analysis, It’s important to keep @ backup of any information pertaining to the different states and database. Additionally, if the data is crucial, many different places. recovery analysis. 3. Designing the test 4. Keeping a backup - Programme, including its it is crucial to back it up im Software Testing and Automation 4-18 Advanced Testing Concopte 5. Allocation of recovery workers - It's crucial to assign recovery employees who are knowledgeable and skilled cnough for the recovery tests being done, 6. Documentation - This stage focuses on recording all the actions taken before and during the recovery testing so that the system's performance in the event of a failure may be evaluated. Example of recovery testing : ing, we may cause software failure. After some time has passed, we may plug the system back in * By cutting off the power to a system that is receiving data through a network for proce to see whether it can resume receiving data where it left off. * “Another example would bé the ability to simulate software failure by restarting a browser that is running several sessions. We can check to see whether the system recovers from the failure and loads all of the sessions it was previously working on after restarting it. Why If we relocate to an area without a network when a movie is downloading via 2 Wifi network, the download will be paused. We now retum to a location with a Wifi network to see whether the procedure is able to resume functioning after the interruption. The programme has an excellent recovery rate if the downloading may be restarted. Advantages of recovery testing : Enhances the system's quality by removing any possible defects and ensuring that it performs as intended. © Disaster Recovery Testing is another name for recovery testing. Many businesses have disaster recovery facilities to ensure that there is a backup system in case one of the systems is destroyed or fails for any other reason. © Since the potential weaknesses are found and fixed, risks may be completely eliminated. © Better performance as faults are fixed and the system becomes more dependable and operates more effectively in the event of a breakdown. Disadvantages of recovery testing : © Recovery testing takes time since there are many stages and preparations to do both before and after the test, * As the process of recovery testing is done under his supervision, the recovery employees must be trained. To guarantee that recovery testing is carried out correctly, the tester must be taught. He should have sufficient data and backup files to undertake recovery tests. © Ina few instances, the possible defects or problems are unexpected, It is challenging to pinpoint the precise cause of the same, but because the software's quality must be preserved, a variety of test cases are built and run to make sure any possible defects are eliminated. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge ofware Testing and Automation ts = Advanced Testing Concer Configuration Testing Configuration testi : at will te to determine the ideal setup for the system that iow t to operate flawlessly And mect al of its functional requirements, Testing the system in all softy, : 1s known as : Ste and hardware configurations that are supported is kno: onfiguration testing. The numeros ; M NS operating system versions, browsers, supported drivers, BA , hard drive Kinds, ond CPU types ope examples of the diverse hardware and software gmbinations in this context, that is the Purpose Of this testing 2 As previously said, this testing is a method for assessing a programme, system or application’s arformance while taking into consideration different system parameters, Through testing, the ideal Settings for a system or Programme to operate faultlessly and without configuration that will provide the required manner. mors are ascertained. This testing identifies the eformance characteristics in the most efficient The second main justification for this-testing (software Fequirement specification) is the ‘sents interoperability with other software or equipment included in the SRS. Types of configuration testing : Software configuration testing : ltis carried out on the application being tested using multiple operating system and browser “sions, among other things. Testing takes a lot of time since it takes ‘ different testing-related software. After passin, 2afiguration starts when the build is deployed. a while to install and remove g the unit test and integration test, so frware Hardware configuration testing : 'h laboratories where real computers are utilized and diverse hardware is linked to them, ‘ware configuration testing is frequently carried out. When a build is made public, it is tested on each and every physical s ‘ware is connected after being installed in order to ensure that the progranume aS operating “*perly. Since there are so many different pieces of computer hardware and Peripherals, it is "0st difficult to run all the tests while doing hardware configuration tes ting, 5 Configuration testing may also be divided Into the two categories below : L Testing at the client level : Testing at the client level includes usabili tem to which the ty and functionality » testing. The consumers’ immediate interest is taken into consideration while doing this testing. Pie ing Ce Software Testing and Automation 4-20 Advanced Testing Concep 2. Server level testing : When software is intended to be integrated after the release, sery level testing is done to ascertain how the programme will communicate with the extern; environment. Compatibility Testing How does Compatibility Work 2 The capacity to coexist or cohabit is what constitutes compatibility. In everyday life, milk and water may be blended readily, while oil and water are incompatible. What is Compatibility Testing 2 A type of software testing called compatibility testing determines if your programme can function on various types of hardware, operating systems, applications, network settings or mobile devices. Types of Compatibility Tests ¢ Hardware : It examines software compatibility with various hardware setups. * Operating systems : Your programme is tested for compatibility with a variety of operating systems, including Windows, UNIX, Mac OS, and others. * programme : It verifies that the programme you generated is compatible with other applications. For instance, the MS Word programme should work with other programs like MS Outlook, MS Excel, VBA, etc. Network : A system's performance inside a network is evaluated using a variety of characteristics, such as bandwidth, operating speed, and capacity. Along with the above listed factors, it also examines applications in various networks, Browser : It examines your website's compatibility with several browsers, including Firefox, Google Chrome, Intemet Explorer and others. Devices : It determines if your programme is compatible with various devices, including Bluetooth, USB port devices, printers and scanners, Mobile : Verify that your programme is compatible with mobile operating systems like iOS and Android, Software versions : This involves ensuring that your software programme is compatible with various software versions. Taking Microsoh Word as an example, make sure it is compatible with Windows 7, Windows 7 SP1, Windows 7 SP2, and Windows 7 SP3. software Testing and Automation aa ‘Advanced Testing concepts tw There are two types of version checking in compatibility testing : 1. Backward compatibili ‘ a ae Lanne testing : Backward compatibility testing is a way to check how gaia lardware or software behaves and works with earlier iterations of the aes ware. Testing for backward compatibility is more predictable since all of he modifications from earlier versions are known, . Forward compatibili ‘ 2 Ses eres testing : Forward compatibility testing is a procedure to check 'y produced hardware or software behaves and works with older versions of the same it is Sear or software. Forward compatibility testing is rather unpredictable since it is unknown what modifications will be implemented in later versions. Tools for compatibility testing : 1, BrowserStack - Browser compatibility testing : With the use of this tool, a software developer may test an application across many browsers. 2. Virtual Desktops - Operating system compatibility : This allows users to execute apps as virtual computers across several operating systems. It is possible to link a number of systems and compare the outcomes. EJ Usability Testing Today, there are several applications in the app store that may assist individuals in their job. which directs a certain product in ‘And when they can, they write a bad review or a low rating, their direction before a select group of end consumers download ew can ruin all of the hard work, talent and or install it. Ina nutshell, we may say that one negative revit strategy that went into creating the product. This is why usability testing, which plays a significant role and is carried out by the test engineers throughout the STLC (Software Testing Life Cycle), enters the picture to address these kinds of problems. What is Usability Testing ? * A prominent method of software testing that falls under the category of non-functional testing is usability testing. It is largely used jn user-centered interaction design to evaluate a software product's usability ge ; or ease of use. Since usability testi ing is a thorough process, its execution calls for knowledge about the programme. Usability testing is often carried out from the perspective of the end user to determine Isability testi Whether or not the system OPS! rates well. TECHNICAL PUBLICATIONS® - an up-thrust for knowledgo Software Testing and Automation 4-22 Advanced Tosting Concepts © The main goal of doing usability testing is to ensure that the application meets the clienys requirements while being, simple to use for the end user whg defined functional and busi is intended to utilize it, © The usage of usability testing ensures that the created software is simple to use without any issues and makes the lives of end users simpler, © Inother words, usability testing is one of the distinctive testing methods that reveals flaws in the way a software product communicates with its end users, Because of this, it is sometimes referred to as "User Experience (UX) Testiny © It assists us in resolving various usability issues with a certain website or programme, as well as ensuring its perfection and performance. The following qualities may be used in usability testing to characterize user-friendliness : © Easy to understand © Easy to access © Look and feel © Faster to access © Effective navigation (© Good error handling Easy to Understand © The end-users must be able to see all the features of the software or apps. Easy to Access © Auser-friendly programme need to be available to all users. Easy to Access © The application's appearance and feel must be superb and alluring in order to capture the user's attention. © The user interface (GUI) of the programme should be decent since a poor GUI might lead the user to lose interest in the application or software, © The product meets the client's expectations for quality, Faster to Access © The programme should operate more quickly when accessed, indicating that the application responds quickly. © [fan answer takes a long time, the user could get agitated. We need to make sure that the response time for our application is between 3 and 6 seconds. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge yare Testing and Automation ad Testing concepts Advanc active Navigation . See aes the programme is effective navigation, Among the elements o Effective Intemal Linking o A helpful header and footer o A useful search function sod Error Handling + Handling errors at the code level ensures that the programme or application is resilient and bus-free. + By displaying the appropriate error message, the application's usability and user experience will be improved. sability Testing Process The usability testing process is broken down into a few key components. With the help of this ocedure, we will be able to provide and produce various outcomes for every problem that nerged throughout the course of the testing. Even though it takes time, usability testing examines how the programme behaves from the e's point of view in real time, giving the tester the most accurate results from actual testing. And it helps us clearly before placing our product on the server by giving us an idea of its oblems and shortcomings. To assist the team in getting a thorough and beneficial feedback from the end-users, the ability testing procedure follows a particular set of procedures. ep 1: Planning + Planning is the first stage in the usability testing process. During this phase, the team creates a test strategy and some document samples to aid in the completion of the usability testing tasks. It is a critical and one of the most important steps in the usability testing process. * The planning stage determines the usebility tests goal. Here, the goal is not to have the volunteers use our programme while documenting their actions; rather, we need to address the system's most important functions and components, ers who are acquainted with these essential elements need to be given the during the planning stage, the usability testing methodology, the quantity t engineers and test report formats are determined. * Our test engine jobs, Additionally, and demographics of usability tes TECHNICAL ‘PUBLICATIONS® - an up-thrust for knowledge —= A — ‘Software Testing and Automation 4-24 Advanced Testing Concepts Step 2: Team Recruiting *¢ We will move on to the team recruitment phase of usability testing when the planning stage is finished, ° According to the budget and density of the product, we will here employ or recruit the eng. user delegates, participants and test engineers. © These staff members or test engineers are ready to observe the testing sessions and confirm the accuracy and usefulness of the product. © The selection of these test engineers is mostly dependent on the need for testing as well as the quantity of people included in the test plan. * The team is assigned to the specific duties and occupations as soon as the employment of 2 test engineer is accomplished. Step 3 : Test Execution © Once the planning and team-building phases have been effectively completed. The execution of the test will be the following step that we take. © The test execution stage is where the test engineers carry out the usability testing and carry out their designated duties. In this case, consumers must test the goods to identify any irregularities and accurately record them. Step 4 : Test Result Documentation © The test execution stage's findings are included in the test result documentation step, after which additional analysis is conducted. Step 5: Data Analysis © The following stage of the usability testing procedure, namely Data Analysis, will be undertaken when the test results documentation has been completed. © During the data analysis step, usability testing assessment provides the response or feedback. ‘Additionally, the results are categorised and the trends are recognised. © In this-phase, the results of the usability tests are thoroughly examined in order to draw meaningful conclusions and assist us in making suggestions that will improve the usability of-our product as a whole. Step 6 ::Reporting © We will eventually get at the last phase of the usability testing process, which is referred to as Reporting, after successfully cqmpleting all the aforementioned processes. ro Tosting and Automation «With the development team, do 4271 te 2 2 28 peavaoames togerg AILS HEME and REN. AS Well ay + STEEN recondings etc spent the Other pwisject participants, we may HP erchange all the relevant materiale, 1 resulls and recommend chan, indie audio, databases, Advantages of Usability Testing quality product was delivered Jeability, . Usability testing Will be pon into practise, which will increase the software's esttability sed consistency. + Before releasing the finished product, we n may identify usability problems with the ose of assbility testing, + The application's end-user is always eager to utilise it Conducting usability testing enables us to find potentis) problems sd flews is the programme. Disadvantage of Usability Testing + Budgeting is, as we all know, the most important consideration when carrying out any software testing. Costing for usability testing is also very important in this situation Esublishing a usability test lab involves a lot of resources and sometimes it mi expensive to hire or acquire a usability test engineer. + Because usability testing is carried out by end users, as was previously discussed, it ms challenging to find volunteers who are willing to serve as test engineers ‘In the first place, usability testing does not always accurately reflect the situation Testing the Documentation * The documenting of artefacts produced during or before the testing of a software programmse is known as testing documentation, The value of processes to the client, the persow and the organization is reflected in the documentation. * All-document projects have a high degree of maturity. Careful documentation may bly Ube organization save time, money and resources, * The definition of testing documentation is “documentation that fully describes the methods Used for testing, the bugs discovered during testing, the information of the fixed errors gaat the methods used 10 fix them." any adjustments made to fix the sues. The testing documentation contains all of them. TECHNICAL PUBLICATIONS® - bn up-trvust for knowledge \dvanced Testing C Software Testing and Automation 4-26 A 1g Concepts * Software testing documentation has to be created either before or during the testing process, © This document is crucial because it tells other testers and developers about the mistakes that have been repaired and how they were fixed. Types of Test Document > There are various types of testing document in software testing. Some of them are as follows : é © Test scenarios : The methods used to test an application programme are called test scenarios. It excludes the inputs and outputs needed for application navigation. However, it is often utilised to comprehend how the programme works from point to point. whereas test scenarios and test cases both include similar kinds of principles, test scenarios involve many stages for evaluating the programme whereas test cases just include a test case, © Test case : Test scenarios and test cases are both used to test the application, as we recently talked with test scenarios. However, a test case is a single input and output scenario used to. evaluate an application. Only one test case is insufficient to test an application, thus numerous test cases are created to test the programme and these test cases are recorded in a test document. © Test plan : As the name suggests, we will create a strategy in this document for the software testing that will be done either during the development of the programme or thereafter. For efficient software application testing, this strategy is quite helpful. Although the test plan document is crucial for effective testing, whatever we perform with a plan becomes successful. ¢ Test data : Test data is the data that is present before the testing processes are carried out. The test data may be used to compare test case findings, whether they are accurate or not. The test data document is created in an Excel sheet format. Benefits of using Documentation * Clear documentation makes the effectiveness of approaches and goals clear. * When a consumer employs a software programme, it guarantees intemal co-operation. © It guarantees transparency about the consistency of duties and output. © It offers feedback on tasks involving prevention, * Itoffers feedback for your cycle of planning, * It provides unbiased proof of the effectiveness of the quality management system. * The vafues that we entered in the first step cannot be forgotten while writing the test document. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge spare Testing and Automation <2 Advanced: Tosting Concepts: 4 We can quickly consult the te: It the text document, which saves time in the procedure t that we wil The fact that we will test on the same number makes it consistent as well ne Drawback of the Test Document Maintaining the customer-provi i eure 8 stomer-provided update and the document's corresponding change is # litle tiresome. " a «If the test documentation is inadequate, the application's quality will be replicated. « Sometimes a writer who lacks product expertise contributes to the article. «The expense of the document may sometimes outweigh its worth. Pi security Testing Software testing that identifies system flaws and establishes whether the system's data and ssources are secure from potential hackers is known as security testing. It makes sure that the gets or threats that might afiware system and application remain secure and unaffected by any dan; ‘sult in harm. Any system's security testing aims to identify any potential flaws and vulnerabilities satmight lead to the loss of data or the organization's reputation, Software testing that focuses on ssessing the security of a system or application is known as security testing. In order to guarantee tat the system is secured against unauthorized access, data breaches and other security-related roblems, security testing aims to discover vulnerabilities and possible threats. Principle of Security Testing ollowing aspects of security testing : 1) Availability 2) Integrity 3) Authorization 4) Confidentiality 5) Authentication 6) Non-repudiation | Availability i ment services Will be available whenever we need them © This ensures that the data and state hat the data be kept Je by an authorised individual. at by requiring # on fil authorised individual modified, Integrity’s ) Inte arity 1 the data that an un e data that the system provides, * In doing so, we shall protec 5; receiver control over the TECHNICAL PUBLICATIONS® - an up rust for knowledge Software Testing and Automation 4-28 Advanced Testing Concepts * The secrecy structures and integrity systems often use some of the same underlying strategies. However, instead of encrypting every communication, they often incorporate the communication data to establish the basis of an algorithmic check. Additionally, make sure that accurate data is sent from one programme to the next. 3) Authorization * It involves determining whether a customer is allowed: to both execute an activity and Teceive services. Access control is a good illustration of authorisation. 4) Confidentiality * Because it is the only method we can ensure the security of our data, it is a security procedure that delays the leak of data from outsiders. 5) Authentication * In order to provide access to the system or private information, it is important to trace the source of a product and validate a person's uniqueness, 6) Non- repudiation * It isa term used to refer to digital security, and it provides assurance that neither the sender nor the receiver of a communication may dispute having iransmitted or received the message. * The non-repudiation principle is used to confirm that a communication has been sent and received by the individual claiming to have done so. Types of Security Testing As per open source security testing techniques, we have different types of security testing which as follows : 1. Security scanning Risk assessment Vulnerability scanning Penetration testing 2 3. 4. 5. Security auditing 6. Ethical hacking 7. Posture assessment, TECHNICAL PUBLICATIONS® - an up-thrust for knowledge ova Testing and Automation ity scanning : Both automated testing and manual tenting may Se The vulnerability or undesired file modification in a web-baved york or stem wil r A, es that sework oF file system wil be found! using thi seaming Ht will den offer the results 5 Sst re 7 endil on enable us fo lessen those dangers, Those systems need necurity sereen!nB depending application, the architecture they use, Risk assessment : Both automated testing and manual testing may Use security gcanning. " 4 . icatit sites, = modification in a web-based application, Wes! he results that depending on The vulnerability or undesired f network or file system will be found using this scanning, It will then offer t enable us to lessen those dangers, Those systems need security screenings the architecture they use, Vulnerability seanning : A network's desktops, servers, laptops, virtual machines, printers, switches and firewalls are all included in this programme, which is used to identify and create a list of all the systems containing those components. The automated application may be used to do vulnerability scanning, which also detects the programs and devices that have admitted to having security flaws. security procedure where a cyber- Penetration testing : Penetration testing is a expert attempts to locate and take advantage of a computer system's vulnerability. The main goal of these tests is to mimic epidemics, identify system flaws and protect against intruders who could profit from them. ty auditing : An organized way for assessing the organization's security controls is Securit m from the inside out security auditing. We will check the application and the control syste for security flaws in this. Ethical hacking : Ethical hacking is used to identify system flaws and assists erganizations in plugging security weaknesses before malicious hackers reveal them. Because ethical hackers sometime: malicious hackers, but with the offcial person's consent, they will aid us in strengthening the security position of the organization. Ethical hacking aims to strengthen security and defend systems against assaults from harmful users. Posture assessment + combining ethical hacking, risk assessments and security scans, .3 use the same strategies, devices and methods as We can show the whole secutity posture of an organization by 5rinciples of Agile Testing Agile testing includes variow ¢ different principles that help us to increase the productivity of "Software, rECHNICAL PUBLICATIONS® - an up-thrust for knowledge Software Testing and Automation 4-30 Advanced Testing Concepts 1 3. 5. 7. 1. 8. Constant response 2, Less documentation Continuous testing 4, Customer satisfaction Easy and clean code 6. Involvement of the entire team Test-driven 8. Quick feedback Constant response Agile testing implementation continuously provides a reaction or feedback. Our product can thus satisfy corporate requirements. In other words, we may claim that during the continuous reaction, the Product and business needs are understood. ‘Less documentation : Agile teams or all test engineers employ a reusable specification or a checklist, thus less paperwork is needed for agile testing execution. And the team prioritizes the test above the auxiliary data. Continuous testing : The agile test’ engineers continuously do testing since it is the only method to ensure that the product is being improved. Customer satisfaction Customer satisfaction is crucial for any project delivery since consumers are constantly exposed to the product. The client may quickly update and adjust requirements as the development process moves along. Additionally, the tests may be modified to meet the revised specifications. Easy and clean code : When the flaws discovered by the testing team or the agile team are corrected in a comparable iteration, we end up with simple, clean code. Involvement of the entire team : As far as we are aware, the testing team is the sole team in the software development life cycle that is in charge of the testing process, However, Business Analysts (BA) and developers may also test the product or the application in agile testing. Test-driven : Agile testing requires us to carry out the testing procedure during implementation, which reduces the amount of time needed for development. However, testing is done either after implementation -or during the conventional ptocess of developing software. Quick response : The business team participates in each agile testing iteration. As a result, we may get constant input, which helps us shorten the time it takes to respond to comments on development activity. LESH Agile Test Plan The agile test plan is produced and modified for every release, in contrast to the waterfall style. The agile test plan also includes the testing kinds that were carried out during a particular iteration, TECHNICAL PUBLICATIONS® - an up-thrust for knowledge ‘advanced Testing ConcepIS enviro! ch as test environments, test data specifications, test outcomes and infrastructure The agile test aware Testing and Automation ans emphasize the following : « Testing Scope + The testing scope outlines the test covernge, test seope and sprint targets that will be used to implement the test, 1s. bes the various testing technigu In specifies the testing ta and «Performance and lond testing : This section de: « Testing kinds or levels according to the complexity of the feature + types or levels that will be applied, Additionally, it describes the test's dat specifications as well as the environment in whieh the test will be run. Mitigation oF risks plan : It describes the fallback strategy created to deal with risks oF problems. Additionally, it lists any difficulties that could arise when testing the programme for the most recent version, Deliverables and Milestones : It establishes test deliverables and milestones from the customer's point of view. yeeded to do the tests. Infrastructure ccusideration : It controls the equipment n of tests, which specifies Resourcing : It enumerates the test-related jobs and the frequency how often the tests will be run + Establish the newly tested functionality. IEF] Agile Testing Strategies Agile testing has four different approaches, which help us to ‘enhance our product quality. 1. Iteration 0 Construction iteration Release End Game or Transition Phase . Production Let us discuss them one by one in detail : Start work on release xt Deploy release x into production Initiate the project i 03 f 04 Release iteration 0 i (End game) 04 Gonataon Production. Operation and Deliver 4 working Support release x system that meets the changing needs fof stakeholdors Fig. 4.5.1 Agllo testing strategios Software Testing and Automation 4-32 Advanced Testing Concepts 1. Iteration 0 * Iteration 0 is the initial technique or strategy in agile testing. Here, we carry out the preparatory setup duties including recruiting test subjects, setting up test instruments, arranging resources or a usability testing lab etc, * In Iteration 0, the below steps are accomplished : © Validating a business case for the project's boundaries and situational circumstances. © List the key specifications and use cases that will influence the strategic trade-offs. © Schedule the first project and estimate costs © Spotting the danger. © Describe one or more potential desigi 2, Construction Iteration * Construction Iteration is the following agile testing technique. The bulk of the testing is done using this method. * In order to produce an increment of the answer, the building iteration is carried out as 2 series of iterations. * Simply said, the agile team executes the specified requirements throughout each iteration, acquiring the most important business needs of requirements that have been left behind from the work item stack. * The construction iteration process divided into the following two types of testing : 1. Confirmatory testing 2. Investigative testing . 1. Confirmatory Testing : We will carry out the confirmatory testing to make sure the product satisfies the needs of all the stakeholders. Confirmatory testing may be further divided into the following two categories of testing : © Agile acceptance testing o Developer testing Agile acceptance testing : It combines acceptability testing with functional testing. The development team and stakeholders may jointly conduct the agile acceptance testing. Developer testing + It combines integration testing with unit testing, Additionally, it verifies the database structure as well as thé application code, 2. Investigative Testing : We will do investigative testing in order to test thoroughly and find any problem that confirmatory testing missed. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge Testing and Automation ts vere 3 “Asvanced Testing ConceP , release End Game or Transition Phase « Release is the third Strategy used in agile testing, This particular strategy's goal is to suocessfully Put our technology into Production. «In the end, the test engineer will be working on its defect tales. In the release end game OF transition stage, we have the following activities : Support Individuals o Training of end-users © Operational People «Similarly, it involves some additional activities as well : o Back-up and Restoration 0 Marketing of the product release o User documentation 0 Completion of system Whole system testing and acceptability testing are included in the final testing phase of the agile approach. We should have to test the product more extensively throughout building iterations if we want to successfully finish our final testing phase. . Production When the release stage is over, the product will proceed to the manufacturing step. Agile Testing Life Cycle Agile Testing life cycle completed into five different phases, as we can see in the following Impact assessment Agile testing life cycle mage : testing planning Fig. 4.5.2 Agile testing life cycle TECHNICAL PUBLICATIONS® - an up-thrust for knowledge a Advanced Te Software Testing and Automation esting Concept Let understand all the phases in detail : Phase 1 : Impact Assessment Impact assessment is the first stage of the Agile testing life cycle. In order to carry out the impact assessment phase, we now gather the input and feedback from users and stakeholders, This stage, sometimes referred to as the feedback stage, helps the test engineers define the goals for the subsequent life cycle. Phase 2: Agile Testing Planning Agile testing planning is the second stage of the testing life cycle. The testing process schedules, frequent meetings and deliverables are planned at this phase in collaboration with the developers, test engineers, stakeholders, customers and end users. Phase 3: Release Readiness Release readiness is the next stage in the Agile testing life cycle, when test engineers must assess the fully developed features to determine if they are ready to go live or not. They must also determine whether features need to return to the earlier stages of development. Phase 4 : Daily Scrums The next stage of the Agile testing life cycle is daily scrums, which comprises moming meetings every day to review testing and set the goals for the day. Additionally, daily objectives and targets are defined in order to assist test engineers in understanding the state of testing. Phase 5: Test Agility Review The test agility review is the last and concluding component of the Agile life cycle. The weekly meetings with the stakeholders to analyse and assess the progress towards the targets are part of the test agility phase. In order to evaluate the development process's progréss, we may state that agility reviews are implemented on a regular basis. Advantages of Agile Testing © Agile testing paves, the door for frequent end-user input and evaluations, which aids in improving the quality and attributes of the software product. © The use of agile testing will result in significant time and cost savings, improving the - transparency of cost estimates, © Daily meetings help us identify more important concems. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge «sofware Testing and Automation opts dvancod Tosting Concer” ‘Agile testing tnkes te. sumentation. 88 papery # Improving software productivi Agile software testing, ork to run oF Wwe might argue that if minimises doc y in} ty and lowering mistakes are the two main benefits of using © Aswe learned fi AS imed from the discussion above, fort into : ve video the eff aa agile software development divides the and prever \d prevents developers fiom veering off course. We will also see more efficiency and more little discrepancies in the outcomes, pisadvantage of Agile Tasting + The biggest drawback of agile would fail. testing is that if two or more team members quit, the project on order {0 test the programme or the application, the testing team must be determined, which leads to uneven results, + The lack of documentation that translates into precise criteria and requirements makes it difficult for us to forecast expected outcomes, « Agile testing often involves bug patches, revisions and releases, which might sometimes cause Us to introduce new problems into the system. [i Testing Web and Mobile Applications The practice of testing application software just for managing and handling mobile devices is referred to as mobile app testing. It is used to assess a mobile app's usability, compatibility and other factors. © Web app testing : Web app testing is the process of evaluating application software that is hosted on the internet to assure its quality, functionality, usability etc. It's sometimes referred to as website testing or web testing. ifference between Mobile App Testing and Web App Testing Wob app testing ‘These are software programs that are used on computer, Web applications are developed for shorter range of users as compared to mobile applications. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge ——<—$$$ Software Testing and Automation 4-36 Advanced Testing Concepts intemet connection but speed matters, quality to perform any task. of connection matters, speed of LTE store. a boo &® Tis not easy to create responsive design for Itis easy to code relative design for large | I ~ small screen devices such as mobile devices, _ devices such as desktop and laptop. \ | tablets. | (7S. Mobile storage capacity is less than desktop or Desktop or laptop has larger storage capacity as i laptop when it comes to downloading apps and compare to mobile. A multimedia therefore, sometime it becomes | difficult to test mobile apps. 4 6. Mobile apps sometimes do not require any Web app generally requires intemet connection | i | connection ete. | | 7. Its quite complex and complicated to test This easy and simple to test web applications mobile apps because of different mobile because of functionality of desktop. devices having different and greater number of functionalities. “There is no such problem of battery life. 8. Testing team have to check performance of - mobile devices on fully charged devices and ~ low charged devices because application that drains battery life gets deleted soon. 9,” One has to consider different screen size, ‘One does not consider such things in web app different OEM’s (Original Equipment testing. | Manufacturer), storage capacity etc., in mobile oh | app testing. 2 | WOE ag eee ee 10. Testing team has to focus on interaction of ‘Testing team does not need on interaction of | Z mobile devices with user’s moves, voice and web devices with user's move, direction of | em ir nl as it offers ‘user's attentions, eye moves etc, as it offers less | riety of options (o perform operations. __ variety of options to perform operations. | J. Explain performance testing. 2. Explain recovery testing, configuration testing. 3, Explain usability testing. 4, Explain testing the documentation. 5, Explain testing in the agile environment. 6. Explain testing web and mobile applications. TECHNICAL PUBLICATIONS® - an up-thrust for knowledge Software Tosting and Automation ease ge gy 0 oa Two Marks. Questions with Anaw Q.4 What Is porformanco tosting 7 ore. ans. : Performance testing isa nonin the stability, speed, scalability workload. It's a key step in en: ; Inctional software testing technique that deterrnines hr andr i responsiveness of an application holds up under a given suring s afterthought, in isolation and to a o ee eee ee 0 after the code is ready t0 release, functional testing is completed and in most cases, Q.2 Types of performance tosting, Ans. : « Capacity testing. © Load testing. + Volume testing. « Stress testing. + Soak testing. Q3 Types of test document. Ans. : « Test scenarios. * Test case. © Test plan. . Requirement traceability matrix(RTM) * Test strategy. Test data. * Bug report. © Test execution report. Q.4 What Is security testing 7 ing is a type of Software Testing that uncovers vulnerabilities, threats, risks eee is ks from intruders. The purpose of security a software application and prevents malicious attacl catio " ales tests is to identify all possible loopho es and weaknesses of the software vi Js of the employees or outsiders of ir enue, repute at the hand information, Fe result in a loss of organization. an up-thnust for knowledge TECHNICAL PUBLIGATIONS® Software Testing and Automation 4-38 Ans. : 1, Advanced Testing Concopts Q5 Explain principles of agile testing. Continuous testing in agile testing the testing is done continuously to be in pace with the development. Continuous feedback while testing is performe heir testing to the developer, so that developers .d continuously, testers also ensure to provide continuous feedback based on th can make changes at the early stages. Involving the whole team agile testing involves all testers, developers and business analysts testing the software. Quick feedback agile testing offers continuous and quick feedback from the business teams, Getting early feedback reduces time delays because of delayed feedbacks and development. High-level software quality since agile testing supports regular testing and feedback, the corrections are also done in the same iteration ensuring a higher level of software quality. Q.6 What is agile test plan ? Ans. : An agile test plan is a comprehensive strategy for testing software applications, designed to ensure quality and reduce defects by promoting continuous testing throughout the development cycle. The plan is flexible and iterative, with regular updates and adjustments made based on changing requirements, test results and feedback. This allows for adaptability in the testing process. Qoog TECHNICAL PUBLICATIONS® - an up-thrust for knowledge

You might also like