Thursday, July 9, 2020

Software Testing Tutorial

Software Testing Tutorial Software Testing Tutorial Know How to Perform Testing Back Home Categories Online Courses Mock Interviews Webinars NEW Community Write for Us Categories Artificial Intelligence AI vs Machine Learning vs Deep LearningMachine Learning AlgorithmsArtificial Intelligence TutorialWhat is Deep LearningDeep Learning TutorialInstall TensorFlowDeep Learning with PythonBackpropagationTensorFlow TutorialConvolutional Neural Network TutorialVIEW ALL BI and Visualization What is TableauTableau TutorialTableau Interview QuestionsWhat is InformaticaInformatica Interview QuestionsPower BI TutorialPower BI Interview QuestionsOLTP vs OLAPQlikView TutorialAdvanced Excel Formulas TutorialVIEW ALL Big Data What is HadoopHadoop ArchitectureHadoop TutorialHadoop Interview QuestionsHadoop EcosystemData Science vs Big Data vs Data AnalyticsWhat is Big DataMapReduce TutorialPig TutorialSpark TutorialSpark Interview QuestionsBig Data TutorialHive TutorialVIEW ALL Blockchain Blockchain TutorialWhat is BlockchainHyperledger FabricWhat Is EthereumEthereum TutorialB lockchain ApplicationsSolidity TutorialBlockchain ProgrammingHow Blockchain WorksVIEW ALL Cloud Computing What is AWSAWS TutorialAWS CertificationAzure Interview QuestionsAzure TutorialWhat Is Cloud ComputingWhat Is SalesforceIoT TutorialSalesforce TutorialSalesforce Interview QuestionsVIEW ALL Cyber Security Cloud SecurityWhat is CryptographyNmap TutorialSQL Injection AttacksHow To Install Kali LinuxHow to become an Ethical Hacker?Footprinting in Ethical HackingNetwork Scanning for Ethical HackingARP SpoofingApplication SecurityVIEW ALL Data Science Python Pandas TutorialWhat is Machine LearningMachine Learning TutorialMachine Learning ProjectsMachine Learning Interview QuestionsWhat Is Data ScienceSAS TutorialR TutorialData Science ProjectsHow to become a data scientistData Science Interview QuestionsData Scientist SalaryVIEW ALL Data Warehousing and ETL What is Data WarehouseDimension Table in Data WarehousingData Warehousing Interview QuestionsData warehouse architectureTalend T utorialTalend ETL ToolTalend Interview QuestionsFact Table and its TypesInformatica TransformationsInformatica TutorialVIEW ALL Databases What is MySQLMySQL Data TypesSQL JoinsSQL Data TypesWhat is MongoDBMongoDB Interview QuestionsMySQL TutorialSQL Interview QuestionsSQL CommandsMySQL Interview QuestionsVIEW ALL DevOps What is DevOpsDevOps vs AgileDevOps ToolsDevOps TutorialHow To Become A DevOps EngineerDevOps Interview QuestionsWhat Is DockerDocker TutorialDocker Interview QuestionsWhat Is ChefWhat Is KubernetesKubernetes TutorialVIEW ALL Front End Web Development What is JavaScript â€" All You Need To Know About JavaScriptJavaScript TutorialJavaScript Interview QuestionsJavaScript FrameworksAngular TutorialAngular Interview QuestionsWhat is REST API?React TutorialReact vs AngularjQuery TutorialNode TutorialReact Interview QuestionsVIEW ALL Mobile Development Android TutorialAndroid Interview QuestionsAndroid ArchitectureAndroid SQLite DatabaseProgramming aria-current=page>Uncat egorizedSoftware Testing Tutorial Know How to Perform Testing Last updated on May 20,2020 6.7K Views Neha Vaidya A tech enthusiast in Java, Image Processing, Cloud Computing, Hadoop. A tech enthusiast in Java, Image Processing, Cloud Computing, Hadoop. Bookmark 2 / 15 Blog from Introduction to Software Testing No software can ever be completely perfect. But is that a license to create garbage? The missing ingredient is our reluctance to quantify the quality.In order to increase the quality, it is very important to ensure the effective performance of software application.Software testing is required to ensure that the application runs without any failures. Inthis Software Testingtutorial, I willtell you everything you need to know about testing aspects.In continuation to the previous blog on what is software testing, here I will dive deeper and cover the below-mentioned topics.Introduction to Software TestingSoftware Testing BasicsSoftware Development Life CycleVerification an d Validation ModelSoftware Testing MethodsSoftware Testing LevelsSoftware Testing Documentation ArtifactsBug Life CycleChallenges faced by Manual TestingAutomation Testing vs Manual TestingYou may also go through the recording of software testing tutorial where our Software Testing Training experts have explained the concepts in depth.Software Testing Tutorial For Beginners | Manual Automation TestingThis video talks about different types of testing i.e. manual testing and automation testing approaches.Introduction to Software TestingTodays world of technology is completely dominated by machines, and their behavior is controlled by the software powering it.Software testingprovidesa cost-effective solution to allour worries. What is Software Testing? Software Testing is a process of evaluating the functionality of a software application to find any software bugs. It checks whether the developed software met the specified requirements and identifies any defect in the software to achi eve a quality product. It is basicallyexecuting a system to identify any gaps, errors, or missing requirements contrary to the actual requirements.It is also stated as the process of verifying and validating a software product. It checks whether the software product:Meets the business and technical requirements that guided its design and developmentWorks as per the requirementCan be implemented with the same characteristicsNow, lets move further in the Software Testing tutorial article and gain some insights on the basics of Software Testing.Software Testing BasicsFirst, I will tell you What is the software development life cycle?Software Development Life Cycle(SDLC) abbreviated as Software Development Life Cycle is a process used by the software industry to design, develop and test high-quality software. It aims to produce high-quality software that meets or exceeds customer expectations, reaches completion within time and cost estimates. Below diagram depicts various phases involv ed in SDLC. Fig: Software Development Life Cycle Software Testing TutorialRequirement PhaseRequirement gathering and analysis is the most important phase in the software development lifecycle. Business analystcollects the requirement from the customer/client as per the clients business needs and documents the requirements in the business requirement specification (document name varies depends upon the Organization).Analysis PhaseOnce the requirements are gathered and analysed, the next step is to define and document the product requirements and get them approved by the customer. This is recorded through the SRS (Software Requirement Specification) document.It consists of all the product requirements to be designed and developed during the project life cycleDesign PhaseThis phase has two steps:HLDHigh-Level Design It gives the architecture of the software product to be developed and is done by architects and senior developersLL DLow-Level Design It is carried out by senior developers. Here, it gives you insights about how each and every feature in the product should work and how every component should work.The outcome from this phase is theHigh-Level DocumentandLow-Level Documentwhich works as an input to the next phase.Development PhaseDevelopers of all levels (seniors, juniors, freshers) are involved in this phase. This is the phase where you start building the code for the software.Testing PhaseWhen the software is ready, it is sent to the testing department where they testit thoroughly for differentdefects. Testing of a software is carried out either manually or using automated testing tools and ensure that each and every component of the software works fine. Once the software is error-free, it goes to the next stage, which is Implementation.Deployment Maintenance PhaseOnce the product is error free, it is delivered/deployed to the customer for their use. Deployment is done by the Deployment/Implement ation engineers. As the customers startusing the developed system, then the actual problems come up and needs to be solved from time to time. Detecting and solving these issues found by the customer comes in the maintenance phase.This was all about the Software Development Life Cycle. If you wish to know about different stages involved in software testing process, then you can read this blog onSoftware Testing Life Cycle. Having understood this, lets move further with this software testing tutorial and see what is the V V model.V model is now one of the most widely used software development processes. Introduction of the V model has actually proved the implementation of testing right from the requirement phase. It is also called as Verification and Validation modelWhat is Verification and Validation in Software Testing?Verification:Verification is a static analysis technique. Here, testing is done without executing the code. Examples include reviews, inspection, and walk through.V alidation:Validation is a process of dynamic analysis where we perform testing by executing the code. Examples include functional and non-functional testing techniques.In the V model, the development and QA activities are done simultaneously. Here, testing starts right from the requirement phase. The verification and validation activities occur simultaneously. Lets look at the figure below to understand V model Fig: Verification Validation model Software Testing TutorialIn a typical development process, the left-handside shows the development activities and the right-hand side shows the testing activities. Itshould not be wrong if I say that in the development phase both verification and validation are performed along with the actual development activities.LHSAs mentionedearlier, left-hand side activities are development activities. Normally we feel,what testing can we do in the development phase?Butthis is the essence of this model which illustrates that testing can be done in all phase of development activities as well.RHSThe testing activities or the Validation Phase is carried out in the Right-hand side of the model.As you have gained some insights on this, lets move further with this software testing tutorial and see what are the different methods in which the software can be tested.Software Testing MethodsThere are three methods for testing software and they are as follows:Black Box TestingWhite Box TestingGrey Box TestingBlack Box Testing:Itis a method of softwaretesting in which the internal structure/ design/ implementation of the item being tested is NOT known to thetester.White Box Testing:Itis a method of softwaretesting in which the internal structure/ design/ implementation of the item being tested is known to thetester.Grey Box Testing:Itis atestingtechnique performed with limited information about the internal functionality of the system.I hope you understood key pointers on different methods of software testing. Now, lets move further in thisSoftware Testing Tutorialarticle and understand Software Testing Levels.Software Testing LevelsA level in software testing is a process where every unit or component of a software/system is being tested. There arevarioustesting levels which help to check behavior and performance for software testing. These testing levels are designed to recognize missing areas and reconciliation between the development of lifecycle states. In software development life cycle model, there are characterized phases such as requirement gathering, analysis, design, coding or execution, testing, and deployment.All these phases go through the process of software testing levels. There are mainly four testing levels and they are:Unit TestingIntegration TestingSystem TestingAcceptance TestingBasically, it starts with the Unit Testing phase and ends with Acceptance Testing.In the next section of this software testing tutorial, I will be diving deeper into the nex t topic and explain what are the various documentation artifacts in software testing.Software Testing Documentation ArtifactsDocumenting the test cases will facilitate you to estimate the testing effort you will need along with test coverage and tracking and tracing requirement. Some commonly applied documentation artifacts associated with software testing are:Test PlanTest ScenarioTest CaseTraceability MatrixLets discuss each of them in brief.Test Plan:It provides you with the outline strategy which will be implemented for testing the application.Test Scenario:Test scenario can be considered as a single line statement that notifies the area in which your application will be experimented. This artifact is needed for ensuring the overall procedure tested from the verystart to end.Test Case:Test Caseis nothing but a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly. Below mentioned test cases are be ing checked during testing.Functional test casesNegative-error test casesLogical test casesPhysical test casesUI test casesTraceability Matrix:It isalso known as aRequirement Traceability Matrix(RTM). It contains a table which sketches the requirements when your products SDLC model is being created. These documenting artifacts can be applied for forward tracing which is to go from designing to coding or can be implemented for backward tracing as well which is the reverse of the forward tracing.This brings us to end of Software Testing Documentation Artifacts. Now, lets move further in this Software testing tutorial article and learn what is Defect Management?What is the DefectManagement process?Defect management is a process of detecting bugs and fixing them. As bugs are a part of software industry, they occur constantly in the process of software development. The team members must write large pieces of code every day, and they usually dont have time to think about how to avoid bugs . Hence, every software development project requires a process that helps to detect the defects and fix them.Defect management process is conducted at the stage of product testing. Without realizing this, it would be hard to understand the nature of defect management.. Usually, the developers test their product themselves. Also, there is also a type of testing that is based on user involvement. The final users are often provided with an ability to report on the bugs they have identified.Nevertheless, this is not the best way of testing, because the users might not be capable of finding all the bugs.The defect management process usually includes four steps.The first step is the stage of the defect detectingThe second step is dedicated to the formulation of bug reportsThe third step is to fix the bug.In the final step, the bug list is createdNow, lets move further in Softwaretesting tutorial article and understand the bug detection processwith the help of the bug life cycle.Bug life c ycleAdefect life cycleis a process in which a defect goes through various phases during its entire lifetime. It starts when a defect is found and ends when a defect is closed, after ensuring its not reproduced.A defect life cycleis related to the bug found during testing.Bug or defectlife cycle includes the steps as illustrated in the below figure: Fig: Bug life cycle Software Testing TutorialNew: In this step, if a defect is logged and posted for the first time, its state is given as new.Assigned:After the tester has posted the bug, the lead of the tester approves that the bug is genuine and he assigns the bug to a corresponding developer and the developer team. Its state given as assigned.Open: Inthis state, the developer has started analyzing and working on the defect fix.Fixed:As the developer makes necessary code changes and verifies the changes then he/she can make bug status as Fixed and the bug is passed to the testing team.Test:At this stage, the tes ter does the testing of the changed code which the developer has given back to him to check whether the defect has been fixed or not.Verified:Here, the tester tests the bug again after it got fixed by the developer. If there is no bug in the software, he approves that the bug is fixed and changes the status to verified.Reopen:In case if the bug still exists even after the bug is fixed by the developer, the tester changes the status to reopened. In this state, the bug goes through the life cycle once again.Closed:As soon as the bug is fixed, it is tested by the tester. In case, if the tester feels that the bug no longer exists in the software, he changes the status of the bug to closed. It implies that the bug is fixed, tested and approved.Duplicate:In the bug life cycle, if the bug is repeated twice or the two bugs mention the same concept of the bug, then one bug status is changed to duplicate.Rejected:If in case the developer feels that the bug is not genuine, he rejects the bug. Then the state of the bug is changed to rejected.Deferred:If the bug is changed to deferred state means the bug is expected to be fixed in next releases.This was all about the Bug Life Cycle and Defect Management Process. Now, lets see what are the challenges with Manual Testing.Challenges With Manual TestingTesting of an application manually byQA testers is known as Manual Testing. Here, all the tests need to be performed manually in every environment, using a different data set and the success/ failure rate of every transaction should berecorded.In the above figure you can see a man who manually verifies the transactions recorded. You can easily notify the challenges that he is facing may cause fatigue, boredom, delay in work, mistakes and errors because of manual effort. This led to the emergence of Automation testing. Now, lets delve into the last topic of software testing tutorial article and see how Automation testing beats manual testing.Automation Testing vsManual TestingAut omation testingovercomes manual testing every time. Why?Because it is superfast, requires very less investment in human resource, notprone to errors, frequent execution of tests is possible, supports regression testing and also functional testing.Lets take an example and understand this. Say you have a login page and you need to verify if all the login attempts are successful, then it will be really easy to write a piece of code which will validate if all the transaction/ login attempts are a success or not (automated test case execution).All these tests can be configured in such a way that they are tested in different environments and web browsers. Not just that, also you can automate the generation of result file, by scheduling it for a particular time during theday. Then you can also automate the generation of reports based on those results and what not.Important point here is that automation testing makes a testers job, a whole lot simpler. Refer the above image which showsa mor e relaxed environment in which the same tester is working. If you wish to know more about Automation Testing and the widely used Automation Testing tool Selenium, you can refer to this Selenium Tutorial.This was all about how automation testing is sparkling its way in the field of software testing. It brings us to the end of the article on Software Testing Tutorial. I hope you found it informative and it has helped in adding value to your knowledge.If you found this Software Testing Tutorial relevant,check out thelive-onlineSelenium Certification Trainingby Edureka,a trusted online learning companywith a network of more than250,000satisfied learnersspread acrossthe globe.Got a question for us? Please mention it in the comments section of Software Testing tutorial blog and we will get back to you.Recommended blogs for you Everything You Need To Know About Functions in C? Read Article Google Acquires Looker, Salesforce Acquires Tableau | What Does this Mean for Techies? Read Article I nfographics: How Big is Big Data? Read Article Vol. XX â€" Edureka Career Watch â€" 21st Sep 2019 Read Article C Programming Tutorial: The Basics you Need to Master C Read Article What is Appium How it Works? | Beginners Guide To Appium Read Article 10 Artificial Intelligence Influencers You Must Follow in 2019 Read Article Top Tableau Tips and Tricks a Data Visualization Expert Must Know Read Article JMeter Correlation: The Best Way for Extracting Variables Read Article Vol. XIII â€" Edureka Career Watch â€" 11th May 2019 Read Article 7 Habits of Highly Effective DevOps Read Article Splunk Lookup and Fields: Splunk Knowledge Objects Read Article All you Need to Know About Implements In Java Read Article Stack in Python: How, why and where? Read Article Edureka At Honeywell E-Learning Fest Read Article How To Best Implement For Loop In C? Read Article Ui Path Salary: How Much Would You Earn? Read Article Introduction to C Programming-Algorithms Read Article #IndiaITRepublic â€" Top 10 Facts about Cognizant â€" India Read Article A Beginner’s Guide To CRM Salesforce Read Article Comments 0 Comments Trending Courses Python Certification Training for Data Scienc ...66k Enrolled LearnersWeekend/WeekdayLive Class Reviews 5 (26200)

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.