Software Development, Uncategorized

7 Points For Mobile App Development And Checklist

Few points to remember before developing a mobile app and testing checklist: The platforms for mobile applications To develop the mobile application ios and android are the preferred platforms. However, the developing world uses Symbian phones. It’s good to know upfront which platforms are expected to be supported. So that it will help to make crucial decisions regarding architecture/design. And it also provides an idea of whether to develop a completely native application or use a framework like PhoneGap. The most famous platforms are listed below: Screen Resolution Screen resolution is also an important factor to be considered. At present smartphones and tablets are in different shapes. So make sure that the application looks good on the targeted screen. Landscape orientation or portrait Some game applications work only in landscape mode and some applications work only in portrait mode. And some game applications work on both types of modes. Make sure that the application works properly in both modes and while changing the mode ensure that the application is without any issues. GPS functionality and accelerometer If the mobile application is some medical-related that is for example labs and diagnostics then GPS plays a crucial role. Make sure that how the application responds when GPS is disabled and how it responds when enabled.And coming to an accelerometer, it is a meter which shows the movement or vibration of a body. If the application needs an accelerometer then make sure that it gives accurate readings. Example of the application which contains this accelerometer is jump trackers, 3d visualization, games and so on. Network issues There are different networks like 2G, 3G,4G, and WIFI. The application should be developed in such a way that it supports any type of network. Not all users contain WIFI some users may use 2G or some may use 4G. That means the application should be tested based on the real scenarios. And another important network issue arises when the user is traveling. At that time how the application is working with intermediate network speed? And how the application works at user location where there is no wifi. The application must be capable of handling all these situations. Web app updates plus test mobile If the mobile application contains web service or server-side components. If the scenario is any update is done on web services also reflect in the mobile application. If it is the case then ensure that it works properly to avoid any human error. Security of mobile application Data privacy is a very very important scenario. If the application is something like online payment example google pay. The user gets worried if the credentials are not secured. If the credentials are not secured then that application has no hope to see success mostly it is not even alive. So make sure that the application provides good security.

Software Development, Uncategorized

Different Models Of Software Development Life Cycle

There are several different models in the software development life cycle. Some of them are mentioned here. The basic phase and activity are the same for all the models. They are mentioned below: 1. Waterfall model The waterfall model is also known as a linear sequential model. It is the very first model in the software testing life cycle. Once phase output is input for another phase. The next phase starts only when the previous phase is completed. The step by step process is mentioned below: Requirement Analysis In this phase, requirement gathering is done for the application. SRS(Software Requirement Specification) documentation is prepared in this phase. This is the input for the next phase. System Design System design is prepared in this phase by studying the (Software Requirement Specification)SRS document. This design is useful to know the requirements of hardware as well as the system. And also defines the architecture for the overall system. Implementation/Coding In this implementation/coding phase coding is done by the developers by thoroughly studying the (Software Requirement Specification) SRS. This developed software is input for the next phase. Testing The software code is tested by the tester thoroughly to find the defects. If any defects are present then defects are logged into the defect tracking tool. Until the time the software is in go-live state bug logging, retest, regression goes on. Deployment After the sign off is given by the customer in the Deployment phase, the developed code is moved into production. Maintenance If any issue arises in the production environment developers will resolve it. The advantages of the Waterfall model: The disadvantages of the Waterfall model 2. V-shaped model It is known as the verification and validation model. In this model development and testing goes parallel. There are two main phases in the v-model. Verification phase The following are the steps involved in this phase. Validation model The following are the steps involved in this phase. The advantages of the V- shape model The disadvantage of the V-shape model 3.  Agile model It is a combination of an iterative and incremental model. This model focuses more on development rather than a requirement. The application is divided into small incremental builds. In this iterations are termed as sprints. At the end of each sprint, the product owner verifies the product and after his approval, it is delivered to the customer. The advantages of Agile model The disadvantages of the Agile model

Software Development

What is SDLC? And the process of SDLC

What is SDLC SDLC means the Software Development Life Cycle. The software development life cycle is a framework that defines the step by step process in the development of each phase. The complete development process is involved in this framework. Like the design, planning, developing, testing, deploying. Process of SDLC: Here is the process of the software development life cycle 1. Gathering of requirements and analysis To develop the application, all the relevant information should be gathered from the customer to get the expected output. To develop an application the core understanding or knowledge of the application is very important. So the project manager and business analyst sit together with the customer who wants the application. In this meeting, they gather information like to know the purpose of the profit, who will be the end-user, etc. Once all these requirement gatherings are done then analysis comes into the picture. The analysis is done to know the feasibility of the development of the product. To know that with the available resource can this project be handled or not. Such types of decisions will be taken at this phase. If there is any uncertainty a call is set up for further future discussion. Once the requirement is clearly understood, a software requirement specification document is prepared. This document is observed from top to bottom by the developer and also by the customer for any future reference. 2. Design The architecture that is used for implementing system development is derived. By taking the software requirement specification document as an input. 3. Coding or Implementation All the components of the software implemented in this phase. Once the developer gets the design document coding or implementation will be started. 4. Testing Once the development is done testing phases will start. In this phase, the tester will test the application that it is working as per the customer expectation. Tester refers to the software requirement specification(SRM) document to make sure that the application is according to customer expectations. If any defects are present then the tester assigns those defects to the developer to fix it. Until the point at which the software is as per the customer’s expectation retesting, regression testing won’t take place. 5. Deployment Once the development and testing are performed completely that means zero bugs. Then the product is deployed into the production environment. or User acceptance testing may be done based on customer interest. In the case, if user acceptance testing (UAT) the customer and developer perform testing. If the customer is pleased with the application then sign off is provided by the customer to go live. 6. Maintenance Once the product is deployed on the production environment maintenance of the product is taken care of by the developers. That means if any issues arise and need to be fixed or any enhancement is to be done is taken care of by the developers.

Testing, Uncategorized

What Is Selenium? And Packages Of Selenium

Selenium is one of the widely used software test automation tools. It is an open-source automation testing tool.There is a mass movement towards automation testing in the software testing industry. Packages of selenium There are 4 packages. They are 1. Selenium Integrated Development Environment(IDE) Selenium IDE was developed by shinay Kasatani. In the year 2006 selenium IDE became a part of the selenium package. This selenium IDE turned out the great value and potential to the community. Its record and playback features make it exceptionally easy. In selenium when compared to all the packages, selenium IDE(Integrated Development Environment) is the simplest and easiest package. Selenium IDE is a cable of recording and playing back the user across on a firefox instance to which it is plugged in. And selenium IDE is cable of converting into java, HTML, c# and so many other languages. It is flexible and extensible. But it does not support error handling. And does not support database testing. Iterations and conditional statements are not supported by the selenium IDE(Integrated Development Environment). 2. Selenium Remote Control (RC) Selenium RC is a language which is written in java. It allows the user to construct the test scripts for the web applications in any programming language. This selenium RC(Remote Control) is a result of the disadvantages of selenium IDE(Integrated Development Environment). And one of the main disadvantages of the selenium IDE is the same-origin policy. This selenium Remote Control(RC) supports a wide range of browsers and platforms. And it also supports data handling and database testing. It supports logging and capturing screenshots. Supports TestNG and Junit testing frameworks. Supports programming languages and constructs. Unable to handle alerts and navigations efficiently. It does not support android/iPhone testing. Unable to handle Ajax calls efficiently. 3. Selenium Web driver Selenium web driver was invented in the year 2006 by Simon steward. It is an object oriented framework. Selenium web driver is a web-based testing tool. There is a hair-splitting difference between selenium web drivers and selenium RC. Without using any peripheral entity it utilizes the browser’s native compatibility to automation. Before executing the test scripts do not require a selenium server at starting. When compared, the selenium RC selenium web driver is faster. But it does not support mobile testing. And the API is more complex. Directly communicates with the browsers. 4. Selenium Grid selenium Grid was introduced by Pat Lightbody in order to address the need for executing the test suites on multiple platforms simultaneously. There are 2 major components in the selenium grid. This hub routes test commands which are in JSON format to the multiple registered grid nodes. Node is a remote device that consists of a remote web driver and a native operating system. In the form of JSON test commands node received the request from the hub and executed them using a web driver.

Testing, Uncategorized

What Is Software Testing? Types Of Software Testing

What is software testing? Software testing means it is a process to check the application is working according to the requirement. And also to ensure that the application is defect-free, in order to produce the quality product. There are 2 different types of software testing. They are mentioned below. Functional Testing: Again functional testing contains different types of testing. 1. Unit Testing Unit testing is a type of testing where individual components are tested. In order to know that each component/unit works as expected. So the name itself is called Unit testing. 2. Integration Testing In integrated testing, all the individual units are combined and tested as a group. In order to expose the faults in the interaction between the testing units. Test stubs and test drivers are used to aid in integration testing. 3. System Testing System testing is a type of testing to verify the complete and fully integrated software product. The purpose of this testing is to analyze end to end system specifications. 4. Sanity Testing Sanity testing is a quick check that the application is rational. Sanity testing can be narrow and deep. Whenever a build is received then sanity testing can be performed. 5. Smoke Testing The smoke testing consists of a non-exhaustive set of tests that aim to make sure that the most important functions work. It is also known as ‘Build verification Testing’. Why because based on the result it is decided that the build is still enough for future processing. 6. Interface Testing Interface testing is testing to ensure that the Communication between 2 different software systems is working properly. The connection that integrates 2 components is called an interface. So it’s got that name interface testing. 7. Regression Testing This regression testing purpose is to know that the recent modifications do not affect the existing features. 8. Acceptance/Beta Testing The purpose of this acceptance testing is to estimate compliance with the business requirements and assess whether it is acceptable for delivery. Non-functional Testing It is a type of software testing to test non-functional aspects. They are mentioned below. 1. Performance Testing To ensure that the application is working fine with the expected load. That means to know the performance of the application like sensitivity and stability under this stage. 2. Load Testing The load testing purpose is to know the behavior of the application under the specific expected load. 3. Security Testing Security testing means to make sure that the application data and resources are secure from the possible intruders. 4. Localization Testing To verify the quality of the product this localization testing is used. 5. Compatibility Testing To check that the application is working fine all types of browsers. 6. Reliability Testing To know that the application can perform a failure-free operation for a specific time and environment. 7. Usability Testing It is just like end-user testing. The testing purpose is to know that the application is easy to understand, easy to learn and attractive to the end-user.

Testing

What Is Usability Testing? Why It Is Performed.

What is Usability Testing Usability testing means to make sure that the application is fit to the end-user expectations. Whatever the application is the aim is to reach the end-user expectations. To develop any applications the 3 things that the developer is put in mind is: Why is usability testing performed? In recent times web and mobile applications ruling the business. Because of mobile usage, this usability testing is getting affected. why because nowadays everyone uses mobiles, both literates and illiterates. So whatever the application is the end-user whether it is literate or illiterate should be able to handle the application in a smooth manner. If the application is understandable only for the literates then the application does not see a huge success. Of course, there are other features also to be considered to know that the application is going to hit or flop. But this usability testing also plays a key role to see success. This usability testing is not only applicable to software applications only, but also for all types of interface/machines that have human interaction has got to satisfy these rules. For example if the voting machines is not usable , it means more than single-action if there are multiple actions to be performed to vote to the chosen candidate, then did the public show any interest to do all that process for one vote? They get irritated then the democracy will suffer. And the gadget in the hospital, if that won’t work properly there, is a critical situation where sometimes the patient even may die. It should be in an understandable manner not to complicate to perform any action. If the application is hospital related you know that it is an emergency case. And To avoid situations like this usability testing is mandatory. There are a bunch of examples in history that one single button can cause a great effect. And this usability testing is performed when it means the earlier a defect is found in the SDLC the cheaper it is to fix it. The same as this concept holds true for testing Usability also. So it is important to design an application in such a way that the customer/ end-user did not get irritated by multiple clickings. It should be simple and also able to provide good security. Who performs this testing There are 2 different ways that this usability testing can perform. The first one is the developer, designers and anyone else can sit and analyze the system and get the results. Based on the result there can be some modifications that are done if required. It is an internal process. And the second way is hiring real-time users and assigning tasks for them and getting the results from them. This is an advanced approach.

Testing

What Is Performance Testing? Types Of Performance Testing.

What is performance testing Performance testing is to know how the software application behaves under the workload in terms of stability and responsiveness. Performance testing comes under non-functional testing. Types of performance testing 1. Load testing Load testing is performed to know how the software application is working under normal usage and at peak usage. By considering the application response to the user request and its ability to respond frequently within an accepted tolerance on a different user load the performance of an application is checked. The key factors that should be considered in this load testing are to know how much is the maximum load to the application that it goes into unexpected behavior. Before the system slows or crashes how much data that the database is able to handle. And also to consider is there any network issues to be addressed. 2. Stress testing Stress testing is a performance to find ways that break the system. By performing this testing it provides the maximum range of the load that the system can hold. Where the load is gradually increasing Stress testing has a progressive approach. Initially, this test started by applying a load to the system that it can hold and gradually by increasing the load to stress the system. The point at which the servers are not responding to the request is considered a breaking point. 3. Capacity testing Capacity testing is used to know by how many transactions or by how many users that a web application supports and still meet the performance. The reason behind performing this testing is to know that the application is capable to meet the business needs in normal and peak load conditions. Bandwidth capacity, memory usage, and some other aspects are observed while performing this capacity testing. capacity testing plays a major role in Online baking. 4. Volume testing Volume testing is performed to make sure that the volume of the data does not affect the performance of the application. To perform this teste a large amount of data is entered in the database. It can be either an incremental or steady test. In an incremental test, the volume of the data is increased gradually. For example, a website of a hotel with fewer customers initially and increasing gradually. 5. Reliability testing Reliability testing is also known as recovery testing. It is simply nothing but a time estimation. That means to verify that the application is able to return to its initial state after a failure/ abnormal behavior or not. And to know how long it takes to come to normal behavior. If any application experiences failure and is able to work fine after an hour, then that application is said to be reliable. 6. Scalability Testing This scalability testing is done by the performance testing team. They perform multi[ple tests like by increasing the users to meet the expected load and to know the application performance. To know whether the deployment can support the service under peak user load.

Testing

What Is Regression Testing? Types Of Regression Testing.When To Perform Regression Testing?

What is Regression testing? The Regression is performed to make sure that the modification made in the code does not impact the existing functionality of the application. That means no new bugs are introduced because of these changes. In this previously executed test case also again executed in order to verify the impact of modifications/changes. This regression testing is performed on a new build when there is any significant change in the original functionality. Why regression testing is important ? because the application contains many modules and those models are dependent then this regression testing is very important. For example Gmail. Gmail contains compose, inbox, sent, drafts, trash and so on. Here the compose module and sent module are interlinked which means whatever mail that sent will reflect in the sent module. For example, if the client needs some new features in the compose module and the development for that module is done. If the testers do not perform regression testing and deliver the application. Then what will happen? The important emails that were sent by the user will not present in the sent module then there is no proof from the sender side. This has a very high priority. If the new features are developed in help modules that do not much affect any other module So regression testing plays a crucial role. When there is any continuous change in the application this test is very important. Types of Regression testing There are 3 different types of Regression testing. They are mentioned below. 1. Unit Regression Testing During the unit testing phase, Unit Regression is done and the code is tested in separation so that if there are any dependencies on the unit to be tested are blocked so that the unit can be tested individually without any inconsistency. 2. Partial Regression Testing Partial Regression testing is performed to make sure that even when the changes/modifications have been done in the code that does not affect the (unit )code for that module. And that very unit is integrated with the unchanged or already existing code. 3. Complete Regression Testing When there are changes in every module and also the changes affect other modifications in other modules unknowingly.Then complete regression testing is done. When to perform Regression testing Usually, Regression testing is performed after verification of modifications or new functionality. Sometimes it is not the scenario. Regression tests must be incorporated in the daily test cycle for the release that is taking months to complete. If the scenario is weekly release then regression tests can be performed when the Functional Testing is over for the changes. Regression testing is nothing but retesting. That means repeating the test that was performed before. Regression testing is done not regularly only for the special occasions that mean something has changed in the application or code.

Testing

Automation Testing by using Cucumber Tool and Selenium and Benefits of Behavior Driven Development.

What is Cucumber? A cucumber is a tool that is based on the Behavior Driven Development(BDD) framework. There are other tools that support BDD(Behavior Driven Development) for example JBehave. This Behavior Driven Development(BDD) is an extension of Test-Driven Development. It is one of the testing approaches. By using Gherkin language it explains the behavior of the application. Both selenium and cucumber are used to perform acceptance testing for the web application. At the beginning cucumber was implemented in Ruby later it extended to Java framework. Cucumber can be used in combination with Selenium, Watir, Capybara and so on. It supports different languages like PHP, Python, Perl, Net,etc., It Does not support composite steps. Cucumber does not contain any standard documentation. It contains a better formatting flexibility, built in reports. Here are some cucumber features. These are some features of Cucumber. There is a possibility to execute the Junit test case which was written in Cucumber by using TestNG. But by following the below conditions.They are: Feature file: In the Feature file, the feature is written that is to be tested in Gherkin format. There is an ability to even run the feature file to execute the test scripts which were written in the StepDef file. Stepdef file: In the StepDef file each sentence of the featured file can be further implemented. Runner file: In this Runner file the actual script is executed which was written over the StepDef file by referring to the Feature file. Along with this, it contains many other options like customization, reporting, execution, selective, etc. What is Selenium? For the functional testing of the web application selenium automation tool is used. It supports different languages like java, ruby, python, c#, etc. It is not just a tool but it is a suite of software. Some tools mentioned below. Benefits of Behavior Driven Development(BDD):

Testing

What is Jira? Advantages and Disadvantages of Jira

What is Jira? Jira is a bug tracking tool basically which was developed by an Australian company named Atlassian in the year 2002. Basically, it is a bug tracking tool later in the year 2012, it started its services like project management. It is a Japanese word which means Godzilla. This tool is mainly used for bug tracking for software and mobile apps. Jira is mainly used by Agile developers to customize the workflow and for team collaboration and it releases the application with more confidence. And the help desk system, leave request system also uses this tool. Coming to the tester this tool is used for bug tracking to track project-level issues like documentation and also to track environmental issues. This tool was used by 75000 users in 122 countries. Jira contains 4 packages. They are mentioned below: 1. Jira core It is a project and task management solution. In the organization, every business person uses the plan, track and report of the work. The new business template of this Jira core is very efficient to support multiple teams, projects, and workflow. 2. Jira software Jira software is developed for bug tracking of software and mobile apps. 3. Jira Ops It is a place to respond to the incidents, link systems and to create a consistent process. On Atlassian’s Jira software Jira Ops is built. And its objective is to automate and streamline incident responses and also provide visibility into the ongoing incidents and also provide updates about chat and status. 4. Jira service desk Jira Service desk is a modern service desk software. It provides good visibility and provides a good structure for the work to provide a better service. Jira Basics: It consists of 6 aspects. They are mentioned below. Coming to the plugins there are some plugins available in Jira to get a better result. There is some famous plugin in Jira They are mentioned below Zendesk, Salesforce, GitHub, Gitbucket, and so on. Some of them support the team to report the issue directly into Jira. With full-featured issues and with test management it created an unlimited private repository. As early discussed, agile developers mostly used this Jira software. For the upcoming versions of the product, the developers follow the roadmap of the planned features. Advantages of Jira Disadvantages of Jira

Scroll to Top