Skip to content

Software Development News: .NET, Java, PHP, Ruby, Agile, Databases, SOA, JavaScript, Open Source

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!

Vendor

DreamNJasmine

Software Development Tools Directory - Thu, 01/22/2015 - 12:52
NJasmine is a RSpec-ish test language inspired by the JavaScript test library Jasmine for C# / .Net programming.
Categories: Vendor

Nouvola

Software Development Tools Directory - Thu, 01/22/2015 - 12:40
Nouvola is an online load testing to detect performance issues and correct potential failures. It features: – Quick and easy configuration – Virtual user generation – Traffic pattern detection, stable and linear ramp – Traffic models representing ...
Categories: Vendor

COLA

Software Development Tools Directory - Thu, 01/22/2015 - 12:32
COLA is a simple but powerful BDD framework for JUnit tests with full Gherkin syntax support. COLA Tests are different from all other BDD framework as it allows for developers to keep using any JUnit Runner without having to do any complex config ...
Categories: Vendor

Join Polarion at SD Times Webinar on Application Release Automation

Polarion Software - Thu, 01/22/2015 - 09:56
Catch Polarion's David Merrill speaking with Polarion partner Electric Cloud at this free webinar sponsored by SD Times.
Categories: Vendor

Oracle Tackles Data Center Cost and Complexity with Next-Generation Engineered Systems

Oracle Database News - Wed, 01/21/2015 - 23:32
Press Release Oracle Tackles Data Center Cost and Complexity with Next-Generation Engineered Systems New integrated appliances deliver greater business value by reducing IT costs

Redwood Shores, Calif.—Jan 21, 2015

At a live event today, Oracle Executive Chairman of the Board and CTO Larry Ellison outlined Oracle's strategy for reducing customer costs and increasing value with a new generation of engineered systems, including Oracle's new Virtual Compute Appliance X5, Oracle FS1 Series Flash Storage System, and sixth-generation Oracle Exadata Database Machine X5.

embedBrightcove('responsive', false, 'single', '4021326012001');

The Data Center of the Future—Low Cost and Engineered for Innovation

Oracle's integrated appliances are simple to use and ready for production deployment out of the box. Oracle experts integrate, optimize, automate, test, patch, and support the full software and hardware stack, significantly lowering customer costs. More than 10,000 units have shipped to date as Oracle customers across the globe adopt Oracle engineered systems and appliances to simplify their IT infrastructures, speed application deployments, and increase data center productivity.

"We're going to compete for that core data center business. Our appliances and engineered systems deliver the highest performance by a large margin at the lowest purchase price for the data center core. They get the job done faster, more securely and more reliably than any competitive offering available today," said Ellison. "Our customers want their data centers to be as simple and as automated as possible. With some of Oracle's engineered systems and appliances, you can pay 50 percent less, BUT you have to be willing to take TWICE the performance."

The new generation of integrated appliances include:

  • Oracle's Virtual Compute Appliance X5: Paired with the Oracle FS1 Series Flash Storage System, the Virtual Compute Appliance provides a complete, converged infrastructure system. Deployed in a matter of hours, this system can dramatically reduce cost, risk, installation, and management time, and give customers the ability to easily reduce infrastructure complexity by as much as 70 percent, deploy applications 7x faster, and cut capital expenditures by as much as 50 percent. Compared to Cisco plus EMC, Virtual Compute Appliance is 50 percent cheaper and easier to deploy.
  • Oracle Database Appliance X5: Ideal for distributed and branch office deployments, Oracle Database Appliance offers a complete package of compute, storage, and software that saves time and money by simplifying deployment, maintenance, and support of database and application workloads. Oracle Database Appliance X5 adds flash caching, integrated InfiniBand connectivity, increased compute cores, and increased storage to improve consolidation density by up to 4x.
  • Oracle Big Data Appliance X5: Delivers comprehensive and secure Hadoop and NoSQL capabilities to the enterprise at a 35 percent lower three-year total cost of ownership and with 30 percent faster deployment time than a custom-built cluster. For faster, lower-cost throughput, the new appliance comes with twice the RAM and 2.25x the processor cores. Also available on Oracle Big Data Appliance is the latest version of Oracle Big Data SQL, which extends Oracle SQL to Hadoop and NoSQL, enabling customers to use one fast SQL query across all their data, with no application changes.
  • Oracle's Zero Data Loss Recovery Appliance X5: Provides a groundbreaking Oracle Database-integrated data protection solution that eliminates data loss exposure for all Oracle databases, with minimal impact to production environments. Available today, this new version offers faster processors and up to 30 percent expanded capacity within a single rack, enabling faster recovery, higher throughput, and improved database backup consolidation.
Sixth-Generation Oracle Exadata Database Machine X5

The sixth-generation Oracle Exadata Database Machine is the highest-performing and lowest-cost platform for running Oracle Database. Oracle Exadata's architecture features scale-out database servers, scale-out intelligent storage servers, and high-speed InfiniBand networking. Oracle Exadata X5 includes:

  • Faster base performance: 50 percent faster processors, 50 percent larger maximum memory capacity, and faster and larger flash increase overall performance.
Download the Press Kit Download the Press Kit

Download images, documents, and more.

Data center zip
  • Extreme flash storage server: A newly introduced all-flash storage server uses ultra-fast PCIe flash drives, the latest Non-Volatile Memory Express flash protocol, and InfiniBand scale-out to achieve breakthrough performance and price per I/O. Oracle Exadata X5-2,Oracle SuperCluster T5-8 and Oracle SuperCluster M6-32 engineered systems can be configured with extreme flash storage servers.
  • Elastic configurations: Storage and compute can now be configured and expanded one server at a time to provide granular on-demand expansion at a lower cost. Elastic configurations allow customers to configure Oracle Database In-Memory optimized systems as well as all-flash OLTP systems.
  • Oracle VM support: Consolidated environments can achieve a high level of workload isolation using Oracle VM while taking advantage of ultra-fast InfiniBand networking. Virtual machine-based licensing reduces software costs.
  • New software features: Oracle Exadata X5 has many new software capabilities, including faster pure columnar flash caching, database snapshots, flash cache resource management, near-instant server death detection, I/O latency capping, and offload of JSON and XML analytics, as well as support for Oracle Linux 6.
  • Investment protection: Existing Oracle Exadata systems can be expanded with new X5-2 servers, and new software features are supported on previous generations of Oracle Exadata hardware.
  • Exabus Connectivity: Oracle Exadata X5-2 supports native Exabus connectivity to the updated Oracle Exalogic Elastic Cloud X5-2. Oracle Exalogic Elastic Cloud X5-2 delivers breakthrough performance and scalability for Java, Oracle Fusion Middleware and Oracle Applications and will provide customers the ability to run on premise the same Infrastructure as a Service and Platform as a Service capability offered in Oracle Cloud.
  Contact Info Teri Whitaker
Oracle
+1.650.506.9914
teri.whitaker@oracle.com Marcie Bradley
Oracle
+1.530.214.8068
marcie.bradley@oracle.com Additional Information

Join Oracle on LinkedIn and follow @Oracle on Twitter. To learn more about Oracle engineered systems, please follow @OracleHardware.

About Oracle

Oracle engineers hardware and software to work together in the cloud and in your data center. For more information about Oracle (NYSE:ORCL), visit http://www.oracle.com.

Trademarks

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Safe Harbor

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle's products remains at the sole discretion of Oracle Corporation. 

Get Started Oracle Engineered Systems Talk to a Press Contact

Teri Whitaker

  • +1.650.506.9914

Marcie Bradley

  • +1.530.214.8068

Follow Oracle Corporate

Categories: Database, Vendor

Oracle Tackles Data Center Cost and Complexity with Next-Generation Engineered Systems

Oracle Database News - Wed, 01/21/2015 - 23:00
Oracle Tackles Data Center Cost and Complexity with Next-Generation Engineered SystemsNew integrated appliances deliver greater business value by reducing IT costsRedwood Shores, Calif. – January 21, 2015

At a live event today, Oracle Executive Chairman of the Board and CTO Larry Ellison outlined Oracle’s strategy for reducing customer costs and increasing value with a new generation of engineered systems, including Oracle’s new Virtual Compute Appliance X5, Oracle FS1 Series Flash Storage System, and sixth-generation Oracle Exadata Database Machine X5.

Oracle’s integrated appliances are simple to use and ready for production deployment out of the box. Oracle experts integrate, optimize, automate, test, patch, and support the full software and hardware stack, significantly lowering customer costs. More than 10,000 units have shipped to date as Oracle customers across the globe adopt Oracle engineered systems and appliances to simplify their IT infrastructures, speed application deployments, and increase data center productivity.

“We’re going to compete for that core data center business. Our appliances and engineered systems deliver the highest performance by a large margin at the lowest purchase price for the data center core. They get the job done faster, more securely and more reliably than any competitive offering available today,” said Ellison. “Our customers want their data centers to be as simple and as automated as possible. With some of Oracle’s engineered systems and appliances, you can pay 50 percent less, BUT you have to be willing to take TWICE the performance.”

The new generation of integrated appliances include:

Oracle’s Virtual Compute Appliance X5: Paired with the Oracle FS1 Series Flash Storage System, the Virtual Compute Appliance provides a complete, converged infrastructure system. Deployed in a matter of hours, this system dramatically reduces cost, risk, installation,and management time, and gives customers the ability to easily reduce infrastructure complexity by as much as 70 percent, deploy applications 7x faster, and cut capital expenditures by as much as 50 percent. Compared to Cisco plus EMC, Virtual Compute Appliance is 50 percent cheaper and easier to deploy. Oracle Database Appliance X5: Ideal for distributed and branch office deployments, Oracle Database Appliance offers a complete package of compute, storage, and software that saves time and money by simplifying deployment, maintenance, and support of database and application workloads. Oracle Database Appliance X5 adds flash caching, integrated InfiniBand connectivity, increased compute cores, and increased storage to improve consolidation density by up to 4x. Oracle Big Data Appliance X5: Delivers comprehensive and secure Hadoop and NoSQL capabilities to the enterprise at a 35 percent lower three-year total cost of ownership and with 30 percent faster deployment time than a custom-built cluster. For faster, lower-cost throughput, the new appliance comes with twice the RAM and 2.25x the processor cores. Also available on Oracle Big Data Appliance is the latest version of Oracle Big Data SQL, which extends Oracle SQL to Hadoop and NoSQL, enabling customers to use one fast SQL query across all their data, with no application changes. Oracle’s Zero Data Loss Recovery Appliance X5: Provides a groundbreaking Oracle Database-integrated data protection solution that eliminates data loss exposure for all Oracle databases, with minimal impact to production environments. Available today, this new version offers faster processors and up to 30 percent expanded capacity within a single rack, enabling faster recovery, higher throughput, and improved database backup consolidation. Sixth-Generation Oracle Exadata Database Machine X5

The sixth-generation Oracle Exadata Database Machine is the highest-performing and lowest-cost platform for running Oracle Database. Oracle Exadata’s architecture features scale-out database servers, scale-out intelligent storage servers, and high-speed InfiniBand networking. Oracle Exadata X5 includes:

Faster base performance: 50 percent faster processors, 50 percent larger maximum memory capacity, and faster and larger flash increase overall performance. Extreme flash storage server: A newly introduced all-flash storage server uses ultra-fast PCIe flash drives, the latest Non-Volatile Memory Express flash protocol, and InfiniBand scale-out to achieve breakthrough performance and price per I/O. Oracle Exadata X5-2,Oracle SuperCluster T5-8 and Oracle SuperCluster M6-32 engineered systems can be configured with extreme flash storage servers. Elastic configurations: Storage and compute can now be configured and expanded one server at a time to provide granular on-demand expansion at a lower cost. Elastic configurations allow customers to configure Oracle Database In-Memory optimized systems as well as all-flash OLTP systems. Oracle VM support: Consolidated environments can achieve a high level of workload isolation using Oracle VM while taking advantage of ultra-fast InfiniBand networking. Virtual machine-based licensing reduces software costs. New software features: Oracle Exadata X5 has many new software capabilities, including faster pure columnar flash caching, database snapshots, flash cache resource management, near-instant server death detection, I/O latency capping, and offload of JSON and XML analytics, as well as support for Oracle Linux 6. Investment protection: Existing Oracle Exadata systems can be expanded with new X5-2 servers, and new software features are supported on previous generations of Oracle Exadata hardware. Exabus Connectivity: Oracle Exadata X5-2 supports native Exabus connectivity to the updated Oracle Exalogic Elastic Cloud X5-2. Oracle Exalogic Elastic Cloud X5-2 delivers breakthrough performance and scalability for Java, Oracle Fusion Middleware and Oracle Applications and will provide customers the ability to run on premise the same Infrastructure as a Service and Platform as a Service capability offered in Oracle Cloud. Additional Information Join Oracle on LinkedIn and follow @Oracle on Twitter. To learn more about Oracle engineered systems, please follow @OracleHardware.About Oracle

Oracle engineers hardware and software to work together in the cloud and in your data center.  For more information about Oracle (NYSE:ORCL), visit oracle.com.

TrademarksOracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.Contact Info

Marcie Bradley
Oracle
+1.530.214.8068
marcie.bradley@oracle.com

Teri Whitaker
Oracle
+1.650.506.9914
teri.whitaker@oracle.com

Categories: Database, Vendor

Oracle Unified Method 6.3 Released

Software Development Tools Directory - Tue, 01/20/2015 - 20:55
Oracle is evolving the Oracle® Unified Method (OUM) to realize the vision of supporting the entire Enterprise IT Lifecycle, including support for the successful implementation of every Oracle product. OUM replaces Legacy Methods, such as AIM ...
Categories: Vendor

Pivotal Stops Sponsorship of Groovy and Grails

Software Development Tools Directory - Tue, 01/20/2015 - 20:51
Pivotal has announced that it will fund the next two major releases of the Groovy and Grails through March 31st, 2015, after which it will no longer directly fund development on these open source projects. Since the acquisition of G2One by Spring ...
Categories: Vendor

Embarcadero Acquires Castalia and Usertility From TwoDesk Software

Software Development Tools Directory - Tue, 01/20/2015 - 20:45
Embarcadero Technologies announced that it has acquired Castalia for Delphi and Usertility from TwoDesk Software. Embarcadero will integrate the productivity features of Castalia into RAD Studio's integrated development environment (IDE) to e ...
Categories: Vendor

Simba Technologies Releases New ODBC 3.8 Connector for Cassandra

Software Development Tools Directory - Tue, 01/20/2015 - 20:37
Simba Technologies has announced version two of its industry-leading ODBC driver for the Apache Cassandra high-performance distributed database platform. This release breaks new ground in cross-platform connectivity: The Simba Technologies Apache ...
Categories: Vendor

WANdisco Announces New Contribution to Apache Hadoop

Software Development Tools Directory - Tue, 01/20/2015 - 20:35
WANdisco has announced that it had contributed code to the Apache Hadoop open source project that enables changes to the Hadoop Distributed File System (HDFS) to be undone automatically when a transaction is aborted. This new feature, referred to ...
Categories: Vendor

Neo Technology Receives $20 Million in New Funding

Software Development Tools Directory - Tue, 01/20/2015 - 20:31
Neo Technology, creator of Neo4j, the world's leading graph database, today announced the closing of $20 million in Series C funding, led by Creandum with Dawn Capital. Current investors Fidelity Growth Partners Europe, Sunstone Capital and C ...
Categories: Vendor

Ranorex 5.2.2 Released

Ranorex.com: Latest News - Tue, 01/20/2015 - 10:00
We are proud to announce that Ranorex 5.2.2 has been released and is now available for download. General changes/Features
  • Added support for Firefox 35
Please check out the release notes for more details about the changes in this release.

Download latest Ranorex version here.
(You can find a direct download link for the latest Ranorex version on the Ranorex Studio start page.) 

Categories: Vendor

KronoDesk v1.1.0.12 Now Available

Inflectra News - Tue, 01/20/2015 - 01:00
We are pleased to announce the latest updates to our KronoDesk help desk system. This update is available for our on-premise customers to download and will be applied to our hosted customers automatically.
Categories: Vendor

.NET Developers Making Great Products

It is the beginning of 2015 and we are all busy making resolutions on how to improve into the new year. We thought it was a great time to look at two .NET developers who are continually resolving to make better products.

Jorge Serrano

ncover_mvp_jorge_serrano_twitterCurrently, Jorge Serrano is a MVP Visual Basic Developer. He has a computer engineering academic background, with very strong experience in telecommunications working in different departments as carrier business, network department, interconnection, software development, etc.

Jorge also has worked across all areas of a project (requirements, design, architecture, testing, deploy) and has worked  in different roles (programmer, analyst, designer, tester, project management, etc). Throughout his career, he has written numerous technical and opinion articles in digital and print, digital books, and participated in various conferences and talks about Microsoft products and technologies.

Not content with just bits and bytes, some of his hobbies outside of computers and technology are nature, philosophy, astronomy, mathematics, history, archeology, paleontology, painting, music, sports and science in general. You can keep up with him on his blog or on twitter @J0rgeSerran0.

Eduard Tomás i Avellana

ncover_mvp_eduard_tomas_twitterEduard Tomás i Avellana also has more than 10 years working in the IT industry as a teacher, developer, and architect. He has worked primarily with Microsoft technologies and also with Java environments. He has been a Microsoft MVP in ASP.NET/IIS since 2012. You can often find him speaking about .NET on webinars, at user groups and conferences.

He has worked with C++, .NET (C#, ASP.NET MVC, winforms, wpf, silverlight, surface) and java/j2ee technologies, with databases SQL Server and Oracle. He specializes in software architecture, analysis, design, and development primarily with .NET for Windows Operating Systems.

What he loves most out of his job is that everyday he can learn new things. Keep up with him and what he is learning on his blog or follow him on twitter @eiximenis

The post .NET Developers Making Great Products appeared first on NCover.

Categories: Vendor

Morris Medical Monday: Work Item Type “Tool”

Polarion Software - Mon, 01/19/2015 - 11:00
Polarion Consultant Daniel Morris explains the "Tool" type Work Item in Polarion's MedPack solution for medical device developers, part of an ongoing series.
Categories: Vendor

SQLeo

Software Development Tools Directory - Mon, 01/19/2015 - 08:23
SQLeo is a professional lightweight SQL Query tool that permits to create or display complex sql queries (generated by OBIEE, Microstrategy, Cognos, Hyperion, Pentaho, Analytics, BrioQuery ...) and permits to reverse engineer database models as d ...
Categories: Vendor

ParaTest

Software Development Tools Directory - Mon, 01/19/2015 - 08:13
The objective of ParaTest is to support parallel testing in a variety of PHP testing tools. Currently only PHPUnit is supported.
Categories: Vendor

Oracle Names Leon Panetta to the Board of Directors

Oracle Database News - Mon, 01/19/2015 - 07:00
Oracle Names Leon Panetta to the Board of DirectorsREDWOOD SHORES, Calif. – January 19, 2015

The Oracle Board of Directors today announced that it has unanimously elected the Honorable Leon Panetta, former U.S. Secretary of Defense and former Director of the Central Intelligence Agency, to the company’s Board of Directors. The election is effective as of January 19, 2015 and increases the size of the Board to 12 directors.


“We are honored to welcome Secretary Panetta to our Board,” said Larry Ellison, Chairman of the Board of Directors and Chief Technology Officer. Dr. Michael Boskin, independent Chair of the Nomination and Governance Committee, added, “Secretary Panetta is a dynamic leader with a distinguished record of public service at the highest levels of government. He will add deep expertise and brings a fresh perspective to our Board.”

Secretary Panetta served in the Obama Administration as U.S. Secretary of Defense from 2011 to 2013 and as Director of the Central Intelligence Agency from 2009 to 2011.  Previously, he was White House Chief of Staff and Director of the Office of Management and Budget under President Bill Clinton.  From 1977 to 1993, Secretary Panetta was a member of the U.S. House of Representatives representing California’s 16th district, which included Monterey, San Benito, and parts of San Luis Obispo and Santa Cruz.

 

Secretary Panetta and his wife Sylvia founded and currently co-direct the Panetta Institute for Public Policy, located at California State University, Monterey Bay.  He has served as a Distinguished Scholar to the Chancellor of the CSU system, and as a member of the Board of Trustees and a Presidential Professor at Santa Clara University. He recently authored a best-selling memoir, Worthy Fights.

All members of Oracle’s Board of Directors serve one-year terms and are expected to stand for election at the company’s next annual shareholders meeting in November, 2015.


About Oracle

Oracle engineers hardware and software to work together in the cloud and in your data center. For more information about Oracle (NYSE: ORCL), visit www.oracle.com or contact Investor Relations at investor_us@oracle.com or (650) 506-4073.

TrademarksOracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.“Safe Harbor" Statement

Statements in this press release relating to Oracle’s future plans, expectations, beliefs, intentions and prospects, are “forward-looking statements” and are subject to material risks and uncertainties. Many factors could affect our current expectations and our actual results, and could cause actual results to differ materially. We presently consider the following to be among the important factors that could cause actual results to differ materially from expectations: (1) Economic, geopolitical and market conditions, including the continued slow economic recovery in the U.S. and other parts of the world, can adversely affect our business, results of operations and financial condition, including our revenue growth and profitability, which in turn could adversely affect our stock price. (2) We may fail to achieve our financial forecasts due to such factors as delays or size reductions in transactions, fewer large transactions in a particular quarter, unanticipated fluctuations in currency exchange rates, delays in delivery of new products or releases or a decline in our renewal rates for support contracts. (3) Our cloud computing strategy, including our Oracle Cloud Software-as-a-Service, Platform-as-a-Service, Infrastructure-as-a-Service and our new Database as a Service offerings, may not be successful. (4) We have an active acquisition program and our acquisitions may not be successful, may involve unanticipated costs or other integration issues or may disrupt our existing operations. (5) Our international sales and operations subject us to additional risks that can adversely affect our operating results, including risks relating to foreign currency gains and losses. (6) If the security measures for our software, hardware, services or Oracle Cloud offerings are compromised or if such offerings contain significant coding, manufacturing or configuration errors, we may experience reputational harm, legal claims and financial exposure. (7) If we are unable to develop new or sufficiently differentiated products and services, or to enhance and improve our products and support services in a timely manner or to position and/or price our products and services to meet market demand, customers may not buy new software licenses, cloud software subscriptions or hardware systems products or purchase or renew support contracts. A detailed discussion of these factors and other risks that affect our business is contained in our SEC filings, including our most recent reports on Form 10-K and Form 10-Q, particularly under the heading “Risk Factors.” Copies of these filings are available online from the SEC or by contacting Oracle Corporation’s Investor Relations Department at (650) 506-4073 or by clicking on SEC Filings on Oracle’s Investor Relations website at http://www.oracle.com/investor. All information set forth in this press release is current as of January 19, 2015. Oracle undertakes no duty to update any statement in light of new information or future events.

Contact Info

Ken Bond
Oracle Investor Relations
+1.650.607.0349
ken.bond@oracle.com

Deborah Hellinger
Oracle Corporate Communications
+1.212.508.7935
deborah.hellinger@oracle.com

Categories: Database, Vendor

NCover Pre-Instrumentation

Introducing NCover Pre-Instrumentation

ncover_pre_instrumentationVersion 5 of NCover introduces a pre-instrumentation option for collecting coverage data. Pre-instrumentation is a well-established paradigm used by many types of profilers and involves the insertion of coverage collection code into the assemblies of an application on-disk rather, than dynamically in-memory. Prior to version 5, NCover has always performed dynamic in-memory instrumentation. Now, NCover pre-instrumentation provides the ability to use the on-disk option.

In this blog post, we will provide an brief overview of NCover’s newest approach to collecting coverage and an introduction to the situations where you may benefit from NCover pre-instrumentation. Future blog posts will provide a more thorough and detailed approach of ways in which you can deploy NCover pre-instrumentation.  If you are ready to start today, please contact us and we would be happy to help your team get started with pre-instrumentation.

NCover Live Profiling & The .NET Profiling API

All previous versions of NCover, including the default configuration of version 5 of NCover, have relied upon the .NET profiling API. This API provides a window into the assembly loading, JIT-ing, and execution process. Historically, prior to version 4, NCover required command line invocation of the profiler. Beginning with Version 4, NCover introduced the automatic detection of applications which are to be profiled based on predefined match rules. Both of these methodologies leverage the same profiling API provided by .NET and are subject to the rules of engagement the API provides. In-memory instrumentation is especially convenient for capturing code coverage on strong-named assemblies without re-signing those assemblies. The .NET framework supports emitting code in memory, making this approach more accessible than re-writing the assembly to disk.

Special Situations

Using the API to profile an application is not always possible or practical. Certain scenarios encountered by today’s .NET teams present new obstacles to profiling and data collection. Newer flavors of .NET apps for Azure, Windows Phone, and Windows Store are becoming more mainstream. Their default CLR environment is quite different from traditional .NET architecture. All require specialized SDKs and run in a more limited context on development and testing machines. In fact, many scenarios introduce complete sandboxing of applications.  Sandboxing by definition is an obstacle to third party communication by design and becomes a near show stopper for remote profiler data collection.

Additional scenarios which are less than ideal for collecting coverage via the profiling API include object mocking frameworks, common to complex object model testing and the use of a variety of other profilers that are contending for the same CLR profiling interface. While modern versions of the .NET CLR allow us to chain profilers, profiler vendors must pay special attention and create a well thought-out and well-executed integration for chaining to function.

Process Optimization

Another reason to consider NCover pre-instrumentation relates to process optimization. Any time you attach a dynamic profiler to a process via the .NET profiling API, it is going to add overhead to the total process.  Quite simply, you are requiring more work to be done.  All profilers receive the same messages from the API regarding module, type loading and method JITing.  Depending on what the profiler does with the messages received in turn determines just how noticeable that increase in time becomes. If this profiling overhead is not acceptable in your current process or environment, the pre-instrumented methodology for coverage collection may be attractive.

How Pre-Instrumentation Works

Pre-instrumenting an assembly is as simple as executing the following command:

c:> ncover instrument myassembly.dll

or

c:> ncover instrument myassembly.dll myapp.exe myassembly2.dll

or

c:> ncover instrument *.dll *.exe

While it is worth noting that wildcards are available for this command, it is important to be judicious about instrumentation. Avoid instrumenting third party libraries and system assemblies. There is very limited value in collecting coverage on code you can’t change. Who really wants to keep that data around anyway? So, as an important reminder, always instrument only what is actionable. Selective pre-instrumentation becomes a form of pre-coverage filtering.

Pre-instrumentation is valid for both a single assembly in a solution or multiple assemblies, on a simultaneous basis, within a solution.  Through this approach, selective pre-instrumentation becomes an additional coverage filter allowing you to instrument only the assemblies for which coverage collection is needed. It is not necessary to pre-instrument an .exe file in order to collect coverage on a specific .dll file. Instrument only the .dll file and execute testing on the application as usual.

The execution of a pre-instrumented assembly collects coverage counters into a mapped file on disk while the application testing is underway. When the process exits, the binary coverage file remains on disk and can be imported via NCover Desktop, Code Central or Collector. These files carry the .ncprof extension and are raw coverage data. By making this file a raw binary counter file, the file remains valid for import even if your application crashes before you complete testing.

The coverage file follows a naming convention that includes the process name and a timestamp.  All pre-instrumented assemblies in the same process store their coverage counters in the same data file. This is similar to the same behavior of in-memory profiling, which places all of the coverage data in a single execution. Each .ncprof file represents a single execution of an pre-instrumented application.

Importing a coverage file is accomplished simply with the following command:

c:> ncover import --project=Project1 --file=MyAppName-[timestamp].ncprof

or

c:> ncover import --project=”My Coverage Project” --file=*.ncprof
When To Use NCover Pre-Instrumentation

Covering a Windows Store app is the most common scenario for using pre-instrumentation with NCover.  Pre-instrumentation is a good workaround anytime you encounter a conflict created by using multiple profilers concurrently. You may also consider using NCover pre-instrumentation when you are collecting coverage on machines with limited resources. By eliminating all messaging, which is the normal overhead of profiling in .NET, and by eliminating threads used for process monitoring during live profiling, you may experience a noticeable improvement in the performance of an application or test suite during coverage collection.

The post NCover Pre-Instrumentation appeared first on NCover.

Categories: Vendor