Posts

Showing posts from February, 2015

Change Before the change comes. (Smoke testing)

Smoke testing referred to the early stages of testing procedures/processes, where there is a need to test the entire application or Module just after construction, wrt the SRS/BRS and get ready to go further with other testing concepts. Mainly smoke test is subjected to High level Functionality check Navigation check (where applicable)  Correctness Completeness Screen-shots and then freeze the checkpoint  OR ELSE  back to the developer for further CHANGES according to the SRS/BRS This is the post-production testing to make sure that nothing is broken while migrating the application code from QA environment into productions environment. Smoke test is basically comes from the hardware industry when ever install a new system in new environment sometimes smoke will come. Smoke testing is an integration testing approach that is commonly used when "shrink wrapped" software products are being developed. Smoke testing is the process of testing carried out to

What’s Unique about Scrum?

In scrum is unique because it introduce the strict uniform application it is not a best guess and ununiform forecast, to plan and schedule release it will split into sprint, sprint means time between two release, release between two sprint is may be one week or two week sometimes sprint may be three week, once sprint is over stake holder, scrum master and team member will make a plan for second release or next step, scrum has very strict and informal method, it is divided into three peso possibility, first is stake holder which is responsible for make product backlog, scrum master is responsible for maintaining sprint backlog, sprint backlog contain roles and responsibility of each and every person present in sprint, this is also called project plan. one main thing in scrum is team member are from cross platform like take an example of mobile application if it is a client server application, some people from server side some people from client side or working in mobile os,testing peop

Crud methodology in software testing...

I am writing a new blog for fresher or recently joined software industry, generally when people will join gaining industry and mobile application testing for any platform. Everybody is having a basic idea of testing game because now gaining is a very big industry. About application testing now a day everybody is having a Gmail account and other sites. So everybody is having an idea about what is software and where it will be used and why used and how it will make our life easier. This is a general idea why we are creating a product simple to make our life more easier. Same why we are creating software, only scope is different. Generally in a gaming or u can say in mobile industry companies are not involve in more documentation there r few reason or challenges everyday, ex daily new launch handsets, no of OS, diff memory size, screen size, and less time to complete the project and we have another problem, very difficult to check the overall performance battery consumption for each appl

Exit Criteria for testing...

Hi friends today I am talking about exit criteria,why it is important in any organization,some times exit criteria is defined by the stakeholder some time defined by the a manager, exit criteria are the criteria or requirements which must be met to complete a specific process and the application is ready to install in production server, When testing new software or hardware for release, a set of test specifications are created to test this new product to ensure that it meets minimum acceptable criteria. some times people is confused with boundary analysis. It consist Exit the testing phase of the program. Exit criteria are always dependent on time recourse and budget. But there are no exit criteria for testing when it comes to the exploratory testing. The Exit Criteria for testing is: 1. when all the test cases are executed 2. When User acceptance testing is complete 3. Hardware and software are not available at the time indicated in the test schedule or project schedule

Why agile is less efficient than Waterfall?

I am also practicing a agile environment but I always thinking that water fall model is a more efficient in software development sometimes people are saying that agile is a cheaper than waterfall model but it is not true it is depend on the application or nature of project, team size,timeline,budget. The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance. If in the beginning of the project failures are detected, it takes less effort (and therefore time and money) for this error. In the waterfall model phases to be properly sealed first before proceeding to the next stage. It is believed that the phases are correct before proceeding to the next phase. In the waterfall model lay the emphasis on documentation. In the newer software development methodologies make

Product development life cycle in agile methodology.

1. SME meets with the customer to determine the product requirements and build user stories. 2. Project manager break the requirements into independent tasks and estimate the time to complete each task. 3. Programmers present the customer with the task list and with time estimates, and have them create a priority list of features. 4. The programming team assigns tasks to pairs of programmers based on their skill sets. 5. Each pair creates unit tests for their programming task using the application’s specification. 6. The pair works on their task with the goal of creating a code base that passes the unit tests. 7. Each pair fixes/retests their code until all unit tests are passed. 8. All pairs gather and integrate their code base every day. 9. The team releases a preproduction version of the application. 10. Customers run acceptance tests and either approve the application or create a report identifying the bugs/deficiencies. 11. Programmers release a version into production

Defect severity vs. priority in Agile testing...

First I will define the actual definition of severity and priority, Severity - Causing pain, difficulty, anxiety, damage. Priority - Something that is very important and must be dealt with before other things. Once u read the actual definition u can able to understand and define it. Mostly or u can say that 90 percent priority and severity are same. Many older bug tracking systems had two fields, priority and severity. Like most modern bug tracking systems, FogBugz only stores the priority. severity and priority is defined in High severity, low priority and medium priority,or u can say that depend on bug tracking tools like test trace pro,priority and severity is defined on A,B,C,D. Priority” is associated with scheduling, and “severity” is associated with standards. “Priority” means something is afforded or deserves prior attention; precedence established by order of importance (or urgency). “Severity” is the state or quality of being severe. Severity is associate with user an

Tests as Experiments....Exploratory Testing

Today I am writing about exploratory testing...This is randomly testing technique sometimes we will get the issue or bugs which we are not expected while acceptance testing. This testing will be done by anybody in an organization .it is a very simple and plane like ad-hoc no rules no test case.ex: keyboard banging involved in Exploratory. Randomly press any key or in an any sequence. There can be any number of unintended consequences that acceptance tests would not expose. Note that each of our experiments involves a hypothesis a prediction about the resulting behavior of the system. We might start with a hypothesis that the system will be able to handle what we are throwing at it. When we design tests while exploring, we have a hypothesis about how the software will behave. While the software is being tested, the tester learns things that together with experience and creativity generates new good tests to run. His comes under black box testing technique. It can be done by the Jr

How to move application from development server to production server

Hi friends today I am talking about how to move code from development to a production server this is nothing but release management life cycle but it is an important aspect for tester. The Release management discipline covers moving code form a developer’s machine to production.  This will be done in this way: Developer develops code and runs unit test, integration tests review the code prior to putting it in to the main build, which then leads to Install and build test server, this is where the install team install the code which has come out of the build, if the build does not work then the release manager knows there is a problem, most companies have a code curfew where they make sure developers don’t submit code for the nights build unless they have tested it. If the install is ok a regression test is run and if this passes, then the code is release to the test team, on one or more ideally two test servers. The testers then run their test scripts against the test plan and test sc

Smart questions before start the production to set the goal

Hi there is list of question which u asked to your project manager before start the development...it will help u to understand the different aspect of product.... What are the most important aspects and features of our Product?  What Feature and technology make our product unique?  What specific areas in the product are the most widely used by our customers?  What type of things would make our users uncomfortable move to other product?  Is our application focusing on today market?  How are we better than our competitors or what factors can make our product better?  What are the challenges faces our competitors, and how we can resolve the challenges?  Is there any risk in our technology (hardware or software), are there any risks in the product? 

Software release life cycle

Bug has a life cycle like new, open, assign, reopen, defered, verify and closed. Like same software release has his own life cycle there are different phases like pre alpha, alpha, beta, Gama or release candidate, production relesae, end of life or no support. Let me explain one by one pre alpha build or release: In this phase team involve in requirement gathering, design, development and unit testing start but still build testing is doing by the developer. after alpha testing build comes to tester or in a qa cadare.in this phase only test plan and test case had done in water fall model but in scrum it is a continuous process at any stage u can add new test case as per requirement. Alpha release: Tester comes into the picture alpha is a first release come out from development behalf of test case or requirement tester will start testing write bugs and send report to test lead and PM. In this phase different kind of testing performs like adhoc,integration,detailed test case executi

Scrum VS Water fall model

Water fall model is basically a traditional method of application development there are certain step to follow like requirement gathering, design development,development,testing,optimization, but scrum had certain rules it is not a method it is a framework basically there are three leading people involve scrum master,stakeholder,and team. Team is basically cross functional team ex server side developer, client developer, tester and others depends on project, and project manager may be work as a scrum master or anybody who is having a different role like tester, developer. In water fall model only one activity will be happen like while requirement gathering people will gather the requirement, me will write use case, then Pm will start architecture database design, functional diagram, even tester will also start writing test case behalf of use case a requirement, then developer comes into picture with the help of use case and detailed UI diagram he will start writing code once code wil

Different kind of documents for application development in mobile and web domain.

1) Requirement docs: basically it is prepared by SME or business development executive. It should be written in a story mode or in a point. Sometimes it is written in a step by step. then actual requirement gathering will be start or project will start after detailed discussion with team members project manager business development executive and team member basically it will be depend on company some some times team member are not included. 2) Use case docs: Basically it is done by the behalf of requirement docs which is given by the stakeholder use case is the second docs which is prepared by the same once it will be completed given to stake holder once stake holder review the docs and give green signal to the company actual work will start now everybody is a part of team. Then project manager will decide a team and and other hardware requirement. And this is a write time to decide the time period how long application goes or estimation goes. In a normal water fall model project m

Release notes template contains for RC build and production release.

Release notes template for RC build and production release. 1)Version number 2)System Requirements 3)Added Features Listing 4)Supported devices(name of the reference build) 5)Bug fixes (include bug id) 6)Known issues 7)Copy write info and customer support info.(eg customer care e-mail)

Best possible test case for Login Screen (for username password fields)

1)It accepts alphanumeric characters along with the special characters. Checks whether only the special characters like _, space, - are allowed. 2)Checks whether the user name entered is available in the data base after the tab key is pressed. 3)Error message thrown for the wrong entry of user name if it is already exist. 4)Password should be case sensitive. 5)Password Reset option should be there or password recovery option should be there if required. 6)Email Confirmation and validation. 7)Enter username with 16 characters and enter password as 6 characters and click on ?OK?(Please enter below 15 characters for username) 8)Enter username as 12 characters and enter password as 3 characters and click on ?OK?(Please enter min 5 characters for password) 9)Check by giving space between username and password. It should give an error or provide help. 10)username and password field length should be in min 5 to max 15 alphanumeric characters and case sensitive 11)Check whether u ca

Useful Test Cases for User Interfaces Testing in mobile & web application testing

1.Required Fields If the screen requires data entry on a specific field, designers should identify the required fields with a red asterisk and generate a friendly warning if the data is left blank. 2.Data Type Errors If the screen contains dates, numeric, currency or other specific data types, ensure that only valid data can be entered. 3.Field Widths If the screen contains text boxes that allow data entry, ensure that the width of data entered does not exceed the width of the table field (e.g. a title that is limited to 100 characters in the database should not allow more than 100 characters to be entered from the user interface). 4.Onscreen Instructions Any screen that is not self-explanatory to the casual user should contain onscreen instructions that aid the user. 5.Keep Onscreen Instructions Brief While onscreen instructions are great, keep the wording informative, in layman’s terms, but concise. 6.Progress Bars If the screen takes more than 5 seconds to render result

CTS test steps in the mobile applications

CTS test steps : 1. Please download and install the Android 1.6 SDK on your machine. 2. Your phone should be running a user build (Android 1.6 and later) from source.android.com 3. Please refer to this link on the Android developer site and set up your device accordingly. 4. Make sure that your device has been flashed with a user build (Android 1.6 and later) before you run CTS. 5. You need to download the TTS files via Settings > Speech synthesis > Install voice data before running CTS tests. (Note that this assumes you have Android Market installed on the device, if not you will need to install the files manually via adb) 6. It is advisable to log in to the device with a test Google account, not an account that you actually use. 7. Make sure the device has a SD card plugged in and the card is empty. Warning: CTS may modify/erase data on the SD card plugged in to the device. 8. Do a factory data reset on the device (Settings > SD Card & phone stor

Encounter in the real world testing tips in mobile or web testing

1) Encounter in the real world: 1)Walk out of Wi-Fi range so the connection automatically switches to 3G/2G 2)Ride in an elevator or on a train where the network connection may go up and down. 3)No network connection available at all. 2)SD card interactions: If your application can potentially store or retrieve items on the device’s SD card, then it is important to test the applications behavior when there is an SD card present or not. At a minimum, the application should provide user-friendly error messages when a function cannot be performed due to a missing SD card. 3)Stress testing: 1)Load your application with as much data as possible to try to reach its breaking point. 2)Perform the same operations over and over again. 3)Perform the repeated operations at varying speeds – very quickly or very slowly. 4)Leave your application running for a long period of time, both interacting with the device and just letting it sit idle, or performing some automatic task that takes a

How to write an effective use case for mobile or web application

1) Use case is a second document which is basically written by SME or Business development executive but some times in a small companies sr test engineer or manager will write due to limited resource never send a techie because he is having a limited domain knowledge once it will be wrong it will effect the whole project so usually those people send to get requirement who is expert in domain it should be in a story mode or it will be written in a points depends on same understanding. basic of story mode they will create a use case use case is generally a positive scenario it cannot cover negative test cases so whenever u r creating a test case behalf of use case or requirement docs always think about the positives and negative scenario it is a best practice to get a good result. 2) once u develop the test case better send a docs to the team members they can review before placed in a center for available anyone the best practice is to update the test case at every release. 3)If u r w

Steps to go before Mobile or Web application send for staging client server

Preparation before application send for staging client server 1) Run all test cases after releasing a RC build and Production build for each OS. 2) Master test plan should be update before every releasing. 3) Please check the build version before testing.(make sure testing latest build) 4) Exit criteria should be defined by developer. 5) Create checklist before deploy the application in staging server. (eg... server verson,iis,sql, firewall etc..) 6) Create a matrix against carrier where we deploy the build.(compare with using carrier while testing) 7) Compare with benchmark before deploy the build on staging server. eg..speed,performance,usability,option) 8) Test all the available device rest of testing will be done in device anywhere. 9) Test the device or after certification keep the device list in a SharePoint folder in a central location with version info. 10) Please update the status of bug after every release. 11) Create positive test case as well as negative tes

Web Application Checklist

Let’s have first web testing checklist. 1) Functionality Testing 2) Usability testing 3) Interface testing 4) Compatibility testing 5) Performance testing 6) Security testing 1) Functionality Testing: Test for – all the links in web pages, database connection, forms used in the web pages for submitting or getting information from user, Cookie testing. Check all the links:  Test the outgoing links from all the pages from specific domain under test.  Test all internal links.  Test links jumping on the same pages.  Test links used to send the email to admin or other users from web pages.  Test to check if there are any orphan pages.  Lastly in link checking, check for broken links in all above-mentioned links. Test forms in all pages: Forms are the integral part of any web site. Forms are used to get information from users and to keep interaction with them. So what should be checked on these forms? First check all the validations on each field. Check for the default v

Manual Testing Definations

1. Quality: - It is defined as the conformance to the customer specification. 2. Testing: - A Tester should suppose to identify the defects. 3. White box testing: -Based on knowledge of the internal logic of an application’s code. Tests are based on coverage of code statements, branches, paths, conditions. 4. Test case: - Test case is a description of what to be tested, what data to be given and what actions to be done to check the actual result against the expected result. 5. Black box testing: - Not based on any knowledge of internal design or code. Tests are based on requirements and functionality. 6. Functionality testing: - Testing whether the functionality of the application is working or not and whether all the requirements have covered are not. 7. System testing: - The entire application tested according to the requirements. 8. Sanity testing: - Initial testing conducted on the application to check the proper behavior on the application. 9. Smoke testing: -

Find out dynamic id value using selenium webdriver

//Find out the dynamic ids using name elements List<WebElement> element = driver.findElements(By.name("Kalyan")) //Print out all the elements System.out.println(“Print out the list of Element value is ” + element); //Store the value of element size int value = element.size(); //Print out the value of element size System.out.println(“Print out the list of Element Names is ” + value); //Create array here ArrayList <String> data = new ArrayList <String>(); //Get dynamic id values using above elements For(WebElement element: element){ String name = element.getAttribute(“id”); //Print out all the ids System.out.println(“Print out the list of id’s is “ + name); //Store id value in the array data.add(name); } For (int j = 0; j<data.size(); j++){ //Store each value from the array in the obj String Obj = data.get(j); // inner buttons like inside the box or element using xpath String insidebutton = “//div[@id=”+Obj+”]/div/div/div[2]/div[2]/p”; System.out.pr

ATU Properties file using in selenium webdriver for HTML reporting

File:- Atu.properties atu.reports.dir=C:\Users\kalyan\workspace\testProject\ATU Reports atu.proj.header.text=ATUReport Testing atu.proj.header.logo=C:\Users\kalyan\workspace\testProject\ATU Reports\HTML_DESIGN_Files\IMG\atu.png atu.proj.description=MyProject Testing Reports atu.reports.takescreenshot=true atu.reports.configurationreports=false atu.reports.excel=false atu.reports.continueExecutionAfterStepFailed = true atu.reports.recordExecution=suite atu.reports.setMaxRuns = 100 atu.reports.pdf=false

Sample Login Script using selenium webdriver using ATU reporting

ClassName:- TC001_login.java @Listeners({ ATUReportsListener.class, ConfigurationListener.class, MethodListener.class }) public class TC001_Login { Properties prop = new Properties(); InputStream input = null; WebDriver driver; String desc,inputt, expResult, actResult; {     System.setProperty("atu.reporter.config", "C:\\Users\\Kalyan\\workspace\\testProject\\atu.properties"); } @DataProvider(name = "test") public Object[][] createData1() throws IOException {     Object[][] object=new Object[2][2];     ArrayList<ArrayList<String>> data = DataInputProvider.getSheet("Login","Sheet1");           for (int i = 0; i < data.size(); i++) {         object[i][0]=(Object)data.get(i).get(0);         object[i][1]=(Object)data.get(i).get(1);     }     return object; } @SuppressWarnings("deprecation") @Test(dataProvider = "test") public void loginMhs(String n

WrapperMethods:- Selenium functional reusable methods

Class Name:- Wrappermethods.java public class WrapperMethods { WebDriver driver; int i=0; private String testCaseName; private int dataSet; public WrapperMethods(String testCaseName, int dataSet){     this.testCaseName = testCaseName;     this.dataSet = dataSet;     System.setProperty("atu.reporter.config", "atu.properties"); } public WebDriver invokeApplication(String browser, String url,String desc, String expResult, String actResult) throws IOException{     ExcelReporter.createReportHeader(testCaseName);     try {         if(browser.toLowerCase().equals("ie")){             System.setProperty("webdriver.ie.driver", "..\\drivers\\IEDriverServer.exe");             driver = new InternetExplorerDriver();         }         else if(browser.toLowerCase().equals("chrome")){             System.setProperty("webdriver.chrome.driver", "..\\drivers\\ChromeDriver.exe");