Software Information |
|
Making The Decision To Automate Your Software Testing
Not every software testing project can or should be automated. Before your department accepts a new test automation project, you should establish a process by which projects are reviewed and either accepted or rejected. This can be done with a simple Test Automation Acceptance Checklist. Repeatable Test Cases with Static Data The true cost benefit of test automation is achieved only when the same scripts are executed multiple times. The first execution is very expensive because it includes the one-time cost of the automation tools and 100% of the Test Automation engineer's time. When the scripts are executed again, the cost of test automation declines sharply. The tool has already been purchased and the scripts have already been coded. If there have been changes in the application, the scripts may require maintenance before being executed. Maintenance on minor software updates should be minimal. Because test automation is only successful when the scripts can be executed multiple times, only application which require the same test cases to be executed with the same data are good candidates for automation. For example, a mortgage application that needs to be regression tested on a weekly basis could be a good candidate for test automation. Script maintenance is minimal and the scripts can enter a mortgage application using the same group of test data in a fraction of the time it would take a manual tester to test the same functionality. On the other hand, a mortgage origination system, which cannot use the same test data for each iteration would not be a good automation candidate. Due to the nature of mortgage systems, data could be staged in various states of approval or rejection, based on the current data and the departments who have already processed their part of the mortgage application. If the script cannot easily figure out what data to enter in the software, it is not a good automation candidate. Another problem with automating this type of complex system is that the test environment often contains a sampling of production data that is refreshed on a periodic basis. Sometimes this can be overcome by rebuilding the test data when the test environment is refreshed. The feasibility of rebuilding test data on a regular basis depends on the complexity of the application. You will have to make that decision on a case-by-case basis. Application or Environmental Stability Environmental stability is crucial to a successfully automating a software testing project. Scripts cannot be coded in a timely manner if the application environment is unavailable, experiences frequent down-times, or excessive defects and errors. Little or No Application or Environment Downtime It takes longer to write scripts than it does to manually test the same functionality. Most automation tools are watered down version of C or Visual Basic, which means that writing automated scripts is essentially programming and takes adequate time and specialized skills. Unlike manual test cases, which can sometimes be written based off requirements and mock-ups, automated tools require the actual application. When a test environment is unavailable, automation engineers cannot create scripts, which prolongs the project and ends up costing more. Excessive downtime can consist of any of the following: Unstable Environment Effects of Environment Instability on Script Development and Execution When an application or environment is unstable, scripting progress is dramatically slowed or stopped altogether. In some cases, it's possible to continue scripting, but this may causes more work at a later date. For example, if you are scripting in buggy code, you may have to script around error messages and the scripts will have to be revised at a later date. Or, you may only be able to create scripts to a certain point and finish them at a later date. To help avoid and decrease environment instability, read the chapter on Service Level Agreements. Timely Defect Fixes Application defects do not have to be detrimental to an automated software testing project. When defects are fixed in a timely manner, scripting can continue without significant downtime. When estimating an automated testing project, it's always best to add some buffer time that will accommodate for defect reporting and revisions. When defect fixes take an excessive amount of time to resolve and are causing the automated software testing project to be delayed, it's time to pull together a meeting. Invite all the major players and discuss the root of the problem and what everyone can to improve the situation. Maybe development is spending too much time trying to reproduce the problem and having your automation team enter better description would help them turn the defect fixes around faster. Maybe you can work together to classify defects and establish reasonable fix times for each classification. For example, a Critical defect needs to be fixed that day while a High defect needs to be fixed with in 24 hours. Responsive Contact Person When your team takes on a new automated testing project, you will need a contact person. This person is responsible for making sure you have the business requirements and answering questions about how the application works. This will not be his or her main job, so you will need to make sure he or she is responsive. If you cannot get adequate business requirements, test data, or questions answered, your automation project will not be successful. Copyright 2004. Danna Henderson. All Rights Reserved. Danna Henderson has helped many organizations automate their software testing with WinRunner. For information on creating robust, data driven scripts, and successful automated testing, visit WinRunner Experts.
|
RELATED ARTICLES
Introduction To ISDN, Part II In the previous ISDN article, we looked at how and why one router dials another using ISDN. Just as important is knowing what keeps the link up once it is dialed. Microsoft and Webmasters Does Microsoft care for Webmasters Microsoft CRM Programming Secrets ? Tips For Developers This article is for advanced Microsoft CRM SDK C# developers. It describes the technique of direct SQL programming, when SDK doesn't have the functionality to do the job. Great Plains Dexterity Development: FAQ Microsoft Business Solutions Great Plains is Dexterity-written application and currently we see increased interest for Great Plains customers to do in-house Dexterity development and customization. Dexterity itself is written on C programming language and its initial architecture was based on the Graphical and Database platform independence, which C programming language was believed to provide. Initially back in 1994 Great Plains Software Dynamics and Dynamics C/S+ were realized for Macintosh and Windows and pretty similar Dexterity DYNAMICS.DIC dictionary worked for Ctree/Faircomm and Microsoft SQL Server 6.5. In our days Microsoft Great Plains is available for Windows and MS SQL Server only (since version 8.0). In this small article we would like to give you highlights on the most typical entry level Dexterity development questions 3 Reasons Why Medical Billing Software is Leading the Way Since technology changes so quickly, it is hard to begin by saying "in the old days . . . ," but that seems to fit the best. In the old days, medical companies, service providers, and almost any other business which used automated billing enjoyed the convenience of logging on to a database (or several, they the company had multiple offices) and processing their billing statements. This "old way" required IT and servers, and is actually still the current way for most businesses. Microsoft CRM Custom Design & Development: SDK, C#, SQL, Exchange, Integration, Crystal Reports Microsoft CRM is new player on the CRM software market.� The whole conception behind CRM seems to be different.� In case of traditional CRM software (Siebel, Oracle) - the application was designed with platform independence in mind.� Microsoft CRM is dedicated to Microsoft technology and so deploys all the Microsoft tools: Windows Active Directory, Microsoft Exchange 2003/2000, SQL Server, Crystal Reports Enterprise, Biztalk server, Microsoft Outlook, Internet Explorer, Microsoft Great Plains as backend, etc. If you are software developer, database administrator or web designer who is asked: how do we customize Microsoft CRM ? we are giving you directions in this article. Microsoft CRM SDK ? this is software development kit with C# and partly VB.net code samples ? it is supported by Microsoft Business Solutions technical support.� It is based on web service calls, if you are C# .NET developer ? you are excellently positioned to do this type of customizations.� This is the preferred modification scenario and this should be easily upgradeable customization.� VB.Net examples will be available soon. Legacy SQL Data integration.� This is also easy and safe.� If you have SQL database, sitting on the same or linked SQL Server ? you can create ASPX .Net application and simply integrate it into CRM.� You can place it on the navigation bar or menu in isv.config ? please refer to MS CRM SDK Legacy ASP integration ? this is somewhat more sophisticated.� You have to deploy HTTP handler to be a middle party between CRM which is .Net based and ASP which is legacy IIS.� The trick is ? you have to have INI file with security settings to penetrate into MS CRM with proper credentials, calling web service. Microsoft Exchange Programming.� Microsoft CRM has Exchange connector ? which moves CRM incoming email to MS if it has GUID in its subject.� You can alter this logic (for instance - move email to CRM if it doesn't have GUID but it is from the sender who is contact or account in MS CRM).� Refer to MS Exchange SDK onsyncsave event handling.� Then simply apply some MS CRM SDK programming - you need some COM+ objects creation and VB programming experience. Direct SQL touch ? in #4 above I described you the scenario with MS Exchange handlers ? this would be ideal world if MS CRM SDK does the job.� But ? in real world this is not always true ? you have to do direct flags correction in CRM database (like making Activity closed, moving email attachments/octet streams, etc).� This is not supported by MBS technical support ? but you can rescue to this technique if you have to get job done. MS CRM Customization tool ?� this is rather end-user tool and we don't describe it here ? read the manual.� We've described above the options to use when this tool doesn't do the job Crystal Reports - feel free to create Crystal report - tables and views structure is self explanatory.� Try to avoid the temptation to create your own SQL view or stored procedure in MS CRM database, instead - create custom database and place your view and stored proc in it.� Happy modifying! If you want us to do the job - give us a call 1-866-528-0577! [email protected] It?s Back!! WordPerfect?s Amazing Comeback Have you noticed WordPerfect is gearing up for a comeback in a big way? And fortunately, they are succeeding. If you're like me, an ole' diehard WordPerfect 5 user, this is music to my ears. I love Microsoft Word, but I long for some of the features WordPerfect had to offer. 15 Questions to Ask Your Software Vendor When making a decision to buy any piece of software there are a number of criteria typically evaluated. One of the most important elements in the decision process is the strength of the company that builds the software. In fact a survey of 19,000 customers has identified that company strength is the most important factor in choosing software, with the price of the software being the fifth most important element. Microsoft RMS Customization ? PO Items Receiving in Great Plains Microsoft Retail Management (RMS) and Microsoft Great Plains are retail and accounting/ERP solutions coming from the same Microsoft subdivision ? Microsoft Business Solutions. There is often common need to do integration between the two. Despite the fact that both systems come from the same software development company ? the integration is not as simple as it probably should be. Anti-Spyware Protection ? Holes in the Shining Armor Looking at all the ads which promise to get rid of all spy programs, one may wonder why there is still plenty of them everywhere and the situation is by no means getting better. So let me spoil the advertisers' mood and show some of the "holes" in the majority of software products we expect to protect our data. Exactly What Does FTP Stand for and What Can it do for Me? FTP stands for "file transfer protocol". FTP is basically a way of sending files over the Internet. Programming Environments And The Software Production Process Introduction: The creating of a computer program involves a number of stages which can be made easier with several separate software utilities. There are now integrated set of support programs which combine all the necessary utilities to provide a complete program development environment. These are known as programming languages, which include: Run Your Own Search Engine Our hosted solution allow you to run your own search engine.You can have your own special search engine such as travel, games,animals, medical, software, sports, music, cars or any other category you like.We can create and host custom search engine for you by indexing only those sites which meets your selected category. You can also select to index the whole web instead of some specific category. Basic Tips and tricks for Windows XP Running Applications in Compatibility Mode With Windows XP, you can run programs as if though they were being run under a different operating system. (This is known as "emulation".) Simply right-click a shortcut, select "Properties" and then check "Run in compatibility mode" and select the operating system you wish to make the program believe it is being run under. This fools or tricks the program into thinking you are really using a previous version of Windows, such as NT, 2000, 98, or 95. This is especially useful for certain games that won't run properly. Be careful *not* to use this with certain system utilities, such as antivirus, defrag, registry, and disk tool applications. .Net Charts and Graphs Interact with Businesses and Customers Bar charts, bar graphs, and any other chart or graph used in financial statements, inventory reports, sales reports, and a slew of other types of reports have typically been paper reports or online reports depicting various levels of complex information for tracking, investing, planning, and buying. However, until the .net graph, .net chart, .net map, and other .net charts came along, the relationship between management and the company, companies and their investors, and companies and their customers was missing. Upgrading Great Plains Dexterity Customization ? switching to new technologies: SQL, Crystal, eConne 1.� Replace Dexterity cursor with SQL Stored Procedure Dexterity was designed as multiplatform technology (primarily Btrieve, Ctree, SQL Server, potentially Oracle).� Dexterity data retrieving mechanism is based on Range start, Range End, Get First and Get Next clauses.� It� is in fact similar, however a little bit slower to cursors in Transact SQL.� Long ranges in Dexterity are good candidates for replacement by SQL stored procedures with update clause. For example, consider to replace following Dexterity code: Range clear SOP_HDR_WORK. Clear 'SOP Type' of table SOP_HDR_WORK. Clear 'SOP Number' of table SOP_HDR_WORK. Range start table SOP_HDR_WORK. Get first table SOP_HDR_WORK. While errEOF do ��������������� If 'Salesperson ID' of table SOP_HDR_WORK = "ERIC" then ������������������������������� Edit table SOP_HDR_WORK. Set 'Salesperson ID' of table SOP_HDR_WORK to "BILL". ��������������� Save table SOP_HDR_WORK. End if. Get next table SOP_HDR_WORK. End while. � With the following SQL code � Update SOP10100 set SLPRSNID="BILL" where SLPRSNID="ERIC" � Bringing new data into a table in Dexterity is based on change/edit table clauses, in SQL they are equivalent (by performance) to inserting one record at the time. When having long cycle of change/edit table in Dexterity, consider replacement by SQL stored procedure with Insert Into clause. � 2.� Use Crystal Reports, call them from via VBA in Modified form The easy way to call Crystal Report from your VBA code from your modified form: Const RPT = "D:ClientsTheClientInvoice Status.rpt" Public crwApplication As CRPEAuto.Application Public crwReport As CRPEAuto.Report Private Sub Print_BeforeUserChanged(KeepFocus As Boolean, CancelLogic As Boolean) If SalesTransactionInquiryZoo.Type = "Invoice" Then If crwApplication Is Nothing Then ��� ��������������������������� Set crwApplication = CreateObject("Crystal.CRPE.Application") End If Set crwReport = crwApplication.OpenReport(RPT) crwReport.ParameterFields(1).SetCurrentValue (DocumentNo) crwReport.Preview End If 3.� Use Direct .Net Web Publishing from Great Plains Database The easiest and safest way is to use eConnect - SDK with VB samples, created for eCommerce programmers and web designers to call the functionality in Microsoft Great Plains.� If your company can not afford eConnect - create your own set of stored procedures to address Great Plains database and go ahead with Visual Studio.Net to do the web publishing. Happy upgrading and customizing! if you want us to do the job - give us a call 1-866-528-0577! [email protected] � Great Plains Accounting Migration to Microsoft Great Plains - Overview for IT Specialist This is a short article, written in question/answer/FAQ style to give IT Specialist/developer/programmer balanced top level information on Great Plains Accounting migration to Microsoft Business Solutions Great Plains. If you have Great Plains Accounting as main accounting and ERP system you need to know some technical details on the migration to Great Plains and what is going on behind the scenes. As of right now it is reasonable to upgrade to Microsoft Great Plains 8.0 Microsoft CRM Modification ? Overview for IT Specialist Microsoft CRM is now on the scene and it is increasing its market share, due to the Microsoft Business Solutions muscles and marketing strategy. It is tightly integrated with other Microsoft Business Solutions products such as Microsoft Great Plains, Solomon, Navision. Free Software for Newbies and Web Developers Here is some free software tools to help you build your own websites and create web products. OEComplete ? A Personal Information Manager OEComplete is a utility for managing the personal information of the user. It is designed to be flexible and affordable even for the home user. OEComplete allows setting up appointments and tasks, and creates notes for easy reference. Recurrence, reminders and attachment enhance the competence in addition to import and export facility. |
home | site map |
© 2005 |