<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Marlabs Official Blog</title>
	<atom:link href="http://www.marlabsblogs.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.marlabsblogs.com</link>
	<description>Marlabs’ official corporate blog features informed commentary and thought leadership on a wide range of Information Technology related topics, with a particular focus on helping companies meet their business technology challenges.</description>
	<lastBuildDate>Fri, 17 May 2013 13:58:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Need for Performance Requirements to Ensure Reliable Business Applications</title>
		<link>http://www.marlabsblogs.com/?p=2402</link>
		<comments>http://www.marlabsblogs.com/?p=2402#comments</comments>
		<pubDate>Fri, 17 May 2013 11:18:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Marlabs]]></category>
		<category><![CDATA[Marlabs Testing]]></category>
		<category><![CDATA[Testing Services]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2402</guid>
		<description><![CDATA[Applications developed for various domain verticals like BFS, Insurance, Healthcare, e-Learning, etc. have a huge volume of transactions in a day. While there is sufficient focus and due-diligence in the industry to define the functional requirements, the absence of proper non-functional requirements in many instances can lead to failure of applications and adverse business impact. [...]]]></description>
				<content:encoded><![CDATA[<p>Applications developed for various domain verticals like BFS, Insurance, Healthcare, e-Learning, etc. have a huge volume of transactions in a day. While there is sufficient focus and due-diligence in the industry to define the functional requirements, the absence of proper non-functional requirements in many instances can lead to failure of applications and adverse business impact. Hence, performance requirements gathering play a very important role in the software development life cycle.</p>
<p>&nbsp;</p>
<p>Ramesh Viswanathan, Senior Performance Test Architect at Marlabs highlights the importance of defining and collecting requirements which is usually given secondary importance compared to functional requirements.</p>
<p>&nbsp;</p>
<p>Read full article or download the article: <a href="http://www.marlabs.com/sites/default/files/Marlabs_Article_Testing_Experience_21.pdf" target="_blank">Need for Performance Requirements to Ensure Reliable Business Applications</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2402</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Customized Approach to Test Process Improvements</title>
		<link>http://www.marlabsblogs.com/?p=2379</link>
		<comments>http://www.marlabsblogs.com/?p=2379#comments</comments>
		<pubDate>Fri, 17 May 2013 08:46:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Marlabs]]></category>
		<category><![CDATA[Marlabs Testing]]></category>
		<category><![CDATA[Test Process Improvement]]></category>
		<category><![CDATA[Testing Services]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2379</guid>
		<description><![CDATA[Quite a few IT organizations go through the experience of Test Process improvements. The experience and successful outcome of these initiatives has been mixed. Like in any other transformation exercise, success is dependent among other things-on the alignment of improvement Goals, Nature of organization, Organization Strategy, Domain &#38; Technology context, measurements and Executive support. While [...]]]></description>
				<content:encoded><![CDATA[<p>Quite a few IT organizations go through the experience of Test Process improvements. The experience and successful outcome of these initiatives has been mixed. Like in any other transformation exercise, success is dependent among other things-on the alignment of improvement Goals, Nature of organization, Organization Strategy, Domain &amp; Technology context, measurements and Executive support. While it is important to use standard proven frameworks for Test Process assessment and improvements, it is equally important to customize and extend the framework based on the contextual situation and ensure it’s alignment to the factors mentioned above.</p>
<p>&nbsp;</p>
<p>Rajesh Sundararajan, Practice Head-Testing services at Marlabs highlights the key aspects of Test Process Improvement and analyzes their context driven variations in different situations.</p>
<p>&nbsp;</p>
<div>Read full article or download the article: <a href="http://www.marlabs.com/sites/default/files/Marlabs_Testing_Paper_Step-Auto-TPI.pdf" target="_blank">A customized approach to Test Process Improvements</a></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2379</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Look Back on Java EE 7 and Beyond</title>
		<link>http://www.marlabsblogs.com/?p=2358</link>
		<comments>http://www.marlabsblogs.com/?p=2358#comments</comments>
		<pubDate>Fri, 17 May 2013 06:52:30 +0000</pubDate>
		<dc:creator>Marlabs</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Java EE 7 Features]]></category>
		<category><![CDATA[Java Enterprise Edition]]></category>
		<category><![CDATA[Marlabs]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2358</guid>
		<description><![CDATA[With HTML5 gaining lot of momentum in the market Java EE 7 is themed after HTML5 and boost in productivity. Java EE 7 features were focused on WebSocket, JSON support, Batch processing, Concurrency utilities, JAX-RS 2.0 and JMS 2.0. &#160; High Productivity Lot of dependency injection introduced in the platform which means a lesser boilerplate [...]]]></description>
				<content:encoded><![CDATA[<p>With HTML5 gaining lot of momentum in the market Java EE 7 is themed after HTML5 and boost in productivity. Java EE 7 features were focused on WebSocket, JSON support, Batch processing, Concurrency utilities, JAX-RS 2.0 and JMS 2.0.</p>
<p>&nbsp;</p>
<p><strong>High Productivity</strong><br />
Lot of dependency injection introduced in the platform which means a lesser boilerplate code, thanks to Spring who introduced dependency injection concept which is incorporated by Oracle in Java EE7. Provides more defaults in the platform like default datasource, jms connection factory etc this helps in creating quick POC’s without worrying about what values needs to be passed.</p>
<p>&nbsp;</p>
<p><strong>WebSocket</strong><br />
Enables duplex bi directional communication over a single TCP channel. Typically when we do a http request it is 2 step process; establish a new TCP connection and then http connection. This will make more heavier since the headers will ride on the these protocols. In websocket there is a connection established and there can be as many data which can be sent and the overhead is only once.</p>
<p>&nbsp;</p>
<p><strong>JSon Processing</strong><br />
Java api for processing json is built on top of JAXB. Json processing provides streaming api and object model. Selection criteria between streaming api and object model is based on the trade of between the performance and memory.</p>
<p>&nbsp;</p>
<p><strong>Bean Validator</strong><br />
Typically POJO’s which gets persisted via a jpa persist mechanism to the database didn’t have a mechanism to validate the attributes of the bean. This cost a heavier mechanism of database which throws exception and then propagate this to user interface. Bean validator provides a mechanism to validate the beans and this is annotation driven.</p>
<p>&nbsp;</p>
<p><a href="http://www.marlabsblogs.com/wp-content/uploads/2013/05/java-EE-7-review.jpg"><img class="aligncenter size-full wp-image-2359" alt="java ee7" src="http://www.marlabsblogs.com/wp-content/uploads/2013/05/java-EE-7-review.jpg" width="636" height="304" /></a></p>
<p><em>Image Courtesy: Oracle</em></p>
<p>&nbsp;</p>
<p><strong>What to look for in Java EE 8</strong></p>
<p>The main focus on EE 8 release is on cloud and defining standards based on cloud programming model. It makes a great sense since the world is excited towards cloud and support in Java EE 8 is vital.</p>
<p>Other highlights of the Java EE8 :</p>
<ol>
<li>Cloud</li>
<li>JCache</li>
<li>Multitenancy</li>
<li>Paas Enablement</li>
<li>NoSQL</li>
<li>Thin Server Architecture</li>
<li>Modularity</li>
<li>JSON B</li>
</ol>
<p>&nbsp;</p>
<p>Author : Manigandan Mani Srinivasan &#8211; Head, Java Practice, Marlabs Bangalore</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2358</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surface Pro Impact on BYOD</title>
		<link>http://www.marlabsblogs.com/?p=2329</link>
		<comments>http://www.marlabsblogs.com/?p=2329#comments</comments>
		<pubDate>Thu, 24 Jan 2013 07:27:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile Technology]]></category>
		<category><![CDATA[surface Pro tablet]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2329</guid>
		<description><![CDATA[Microsoft Surface Pro tablet is due for release in a couple of weeks. Well, what’s the big deal? – The market reaction to its elder sibling Surface RT was not very encouraging. Despite the hype on the RT release, the sales numbers are not up to what Microsoft had anticipated. This was mostly due to [...]]]></description>
				<content:encoded><![CDATA[<p>Microsoft Surface Pro tablet is due for release in a couple of weeks. Well, what’s the big deal? – The market reaction to its elder sibling Surface RT was not very encouraging. Despite the hype on the RT release, the sales numbers are not up to what Microsoft had anticipated. This was mostly due to the limited options for the apps. However, as we hear about the younger one Surface Pro, there are plenty of things to be cheered.</p>
<p>&nbsp;</p>
<p>Surface Pro can run current Windows 7 Desktop Apps (unlike RT) and it integrates with the existing enterprise management infrastructure. For an IT Administrator it is going to be a huge relief and opportunity – Active directory, Domains, Group Policies etc. are going to work on Surface Pro!</p>
<p>&nbsp;</p>
<p><strong>Now, let’s see the bigger picture:</strong><br />
In a recent CIO Survey, 57% of the people surveyed said they have plans to deploy tablets in their enterprise environments, compared to 46% last year. Obviously, there are trends like “Tablets will overtake PCs and laptops” going around. There are lots of talks on the acceptance of Apple iPADs for corporate use.</p>
<p>&nbsp;</p>
<p><strong>Here comes BYOD – What is it?</strong><br />
BYOD is Bring Your Own Device to office for work. You own it, the corporate IT will do the policing when you are in. Your apps, data, collaboration tools, etc. will be delivered to you via internal or external Cloud. Or even a corporate desktop image with pre-loaded stuff (VDI) can be rendered to you for your day-to-day work.<br />
However, it is not very easy. CIOs and IT managers were not really enthusiastic when the concept came in, primarily due to the concerns on security and governance. In the US, BYOD is still in its infancy because of these concerns. However, at the same time, China has widely adopted this concept for the last couple of years. It is more or less a norm in Chinese workplace to have a personal device. They seem to be less worried about the security concerns than their US counterparts. In China Android devices are dominating the BYOD spectrum.</p>
<p>&nbsp;</p>
<p><strong>CIO’s concerns:</strong><br />
Having said that, CIOs and IT Managers have genuine questions. They are worried about the loss of control, governance, and privacy. Many of them feel that Android and Apple IOS are very sensitive and fragmented to be used for corporate information. Also, the newer versions especially in Android are released every few weeks. New tablet and smart phone models are coming in almost on a daily basis! This makes the life of the internal IT support team extremely difficult and may lead to more downtime.<br />
Now, here comes the Surface Pro. The moment IT team realized that they can extend Windows domain, active directory group policies etc. to this device, they started smiling. It is a big thing that takes the sheen out of Apple IOS and Android devices.</p>
<p>&nbsp;</p>
<p><strong>BYOD adoption:</strong><br />
Personally, I feel that there will be an impact on the BYOD adoption when Surface Pro steps in. Also, there are obvious benefits of BYOD for an Enterprise. It gives you a simpler and thin IT infrastructure to manage, with lesser end user device management and troubleshooting headache. Now IT team can focus more on the strategic innovations aligned with business priorities. There are direct savings from Power savings (Some high level calculations reveal that we can reduce power bills by 70%!). Moreover, employees will have increased mobility, higher job satisfaction, better efficiency, and productivity. BYOD can help attract and retain top talents who prefer to work flexibly. Employee on-boarding and training time will get reduced, which may directly add to the bottom-line.</p>
<p>&nbsp;</p>
<p><em><strong>Article by Marlabs Maven Sreejith Gireesan</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2329</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to  Data Warehouse Testing – Part 2</title>
		<link>http://www.marlabsblogs.com/?p=2316</link>
		<comments>http://www.marlabsblogs.com/?p=2316#comments</comments>
		<pubDate>Thu, 20 Sep 2012 10:31:35 +0000</pubDate>
		<dc:creator>Rajesh Ramaswamy</dc:creator>
				<category><![CDATA[Business Intelligence & Data Warehousing]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Audit]]></category>
		<category><![CDATA[Data Warehouse Testing]]></category>
		<category><![CDATA[Deployment Testing]]></category>
		<category><![CDATA[Integration Testing]]></category>
		<category><![CDATA[Logging and Error Handling Testing]]></category>
		<category><![CDATA[Marlabs]]></category>
		<category><![CDATA[Regression Testing]]></category>
		<category><![CDATA[User-Acceptance Testing]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2316</guid>
		<description><![CDATA[In part 1 of our Introduction to Data Warehouse Testing, we introduced the different types of data warehouse testing while taking a closer look at testing for data completeness, data transformation, data quality, performance and scalability. Now let us examine integration testing, audit, logging and error handling testing, deployment testing, user-acceptance testing, and regression testing. [...]]]></description>
				<content:encoded><![CDATA[<p>In part 1 of our <a href="http://www.marlabsblogs.com/?p=2280" target="_blank">Introduction to Data Warehouse Testing</a>, we introduced the different types of data warehouse testing while taking a closer look at testing for data completeness, data transformation, data quality, performance and scalability. Now let us examine integration testing, audit, logging and error handling testing, deployment testing, user-acceptance testing, and regression testing.</p>
<p>&nbsp;</p>
<p><strong>Integration Testing (<em>typically tested with full load testing</em>)</strong></p>
<p>Integration testing tests the interfaces of the DWH process – the source system, the scheduling tool, the alerting mechanism and the publishing agent.</p>
<p>Most issues found during integration testing are either related to the data that is ingested into the DWH or related to a wrong assumption on the design of another application. As most applications today expose their interfaces as services, it is fairly easy to get comprehensive information on the design of these services. It is critical to test integration with production-like data. Real production data is ideal, but depending on the contents of the data, there could be privacy or security concerns that require certain fields to be masked before using it in a test environment. Good communication between the testing and design teams of all systems involved is of paramount importance here. To help bridge this communication gap, framing test scenarios should be a cross-team activity. Integration testing should always be run end-to-end and with extreme inputs from the interfaces mimicking production systems as closely as possible.</p>
<p>&nbsp;</p>
<p><strong>Audit, Logging and Error Handling Testing</strong></p>
<p>This testing is more for validation of the technical processes of a data warehouse. Every ETL system should log what processes have run, when and for how long. Consider the following strategies:</p>
<p>&nbsp;</p>
<ul>
<li>Ensure that you consciously abort processes and validate that they re-start from the point of failure.</li>
</ul>
<ul>
<li>Sometime re-starting from the point of failure may not be possible; in that case we need to validate that the system can roll back to the original state and the ETL can be reprocessed.</li>
</ul>
<ul>
<li>Check the depth of error logging – does it log the error alone or does it also capture additional details including when and in which data row does it occur.</li>
</ul>
<ul>
<li>The scheduling mechanisms in the DWH may need to have manual over-rides for special cases (Feb 29th) or “back-data” loading – identifying the various automated and manual scheduling scenarios and testing for it may help identify production issues.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Deployment Testing</strong></p>
<p>Eventually ETL processes are run out of data centers by production support operators. The deployment process and documentation for the same should be complete and comprehensive enough for them to run the process end to end. A couple of areas that need to be kept in mind here:</p>
<p>&nbsp;</p>
<ul>
<li>Ensure that deployment testing is performed by a person who is new to the project and does not understand the nuances of the system you have designed.</li>
</ul>
<ul>
<li>When things go fine, the data center personnel do not have much to do except monitoring; it is when things go wrong that they swing into action. Testing should cover instances where things go wrong (an ETL process hangs, a data file does not get loaded) and how the system effective capture and presents these negative scenarios.</li>
</ul>
<p>&nbsp;</p>
<p><strong>User-Acceptance Testing</strong></p>
<p>The eventual goal of a data warehouse application is to make data available to end business users. Users know the data best, and their participation in the testing effort is a key component to the success of a data warehouse implementation. User-acceptance testing (UAT) typically focuses on data loaded to the data warehouse and any views that have been created on top of the tables. Consider the following strategies:</p>
<p>&nbsp;</p>
<ul>
<li>Use data that is either from production or as near to production data as possible. Users typically find issues once they see the &#8220;real&#8221; data, sometimes leading to design changes.</li>
</ul>
<ul>
<li>Plan for the system test team to support users during UAT. The users will likely have questions about how the data is populated and need to understand details of how the ETL works.</li>
</ul>
<ul>
<li>Consider how the users would require the data loaded during UAT and negotiate how often the data will be refreshed.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Regression Testing</strong></p>
<p>Regression testing is revalidation of existing functionality with each new release of code. When building test cases, remember that they will likely be executed multiple times as new releases are created due to defect fixes, enhancements or upstream systems changes. Building automation during system testing will make the process of regression testing much smoother. Test cases should be prioritized by risk in order to help determine which need to be rerun for each new release. A simple but effective and efficient strategy to retest basic functionality is to store source data sets and results from successful runs of the code and compare new test results with previous runs. When doing a regression test, it is much quicker to compare results to a previous execution than to do an entire data validation again.</p>
<p>There are no industry standard automation tools to perform data transformation and data quality checks, but try using a tool like Concordion (http://www.concordion.org/), especially for unit testing.</p>
<p>Taking these considerations into account during the design and testing portions of building a data warehouse will ensure that a quality product is delivered and prevent costly mistakes from being discovered in production.</p>
<p>&nbsp;</p>
<p><em>This article by Rajesh Ramaswamy, Head of the BI/DW/Analytics practice at <a href="http://www.marlabs.com" target="_blank">Marlabs</a>, was first published at  siliconindia.com.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2316</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Marlabs Strengthens its Information Security Management Offerings with Cyber Threat Management Services</title>
		<link>http://www.marlabsblogs.com/?p=2252</link>
		<comments>http://www.marlabsblogs.com/?p=2252#comments</comments>
		<pubDate>Mon, 10 Sep 2012 14:25:26 +0000</pubDate>
		<dc:creator>Marlabs</dc:creator>
				<category><![CDATA[Information Security Management]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Cyber Threat Management]]></category>
		<category><![CDATA[Information Security Management Framework]]></category>
		<category><![CDATA[Marlabs]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2252</guid>
		<description><![CDATA[With anywhere, anytime access to corporate systems, and increasing interconnectivity between employees, customers, suppliers, and business partners, organizations need to ensure the safety of their critical information assets. The growing dependency on information systems such as portable devices makes the protection of sensitive information from unauthorized access a critical priority. Adding to the urgency are increasing incidences of [...]]]></description>
				<content:encoded><![CDATA[<p>With anywhere, anytime access to corporate systems, and increasing interconnectivity between employees, customers, suppliers, and business partners, organizations need to ensure the safety of their critical information assets. The growing dependency on information systems such as portable devices makes the protection of sensitive information from unauthorized access a critical priority. Adding to the urgency are increasing incidences of cyber attacks, which continue to grow in complexity.</p>
<p>&nbsp;</p>
<p>While day-to-day threats are a reality originating from hackers as well as from internal employees, protecting against them can be a daunting task. Security and privacy breaches can cause substantial damage including revenue loss, legal liabilities, diminished productivity, and brand erosion, to name just a few.  The answer to this challenge lies in implementing a comprehensive <a href="http://www.marlabs.com/services/information-security.html" target="_blank">information security management</a> framework that aligns people, processes, and technology. In the following video, Robert Parham, the Director of the Information Security Practice at Marlabs, presents an overview of Marlabs’ approach to Information Security and Cyber Threat Management.</p>
<p>&nbsp;</p>
<div id="v-h0GPvgxL-1" class="video-player"><embed id="v-h0GPvgxL-1-video" src="http://s0.videopress.com/player.swf?v=1.03&amp;guid=h0GPvgxL&amp;isDynamicSeeking=true" type="application/x-shockwave-flash" width="400" height="224" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true"></embed></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2252</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to  Data Warehouse Testing – Part 1</title>
		<link>http://www.marlabsblogs.com/?p=2280</link>
		<comments>http://www.marlabsblogs.com/?p=2280#comments</comments>
		<pubDate>Mon, 27 Aug 2012 15:59:08 +0000</pubDate>
		<dc:creator>Rajesh Ramaswamy</dc:creator>
				<category><![CDATA[Business Intelligence & Data Warehousing]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2280</guid>
		<description><![CDATA[In my several years of DW/BI experience, one of the toughest aspects over the entire lifecycle has been testing quality of data in the DWH. What are the different types of testing we can do on the data in the warehouse and what are the strategies we need to consider for the same? How we [...]]]></description>
				<content:encoded><![CDATA[<p>In my several years of DW/BI experience, one of the toughest aspects over the entire lifecycle has been testing quality of data in the DWH. What are the different types of testing we can do on the data in the warehouse and what are the strategies we need to consider for the same? <em>How</em> we can do this testing (including some proprietary frameworks we have built at Marlabs  to perform line-by-line testing for every row) is a subject for another day.</p>
<p>&nbsp;</p>
<p><strong>Data Completeness (<em>can be tested with both designer data and full load</em>)</strong></p>
<p>One of the most basic tests of data completeness is to verify that all expected data loads into the data warehouse. This includes validating that all records in all fields and the full contents of each field are loaded. Strategies to consider include:</p>
<p>&nbsp;</p>
<ul>
<li>Comparing record counts between source data, data loaded into the ODS and data loaded into the warehouse. You might also want to consider the rejected/suspense records.</li>
</ul>
<ul>
<li> Comparing the count of distinct values of key fields between source data and data loaded to the warehouse. You could also do a comparison of the distinct values themselves.</li>
</ul>
<ul>
<li>Utilizing a data profiling tool (Talend, http://www.talend.com, provides a free tool) that shows the type, range and distributions of data in a data set. This can be used during testing and in production to compare source and target data sets. The profilers can also identify defects from source systems that may be missed even when the data movement is correct.</li>
</ul>
<ul>
<li> Ensure that each field is tested to its maximum length – for example if you have a varchar(10) field, make sure you test it with 10 characters, 11 characters, blank and null.</li>
</ul>
<ul>
<li>Testing the boundaries of each field to find any database limitations. For example, for a decimal field with a precision of 3 include values of -99 and 999, and for date fields include the entire range of dates expected (including dates in multiple formats).</li>
</ul>
<p>&nbsp;</p>
<p><strong>Data Transformation (<em>typically tested with designer data</em>)</strong></p>
<p>Often the real value of data in a warehouse lies in the transformation rules that are applied. Validating that data is transformed correctly based on business rules/logic can often be the most complex part of testing an ETL application. One typical method is to pick some sample records and eyeball to validate data transformations manually. This can be useful but requires manual testing steps and testers who understand the ETL logic. A combination of automated data profiling and automated data movement validations is a better long-term strategy. Here are some simple automated data movement validation techniques:</p>
<p>&nbsp;</p>
<ul>
<li>Create a set of scenarios of input data and expected outcomes and validate these with the customer. This is a good exercise to be performed during requirements and can also be used during testing.</li>
</ul>
<ul>
<li>Create a test bed with test data that includes all scenarios. Automate the process of populating data sets with from the scenarios sheet prepared in the previous step. More scenarios can be added and the testing automation will remain valid.</li>
</ul>
<ul>
<li>Use the results of the data profiling tool to compare range and distribution of values in each field between source and target data.</li>
</ul>
<ul>
<li>Validate correct processing of technical fields generated during ETL design such as flags and surrogate keys.</li>
</ul>
<ul>
<li> Validate that data types in the warehouse are as specified in the design and/or the data model.</li>
</ul>
<ul>
<li>Set up data scenarios that test referential integrity between tables. This is especially true when you are testing behavior of child records that do not have a parent and when checking many to many relationships.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Data Quality (<em>typically tested with designer data</em>)</strong></p>
<p>For comprehensive data quality testing, make sure to include as many scenarios as possible. Typically, data quality rules are defined during design, for example:</p>
<p>&nbsp;</p>
<ul>
<li>If a state is spelt wrongly, look up from the master list and correct it.</li>
</ul>
<ul>
<li> Substitute null if a certain decimal field has nonnumeric data.</li>
</ul>
<ul>
<li> Validate the city and state based on ZIP code.</li>
</ul>
<p>&nbsp;<br />
Depending on the data quality rules of the application being tested, scenarios to test might include null key values, duplicate records in source data and invalid data types in fields (e.g. special characters in date field). Data quality rules applied to the data will usually be invisible to the users once the application is in production; users will only see whats loaded to the database. For this reason, it is important to ensure users are aware of how bad data is being handled. The data quality reports often present patterns and trends that hint at underlying structural issues. Quite often, the DQ reports are published before the reporting tables are fully processed. It might make sense to stop processing and publishing of reports in the number of data quality issues passes a certain threshold.</p>
<p>&nbsp;</p>
<p><strong>Performance and Scalability (<em>typically tested with mock-up data</em>)</strong></p>
<p>As the volume of data in a data warehouse grows, ETL load times can be expected to increase and performance of queries can be expected to degrade. The aim of the performance testing is to point out any potential weaknesses in the ETL architecture and design, such as reading a file multiple times or creating unnecessary intermediate files. The following strategies will help discover performance issues:</p>
<p>&nbsp;</p>
<ul>
<li> Load the database with peak expected production volumes (this is often much higher than current production data and some method of statistical extrapolation might need to be considered) to ensure that this volume of data can be loaded by the ETL process within the agreed-upon window.</li>
</ul>
<ul>
<li>Compare these ETL loading times to loads performed with a smaller amount of data to anticipate scalability issues.</li>
</ul>
<ul>
<li>The ETL processing time should also be tested module by module to understand potential bottlenecks.</li>
</ul>
<ul>
<li>If parallelism is present in the ETL design, test it fully to ensure that there are no memory bottlenecks.</li>
</ul>
<ul>
<li>Monitor the timing of the reject/suspended process and consider how large volumes of rejected data will be handled – often this leads to source tables being scanned fully twice and that deteriorates performance.</li>
</ul>
<ul>
<li>Perform simple and complex outer join queries to validate query performance on large database volumes. Identify acceptable performance criteria for each query and benchmark against this. This is especially true for ad-hoc reporting scenarios.</li>
</ul>
<p>&nbsp;</p>
<p>In part 2 of this article we will look at <strong></strong>Integration Testing, Audit, Logging and Error Handling Testing, Deployment Testing, User-Acceptance Testing, and Regression Testing</p>
<p>&nbsp;</p>
<p><em>This article by Rajesh Ramaswamy, Head of the BI/DW/Analytics practice at <a href="http://www.marlabs.com" target="_blank">Marlabs</a>, was first published at  siliconindia.com.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2280</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Key Considerations for Developing a Mobile Business Intelligence (BI) Strategy</title>
		<link>http://www.marlabsblogs.com/?p=2254</link>
		<comments>http://www.marlabsblogs.com/?p=2254#comments</comments>
		<pubDate>Mon, 13 Aug 2012 13:20:39 +0000</pubDate>
		<dc:creator>Rajesh Ramaswamy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Marlabs]]></category>
		<category><![CDATA[Mobile BI]]></category>
		<category><![CDATA[Mobile BI Strategy]]></category>
		<category><![CDATA[Mobile Business Intelligence]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2254</guid>
		<description><![CDATA[Mobile Business Intelligence (BI) has come a long way. From the time of receiving automated text messages that signal failure of a batch process or breach of a critical threshold, today we have arrived in the age of interactive BI content delivered via mobile devices.  Most organizations today are either planning for a mobile BI [...]]]></description>
				<content:encoded><![CDATA[<p>Mobile Business Intelligence (BI) has come a long way. From the time of receiving automated text messages that signal failure of a batch process or breach of a critical threshold, today we have arrived in the age of interactive BI content delivered via mobile devices.  Most organizations today are either planning for a mobile BI strategy or have already framed one. The mobile BI strategy could either be a subset of the overall mobile strategy for the organization or an independent piece.</p>
<p>&nbsp;</p>
<p>Forrester claims that mobile BI is &#8220;no longer a nice-to-have&#8221; and BI will soon fully catch up with mobility. Gartner predicts that by 2013 33% of BI functionality will be consumed via hand-held devices.</p>
<p>&nbsp;</p>
<p>What are the elements that need to be considered when drawing up your mobile BI strategy? How important are they?</p>
<p>&nbsp;</p>
<p><strong>Use Case</strong></p>
<p>What are the use cases for your organization to adopt a mobile BI strategy? Most of the current usage of traditional BI is for strategic purposes by people residing in the upper echelons of the pyramid. Mobile BI to perform strategic analysis does not really make sense, unless there is a reason why your C-level executive cannot open his/her laptop. The real use cases for mobile BI lie in operational decision making. Gartner believes that &#8220;The biggest value is in operational BI information in the context of applications not in pushing lots of data to somebody’s phone&#8221;. For example, a sales person on the road may want to know the Next Best Product to be sold to a customer. A valid use case could also be in integrating device specific features in BI. For example, a door-to-door service agent may be advised on the order in which to make the house visits based on multiple parameters including proximity (GPS!), criticality, aging etc. Irrespective of the use case, it is important to be clear on it and set expectations appropriately.</p>
<p>&nbsp;</p>
<p>The other important factor that helps finalize the use cases is by tracking the RoI. Mobile BI investments span the cost of devices as well as software, security, development and maintenance costs. So it is important to ensure that your use cases provide tangible returns. The RoI can be quantified as Revenue Enhancement, Margin Enhancement, Cost Reduction, Cost Avoidance or Capital Cost Avoidance. For example, if an iPad containing drug performance comparison across patient profile can help increase quality face time for a medical representative with a physician by x%, your sales head would surely be comfortable promising an x/5% increase in sales. That, by itself, could fund your entire project.<br />
<strong><br />
Target Audience</strong></p>
<p>Typically, the 70% of users who don’t access traditional BI are the representative audience for mobile BI. Hence it is important to tailor your strategy to the new cross-section of people who will be your consumers. They may be less techno-savvy, more impatient to see results and have narrower but very specific needs. The real value of mobile BI is when users can fully interact with BI content delivered to mobile devices there needs to be a distinction from informative email or text messages.</p>
<p>&nbsp;</p>
<p>Mobile BI should complement your existing <a href="http://www.marlabs.com/services/business-intelligence-and-data-warehousing.html" target="_blank">BI solution</a> it need not cover all the bases. A desktop dashboard is meant for deep analysis while a mobile BI is designed for quick and easy consumption. A mobile BI solution is meant for the mobile folks in your organization: executives, sales personnel, line managers on the shop-floor etc. Tailor your mobile BI solutions to suit the needs of these people (not those of your research analyst and financial accountant).</p>
<p>&nbsp;</p>
<p><strong>Standards</strong></p>
<p>Don’t ignore existing devices when framing the mobile BI strategy and attempting to arrive at organization standards. BYOD (Bring Your Own Device)/heterogeneous systems have their drawbacks especially in terms of consistency, but the task of converting iOS fanatics to Apple (and vice-versa) is not a battle worth getting into. There might also be a challenge in utilizing device specific capabilities and this is another negative that needs to be considered. HTML5 is helping us bridge the divide between browser specific and device specific strategies.</p>
<p>&nbsp;</p>
<p><a href="http://www.marlabsblogs.com/?attachment_id=2258" rel="attachment wp-att-2258"><img class="aligncenter size-full wp-image-2258" title="Marlabs - Cross Platform vs Native Platform" src="http://www.marlabsblogs.com/wp-content/uploads/2012/08/Cross-Platform-vs-Native-Platform.jpg" alt="" width="606" height="407" /></a></p>
<p>&nbsp;</p>
<p><strong>Prioritize</strong></p>
<p>There is a tendency in BI projects to say &#8220;we are just doing some reports on the mobile; let us roll it out in a couple of weeks&#8221;. Beware! Mobile BI projects are governed by the same fundamentals that traditional BI projects are &#8211; just even more stringent. Garbage in is still garbage out. Visualizations that don’t make sense will kill adoption. Security is even more critical. User Types are a lot more critical. The mobile BI strategy should therefore be planned and executed in a well-thought out manner and not rushed into. Ensure it doesn’t get fast tracked.</p>
<p>&nbsp;</p>
<p><strong>Expectations</strong></p>
<p>A critical part of the mobile BI strategy is managing expectations. No one should expect feature parity with a traditional BI solution (drag and drop etc.) but there are some cool new things that can be integrated (GPS, gyroscope, touch screen etc.). Telling people what they can get and what they cannot is an integral part of the strategy via trainings etc.</p>
<p>&nbsp;</p>
<p><strong>Security</strong></p>
<p>Security architecture needs to be revisited for mobile <a href="http://www.marlabsblogs.com/?p=121&amp;preview=true&amp;preview_id=121&amp;preview_nonce=11dbae85c3" target="_blank">BI implementations</a> and should be a critical part (if not the most critical part) of the strategy. Key business information needs to be delivered via mobile devices; else the utility of the BI project is compromised; however this carries security considerations that need to be carefully handled. All mobile BI projects transmit data from an internal firewall through a DMZ and via an external firewall before hitting the end device. It is critical that the mobile BI strategy lays out the approach for handling a whole gamut of security considerations including:</p>
<p>&nbsp;</p>
<p>• Transmission Security<br />
• Authentication<br />
• Authorization<br />
• Access<br />
• Device Security</p>
<p>&nbsp;</p>
<p><strong>Miscellaneous- Bandwidth, UX and Design Considerations</strong><br />
Some of the other factors that need to be kept in mind when framing your mobile BI strategy include bandwidth (system and resource), mobile UX and design considerations (templates, interactivity, device features), ability to reuse existing investments, strategy to reuse design for both traditional and mobile BI etc.</p>
<p>&nbsp;</p>
<p>Mobile BI is something that can only be ignored at your own peril; but don’t just jump into the waters without some thorough preparation.</p>
<p>&nbsp;</p>
<p><em>This article by Rajesh Ramaswamy, Head of the BI/DW/Analytics practice at <a href="http://www.marlabs.com" target="_blank">Marlabs</a>, was first published at  siliconindia.com.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2254</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Apps for SharePoint and Office using &#8220;Napa&#8221; Office 365 Development Tools</title>
		<link>http://www.marlabsblogs.com/?p=2242</link>
		<comments>http://www.marlabsblogs.com/?p=2242#comments</comments>
		<pubDate>Mon, 06 Aug 2012 11:25:41 +0000</pubDate>
		<dc:creator>Marlabs</dc:creator>
				<category><![CDATA[Mobile Technology]]></category>
		<category><![CDATA[Apps for SharePoint]]></category>
		<category><![CDATA[Cloud App Model]]></category>
		<category><![CDATA[Marlabs Cloud and Mobile CoE]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Office 365]]></category>
		<category><![CDATA[Napa]]></category>
		<category><![CDATA[Office 365 Development Tools]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2242</guid>
		<description><![CDATA[Microsoft recently introduced &#8220;Napa&#8221;, an Office 365 development tool set for building applications for Microsoft&#8217;s Cloud App Model for Office and SharePoint. A free web-based application, Napa allows users to build apps for Office and SharePoint within a browser and without the help of Visual Studio. The tools can be downloaded by signing up for [...]]]></description>
				<content:encoded><![CDATA[<p>Microsoft recently introduced &#8220;Napa&#8221;, an Office 365 development tool set for building applications for Microsoft&#8217;s Cloud App Model for Office and SharePoint. A free web-based application, Napa allows users to build apps for Office and SharePoint within a browser and without the help of Visual Studio. The tools can be downloaded by signing up for the Microsoft Office 365 Developer Preview. Once installed, users can begin creating Office and SharePoint apps within their web browsers. For more advanced tools, users can seamlessly switch to the fully featured Visual Studio IDE and continue development.</p>
<p>&nbsp;</p>
<p>Here’s an article by Shiju Varghese from the Marlabs Cloud and Mobile Center of Excellence (CoE) that explains how to install Napa Office 365 Development Tools onto your Office 365 developer site and build apps for SharePoint and Office using the Napa developer tools.</p>
<p>&nbsp;</p>
<p><a href="http://weblogs.asp.net/shijuvarghese/archive/2012/08/02/building-apps-with-napa-office-365-development-tools.aspx" target="_blank">Click here</a> to read the article on Building Apps with Napa Office 365 Development Tools</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2242</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Marlabs Video Tutorial &#8211; Report Builder 3.0</title>
		<link>http://www.marlabsblogs.com/?p=2233</link>
		<comments>http://www.marlabsblogs.com/?p=2233#comments</comments>
		<pubDate>Fri, 27 Jul 2012 17:10:05 +0000</pubDate>
		<dc:creator>Marlabs</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Marlabs]]></category>
		<category><![CDATA[Microsoft SQL Server 2008 R2]]></category>
		<category><![CDATA[Report Builder 2.0]]></category>
		<category><![CDATA[Report Builder 3.0]]></category>

		<guid isPermaLink="false">http://www.marlabsblogs.com/?p=2233</guid>
		<description><![CDATA[Report Builder 3.0 is the report authoring component of Microsoft’s SQL Server 2008 R2 reporting services. When compared to its previous version (Report Builder 2.0),  Report Builder 3.0 offers business and power users a more intuitive reporting authoring environment with a Microsoft Office look and feel. Some of the additional enhancements include new data visualization [...]]]></description>
				<content:encoded><![CDATA[<p>Report Builder 3.0 is the report authoring component of Microsoft’s SQL Server 2008 R2 reporting services. When compared to its previous version (<a href="http://www.youtube.com/watch?v=YlCqzRpSW5E" target="_blank">Report Builder 2.0</a>),  Report Builder 3.0 offers business and power users a more intuitive reporting authoring environment with a Microsoft Office look and feel. Some of the additional enhancements include new data visualization options such as sparklines, indicators and databars, &#8220;grab and go&#8221; reporting, support for SQL spatial data types, and support for using SharePoint lists and PowerPivot models as data sources. Besides, it allows users to re-use existing report parts to create fresh reports.</p>
<p>&nbsp;</p>
<p>In this video, Shubhatara from Marlabs introduces you to  Report Builder 3.0, outlining its new features.</p>
<p>&nbsp;</p>
<div id="v-0iyHSWoG-1" class="video-player"><embed id="v-0iyHSWoG-1-video" src="http://s0.videopress.com/player.swf?v=1.03&amp;guid=0iyHSWoG&amp;isDynamicSeeking=true" type="application/x-shockwave-flash" width="400" height="320" title="Report_Builder_3.0_-_Features" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true"></embed></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marlabsblogs.com/?feed=rss2&#038;p=2233</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

 Served from: www.marlabsblogs.com @ 2013-06-18 20:59:15 by W3 Total Cache -->